浅析Linux命令之find

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:普通文件

-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中



熟能生巧

这些命令要自己多敲哦~



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值