linux - find查找文件/grep搜索文件内容

1.grep列出主目录下所有内容含有sku的文件

grep 'sku' -r /

2.find查找文件合集

find /etc/ -name passwd #查找/etc/下名称中带有passwd的文件

find /etc -maxdepth 1 -name passwd #查找/etc/下名称中带有passwd的文件,查找一层。

find /etc -name *.conf #查找/etc/下名称中带有*.conf的文件

find /etc -maxdepth 2 -name *.conf #查找/etc/下名称中带有*.conf的文件,且查找两层,包括一层

find /etc -maxdepth 2 -mindepth 2 -name *.conf #查找/etc/下名称中带有*.conf的文件,且只查找第二层

find /mnt -group tony #查找/mnt中所有组是tony用户的文件

find /mnt -user student -group student #查找/mnt中所有人和所有组都是student的文件

find /mnt -not -user student #查找/mnt中所有人不是student用户的文件

find /mnt -not -user student -o -group tony #查找/mnt中所有人不是student用户或者所有组是tony用户的文件

find /mnt -size 20K #查找/mnt文件大小近似20k的文件

find /mnt -size +20K #查找/mnt文件大小大于20k的文件

find /mnt -size -20K #查找/mnt文件大小小于20k的文件

find /mnt -type d #按type查找/mnt中目录

find /mnt -type f #按type查找/mnt中文件

find /mnt -cmin 10 #查找/mnt中十分钟左右修改的

find /mnt -cmin +10 #查找/mnt中十分钟以上修改的

find /mnt -cmin -10 #查找/mnt中十分钟以内修改的

find /mnt -ctime 10 #查找/mnt中十天左右修改的

find /mnt -ctime +10 #查找/mnt中十天以上修改的

find /mnt -ctime -10 #查找/mnt中十天以内修改的

find /mnt/ -perm 444 #查找/mnt文件权限为444的文件

find /mnt/ -perm -444 #查找/mnt中user有读的权限且group有读的权限且other有读的权限的文件。

find /mnt/ -perm -004 #查找/mnt中other有读权限的文件

find /mnt/ -perm -644 #查找/mnt中user有读写的权限且group至少有读权限且other有读的权限的文件

3.find按名字查找并搜索文件内容

find / -type f -name "*.log" | xargs grep "ERROR"

find ./ -name '*sql' | xargs grep sku

find . | xargs grep "custom"

4.find查找大于5000K的文件

find ./ -size +5000k -exec ls -ld {} \;

5.find查找小于5000K的csv文件

find ./*.csv -size -300k -exec ls -ld {} \;

6.find查找小于100K的csv文件并删除

find ./*.csv -size -300k -exec rm {} \;

7.find统计查找到的文件数量

find . -name "*.csv" | wc -l

8.find查找到指定权限的文件

find  ./ -user  lisq -exec chmod 775 {} \; (分号不可少)

9.find查找出一天前的文件并删除

find ./ -mtime +1 -name "*.html" -exec rm -rf {} \;

-mtime:标准语句写法

+10:查找10天前的文件,这里用数字代表天数,+30表示查找30天前的文件

-exec:固定写法

rm -rf:强制删除文件,包括目录

{} \; :固定写法,一对大括号+空格+/+;

10.find查找出文件并移走

find . -name '10-*.dat' -exec mv {} ../ \;

-exec mv {} /mnt/mp3 \; - 运行mv命令。

{} - 字符 '{}' 代表find到的所有内容。

../表示当前用户目录的上一级目录

\; - 结束 /bin/mv 命令。

11.mv移走文件夹中指定数量的文件

mv `ls | head -50000` ../html_2/

猜你喜欢

转载自blog.csdn.net/helunqu2017/article/details/113823043