find命令
例子:
find /root/ -type f -name “.txt" -exec ls -l {} ; #{} \之间必须要有空格 否则报错
find /root/ -type f -name ".txt” |xargs ls –l
find /etc/ -maxdepth 1 -type d
-maxdepth 1 查找深度1
-perm 4755 查找权限符合的
-type d 目录
-type f 文件
-inum inode号
-size 文件大小
-mtime +n n天前但不包括n 修改时间
-mtime –n n天内但不包括n修改时间
-mtime n 第n天修改时间
例:find查找文件后移动文件
find /test -type f -name "*.jpg" -exec mv {} /tmp \;
mv `find /test -type f -name "*.jpg"` /tmp
find查找后删除文件
find /test -type f -name “.jpg" -exec rm -f {} ;
find /test -type f -name ".jpg”|xargs rm
find /test -type f -name “*.jpg” -delete
xargs命令
从标准输入(管道,输入重定向)获取数据。并将数据转化成命令行的参数
常用作结合find命令|后给命令
本身命令常用,排列显示
xargs -n
排列显示每行显示1个,-n 选项后面接数字 表示每行显示几个元素
例
echo stu{1…20} |xargs -n 1 > stu.txt
-i 把前面命令执行的结果保存在{}中 同 -exec {} 意思一样
例:find /var/log/ -type f -name “.log"|xargs -i cp {} /tmp #不加-i cp命令无法捕获前一个命令的输出
find /var/log/ -type f -name ".log”|xargs cp -t /tmp
find /var/log/ -type f -name “*.log” -exec cp {} /tmp ;