一、拓展知识
正则表达式
- 字符串匹配:“.”:任意一个字符
“[]”:标记一个中括号表达式的开始。 - 次数匹配:“*”:匹配前面的子表达式零次或多次。
“?”:匹配前面的子表达式零次或一次。
“{m}”m到无穷次
“{m\n}”:m到n次 - 位置锚定:“^”:匹配输入字符串开始的位置。
“$”: 匹配输入字符串结尾的位置
“\b”: 匹配一个单词边界,即字与空格间的位置。
“\B”: 非单词边界匹配。 - 分组:(ab):ab分为一组
二、文件相关的命令
一、创建和删除操作
- top:查看进程
- find [范围] :-d 查找目录文件
-name a* 查找以a开头名字的文件
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为’command’ { } ;
-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
二、拷贝和移动文件 - cp -a 携带所有文件属性一起复制
- mv:1.移动文件 2.修改文件名称
三、查找文件内容 - cat 一次性查看文件中所有内容
- more 和man命令是一样的
“/”:向后查找
“?”向前查找
“q”退出man - less:在更多的情况下,查看大文件时使用
- Tail:默认查看倒数十行
-n://tain -n 20 查看20行简化“-20”
-f:实时查看文件内容,不退出文件。
Head:查看行首
head -n 20 查看文件的前20行
四、其他 - echo:打印,默认打印一个值
-n:默认不打印回车 - 重定向“>”“>>”
fd:文件标识符
0:标准输入
1:标准输出
2:错误输出
【程序=指令+数据】
规定:
默认标准输入为键盘,标准输出为显示器,而重定向就是用来改变输入和输出的。 - 输出重定向
“>”:覆盖重定向,默认工作中不能使用set-c去掉这个功能,同时>|可进行强制重定向(set+c开启覆盖定向功能)
在Linux中,命令输出除了默认输出结果以外,还返回一个命令执行状态的结果;返回0代表命令执行成功,而返回非0则是失败;$? 存储上一条命名的执行状态结果;
在工作中,我们往往不需要命令输出的结果,而只需要命令执行的状态,我们就会使用 重定向 将输出结果重定向至 空文件(/dev/null)
“>>”:追加重定向 在原有的文件上,在添加追加的数据即可; - 输入重定向:
“<” 把后面的文件,交给前面的命令来执行;tr 命令,将前面的内容替换为后面的内容
“<<” 将多行内容同时输入,用在 cat 命令中,cat >>文件<<EOF - 错误输出重定向
2> 需要带上 fd(文件标识符)
2>> 追加的错误重定向输出
扩展优化:
&> /dev/null 无论命令执行正确与否,都将输出内容指定到/dev/null
&>> [普通文件] - 管道
emsp; command 1 | comand 2 | command 3 | command 4 | …将前面的命令的执行结果,输出给后面一条命名执行;
【Linux思想:结合小功能,完成复杂功能】
tail -7 /etc/fstab | cut -d’ ’ -f1
cut 切
-d 指定分隔符‘ ’
-f 取的列 1-3 1,3 1
三、Linux远程
- 查看或配置网卡信息
网卡和IP地址 ifconfig ,没有该命令,我们需要安装网络包工具(net-tools)即apt install net-tools
如果,网卡没有起来,我们需要修改默认的网卡配置文件;/etc/network/interfaces vim /etc/network/interfaces
1、动态 - dhcp
auto eth0
iface eth0 inet dhcp
【修改配置文件,就需要重启服务】
/etc/init.d/networking restart
2、静态 - 手动去配置
address 192.168.94.10
netmask 255.255.255.0
gateway 192.168.94.1
二、远程管理机制
Ssh 开启Ubuntu的ssh端口的监听功能; tcp-22
netstat -tnl // t – tcp协议 n – 不做解析
如果没有:apt install openssh-server -y
/etc/init.d/ssh start
【Ubuntu默认只能使用普通用户进行远程连接】
ssh teacher@192.168.94.10
centos下,直接使用root用户远程登录即可;
ssh root@192.168.94.10
如图所示,我的电脑的IP是127.0.0.1
在Xshell中进行远程连接
三、无密码远程登陆
ssh有两种认证方式:密码认证;证书认证。
无密码登录如下图:
步骤如下:
生成密钥对:ssh-key.gen -t rsa//其他默认
将公钥传输给服务端 ssh-copy-id -i teacher @192.168.94.10
开始进行无密码登录即可,没有提示密码输入,直接登录即可。exit推出远程系统。
应用:在客户端执行服务端命令。