常用 shell 命令:
0a、ls命令:查找文件。
# ls /etc/
0b、grep命令:筛选结果。
# ls /etc/ | grep "passwd"
0c、awk命令:按列筛选。
# ls -l /etc/ | awk '{print $8}'
0d、sort命令:按列排序。
# ls -l /var/log/messages* | sort -nr -k 5
0e、wc命令:统计行数。
# ls -l /etc/ | awk '{print $8}' | wc -l
0f、find命令:查找文件。
# find /etc/ # find "/etc/" -name "passwd" -print # find "/etc/" -name "passwd" -type f -exec ls -l {} ; # find "/var/log/" -name "messages*" -exec ls -l {} ; | sort -nr -k 5
0g、sed命令:替换文本。
# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
shell 命令组和:
01、统计"/" 目录下的文件夹大小,按逆序排序
# du -sm /* --exclude="data" --exclude="proc" | sort -nr
--exclude="data" : 排除某个目录
sort -nr : 结果按逆序排序
02、查找当前目录中,包含 “202001”的文件:
# find "./" -name "*-202001*" -type f -exec ls {} ;
03、删除当前目录中,包含 “202001”的文件:
# find "./" -name "*-202001*" -type f -exec rm {} ;
-type f 仅包含文件
-type d 仅包含目录
-exec ls {} ; 执行显示文件命令
-type f -exec rm {} ; 执行删除文件命令
04、查找 /etc 目录中,以字母 s 开头,修改时间小于1天的文件:
# find "/etc/" -name "s*" -type f -mtime -1 -exec ls {} ;
05、按照文件 INODE 值去操作文件(适用于文件名比较奇怪的):
# ls -li /var/log/messages-20210524 286693 -rw-------. 1 root root 318026 May 24 03:50 messages-20210524 # find "/var/log/" -inum "286693" -exec ls {} ; ./messages-20210524 # find "/var/log/" -inum "286693" -exec rm -i {} ; rm: remove regular file ‘./messages-20210524’? y
06、查找当前目录中所有文件,包含数值10051的所有行。
# find "." -name "*" -type f | xargs grep -n "10051"
[ TO BE CONTINUE ]