find
找文件找路径
find /home/ -name "text.txt"
find /home/test/ -name "*.txt"
find / -name "*.txt" |more #加管道符
find /home/ -name "text.txt" -type f # 找文件
find /home/ -name "text.txt" -type d # 找路径
find /home/ -name "*.txt" -type d -mtime +30 #modify time 找30天以前的,-1 就是一天以内的
find /home/ -name "*.txt" -type d -mtime +30 -size +1k # 大于1k的
find /home/ -name "*.txt" -type f -mtime -1 -size +5M -perm 755 # 权限 perm
find . -type f -exec chmod -R 644 {} \; # 修改当前目录下所有文件的权限
加管道符带参数
# |xargs 的意思是将find的结果填充后面rm命令{}的 支持的命令少
# \; 固定格式。暂时不知道什么意思
find . -name "*.txt" -type d -mtime -1 |xargs rm -rf {} \;
# 注意这里用|xargs 不行 支持的命令多,建议用这个 cp mv chmod chown
find . -name "*.txt" -type d -mtime -1 -exec cp -r {} /tmp/ \;
grep
find 是找文件名 grep 是找文件里面的内容
grep -n --color "root" /etc/passwd # 在passwd文件中找到root并高亮,-n 表示显示行号,
过滤空行和注释 正则 --color可以看匹配到什么
grep -v "#" /usr/local/nginx/conf/nginx.conf|grep -v "^$" #^表示头,$表示结尾
#grep -E = egrep 扩展
egrep --color "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" test.txt # 匹配IP
awk
打印一个文件的某一列,列与列之间空格分开
awk '{print $1}' test.txt #打印第一列
awk '{print $(NF-1)}' test.txt #打印倒数第二列,NF表示最后一列
awk -F: '{print $1":"$NF}' /etc/passwd|head -5 # -F: format 根据:
#找ip地址
ifconfig|grep "inet"|grep -v "127.0.0.1"|awk {'print $2'}|egrep "([0-9]{1,3}\.){3}[0-9]{1,3}$"|awk -F. '{print $1"-"$2"-"$3"-"$4}'
# 改主机名 注意是反引号
hostname `ifconfig|grep "inet"|grep -v "127.0.0.1"|awk {'print $2'}|egrep "([0-9]{1,3}\.){3}[0-9]{1,3}$"|awk -F. '{print $1"-"$2"-"$3"-"$4}'`
sed
利用sed命令来处理文本文件、
网友评论