命令功能可以组合使用
文件的时间
stat 文件路径 查看文件
访问时间:atime,查看内容,用cat检测
修改时间:mtime,修改内容
改变时间:ctime,修改内容,修改权限等属性,凡是有改动都会变
vim编辑器命令行模式补充
批量加注释:
Ctrl+v进入可视块,上下选中要改的列,shift+i进入编写模式,加#,按两下esc退出可视块,要改的行就批量加注释了。
vim编辑器末行模式命令
shift+冒号进入
% s/^egon/EGON/g
% 所有行
^ 表示以什么开头的行
% s/egon/新内容/g 如果要替换的新内容不写,删除egon
% s/要替换的内容/新内容/g (%号表示所有行。g管的是某一行的所有的要替换的内容,不加g的话只替换某一行第一个要替换的内容。)
格式:
范围 s/要替换的内容/新内容/g
$ 末尾
sed命令
流式编辑器,主要擅长对文件的编辑操作,我们可以事先定制好编辑文件的指令,然后让sed自动完成对文件的整体编辑
sed命令默认自带输出信息。
默认改完的结果输出,原文本不变
‘选项‘加i,把改完的结果覆盖原文件,不输出。
定位可以是条件,x>3 x<5 x=4
用法:
sed 选项 ‘定位某些行+命令‘ 文件路径 (如果不写定位,默认所有行。只对规定的行执行命令处理)
选项:
sed -r ‘2p‘ 1.txt (sed默认自带输出信息)
‘定位行+命令‘
p:打印 (sed默认自带输出信息,所以打印的行会输出显示两行)
d:删除 ‘3,$d‘ (删除3~最后一行) ‘3d;5d‘(删除第3行,第5行)
定位行后的命令:
-n: 取消默认输出
-r:支持扩展
-i:把改完的结果覆盖原文件,不输出
命令可以用;号连接多多条,如1d;3d;5d代表删除1,3,5行
-c:改变/替换整行 ‘1c xxxx‘ (第一行替换成xxxx)
s(s///g): ‘1s s/啊/哦/g‘ (把第一行的‘啊‘改成‘哦‘)
正则定位:
定位行可以写成条件,//内写条件
‘/^xx/d‘ 删除以xx开头的行
‘/xx$/d‘ 删除以xx结尾的行
‘/xx/d‘ 删除包含xx的行
‘/^x/‘{print $2} 打印x开头的第二列
sed -r ‘/1/s/1/2/g‘ 包含egon的行,将1改成2
awk命令
awk主要用于处理有格式的文本,例如/etc/passwd这种
awk -F: ‘NR>=1 && NR<=3{print NR,$1,$3}‘ 文件路径
-F: -F后面写行的分隔符,这次举例的行分隔符是冒号
&&类似于python中的and,表示条件同时满足
打印第一列和第三列
NR代表输出时添加行号,$1代表第一列
$1===》$3 中间的===》可以是任何形式,在两个内容之间插入符号
|| 表示或者
&& 表示and 条件同时满足的意思
{print NR,$1,$3,NF}中的NR表示显示打印列,内容在原文本的行号(哪一行)。NF表示所在行被分成多少列(NF搭配$,$NF意思是最后一列),$(NF-1)表示表示倒数第二列
grep命令
grep擅长过滤/查找内容
grep ‘^root‘ /etc/passwd (过滤该文件内以root开头的内容)
grep ‘root‘ /etc/passwd (过滤该文件内包含root的内容)
grep -rl ‘root‘ /etc/ (打印出etc文件夹下包含root的文件夹)
选项
-n 行号
-i 忽略大小写
-rl 递归着找,找到底
-rl可用于查找某个大文件下的文件/文件夹/信息内容。
ps aux 查看当前系统所有运行进程
ps aux | grep bash 组合使用,在所有进程中找到包含bash的进程
kill -9 进程PID
-9 强制