find:查找文件
find /path/ -name "filename" 在path路径及其子目录内查找filename
find /path/ -name "filename" -type f 查找类型过滤:f-文件,d-目录
find /path/ -name "filename" -mtime -1 查找过滤一天以内的文件, “-”为以内,“+”为以前
find /path/ -name "filename" -mtime -1 | xargs rm -rf {} \; xargs与管道“|”一起用,用于承接,将管道前面的语句放入 { } 中,进行删除, {} \; 为find命令结束语句。
find /path/ -name "filename" -type f -mtime +30 -size +10k 查找过滤大于10k的文件, k(kb) 必须小写, M(Mb) 必须大写
find /path/ -name "filename" -type f -mtime +30 -size +10k -perm 755 查找过滤权限为755的文件
查找文件,并将文件统一修改权限为644:
find . -type f -exec chmod -R 644 {} \; R为可继承,子目录文件也会被修改
查找目录,并将目录统一修改权限为755:
find . -type d -exec chmod -R 755 {} \;
查找文件,文件名为 .log 格式,时间在30天之前的文件,并进行删除:
find . -type -f -name "*.log" -mtime +30 -exec rm -rf {} \; -exec与 | xargs 作用相同。
grep:查找文件内容
grep "root" filename 查找passwd文件内的root
grep --color "root" filename 给关键字上色
grep -n --color "^root" filename -n:显示行号。查找以root开头的文件内容
grep -n --color "root$" filename 查找以root结尾的文件内容
grep -v "#" filename -v:取反。查找不含#的文件内容
grep -v "#" filename | grep -v "^$" 筛出文件内的空行:以空行开头,以空行结尾
grep "[0-9]" filename 匹配文件内容含0~9数字的内容
grep --color "[0-9][0-9]" filename 匹配文件内连续两个数字,并标记
grep --color "[0-9]{1,3\}" filename 匹配1~3次。格式:{num1,num2\}
当需要匹配IP地址时,注意“.” 在shell中需要加 “\” 转义:
grep --color "[0-9]{1,3\}\." filename 匹配诸如 192.168.0.1 一类的文本。
egrep的使用:
egrep --color "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" filename 这样就可以匹配IP地址了。注意最后是以数字结尾。
简化版:
egrep --color "([0-9]{1,3}\.){3}[0-9]{1,3}$" filename
awk:
awk '{print NF}' filename 打印最后一列
awk -F: '{print $1}' filename -F格式化,将 “:”筛除
“”:双引号在awk中表示添加文本,在{print}中可以随意添加。
``:反引号,在反引号中的可以当做命令。
可用于企业更改主机名,自动匹配:hostname `xxxxxxxxxxxxxxxxxxx`
sed:
sed 's/xxxxxxxxxxxxxxxx' filename 替换文件中的文本