linux经典命令学习
本文介绍Linux系统的若干经典命令的常用方法。
(一)grep
主要用于搜索文件内容,查看是否跟要求的pattern相匹配。
1、grep -l 'boss' * 显示所有包含boss的文件名。
2、grep -n 'boss' file 在匹配行之前加行号。
3、grep -i 'boss' file 显示匹配行,boss不区分大小写。
4、grep -v 'boss' file 显示所有不匹配行。
5、grep -q 'boss' file 找到匹配行而不显示,但可以检查grep的退出状态。(0为匹配成功)
6、grep -c 'boss' file 只显示匹配行数(包括0)。
7、grep "$boss" file 扩展变量boss的值再执行命令。
8、ps -ef|grep "^*user1" 搜索user1的命令,即使它前面有零个或多个空格。
9、ps -e|grep -E 'grant_server|commsvr|tcpsvr|dainfo' 查找多个字符串的匹配(grep -E相当于egrep)
10、 ps -r -l "boss" * 递归遍历当前目录下的所有子目录,找到含有boss的文件,并且并且打印出文件名。
当然grep还可以配合正则表达式进行更多更强大的搜索,这里不再赘述。
(二)find
主要依据文件属性来搜索,查看是否匹配要求的pattern,并且能够针对找打的文件执行指定的命令。
$find /home -mtime -2 在/home下查最近两天内改动过的文件
$find /home -mtime +2 在/home下查最近两天前改动过的文件
$find /home -mmin +60 在/home下查60分钟前改动过的文件
$find /home -amin +30 查最近30分钟前被存取过的文件
$find /home -mmin +60 在/home下查60分钟前改动过的文件
$find /home -amin +30 查最近30分钟前被存取过的文件
$find /home -uid +501 列出/home目录内用户的识别码大于501的文件或目录
$find /home -nouser 列出/home内不属于本地用户的文件或目录
$find /home -nogroup 列出/home内不属于本地组的文件或目录
$find /home -name tmp.txt -maxdepth 4 列出/home内的tmp.txt 时深度最多为3层
$find /home -name tmp.txt -mindepth 3 从第2层开始查
$find /home -empty 查找大小为0的文件或空目录
$find / -name access_log 按照文件名查找
$find / -size 1500c 查找大小为1500字节的文件
$find / -empty 空白文件、空白文件夹、没有子目录的文件夹
$find / -gid n 组id为n的文件
$find / -group gname 组名为gname的文件
$find / -depth n 在某层指定目录中优先查找文件内容
$find / -maxdepth levels 在某个层次目录中按递减方式查找