SHELL 命令点滴

常用 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 ]

原文地址:https://www.cnblogs.com/configure/p/14759100.html