浅析Linux命令之find

版权声明:原创文章,欢迎转载,转载请注明作者和链接。 https://blog.csdn.net/Mary19920410/article/details/77607323

1、功能

在指定目录下查找文件。

2、语法

find path [option]

path:要查找的路径

option:可选项

3、常见可选项

-name filename:查找名为filename的文件

-user username:按文件属主来查找

-group groupname:按组来查找

-mtime -n +n :按文件修改(modify)时间来查找,-n指n天以内,+n指n天以前

-atime -n +n :按文件访问时间来查找

-ctime -n +n :按文件创建时间来查找

-type d/f :按类型查找,d:目录,f:普通文件

扫描二维码关注公众号,回复: 3808247 查看本文章

-regex pattern:指定字符串作为查找文件或者目录的模式

4、示例

1)find .  #列出当前目录及子目录下所有文件和文件夹

2)find /home -name '*.txt'  #在/home目录及其子目录下查找以.txt结尾的文件名

3)find /home -iname '*.txt' #同上,但是忽略大小写

4)find . -name '*.txt' -o -name '*.pdf'  #在当前目录及其子目录下查找所有以.txt和.pdf结尾的文件,-o表示或(or),-a表示并且(and)

5)find /home ! -name '*.txt'  #找出/home目录及其子目录下不是以.txt结尾的文件

6)find . -type f #找出当前目录及其子目录下文件类型为普通文件的所有文件

7)find /home -type f ! -name 'test' | xargs rm -f   #查找/home目录及其子目录下名字不为test的文件并删除之

8)find /home -type f ! -name 'test' -exec rm -f {} \;  #同上

解释:-exec command {} \;  表示将查到的文件执行command命令

9)find /home -type f -mtime +5  -ok rm {} \;  #将查找到的文件删除,删除前询问用户

10)find /home -type f -mtime -1 -exec ls -l {} \;  #查询当天修改过的文件

11) find /home -size +3000k -exec ls -l {} \;  #查找大于3M的文件并显示详情

12)find . -type f -name '*.txt' -exec cat {} \; > all.txt  #查找当前目录及其子目录下左右.txt文件把他们拼接起来写入all.txt中



熟能生巧

这些命令要自己多敲哦~



猜你喜欢

转载自blog.csdn.net/Mary19920410/article/details/77607323