linux c find,linux find命令用法

在当前工作目录中查找名称为test.c的所有文件-----find test.c

查找/ home目录下的所有文件,名称为test。find /home -name test

找到名称为test的所有文件,并在/ home目录中同时包含大写和小写字母。

find /home -iname test

在/目录中查找名称为test的所有目录。

find / -type d -name test

在当前工作目录中查找名为test.PHP的所有php文件。

find type f -name test.php

查找目录中的所有php文件。

find / type f -name "*.php"

查找权限为777的所有文件

find / -name f -perm 0777 -print

查找所有文件未经许可777。

find / -name f ! -perm 0777 -print

找权限设置为644的所有SGID位文件。

find / -perm 2644

查找权限为551的所有Sticky Bit设置文件。

find / -perm 1551

查找(所有具有suid和sgid的文件)

find / -perm -2000 -o -perm -4000

查找具有SUID属性的文件

find / -type f -perm -4000 -exec ls -l {} \;

查找所有只读文件。

find / -perm /u=r

查找所有可执行文件。

find / -perm /a=x

查找所有777个权限文件,并使用chmod命令将权限设置为644

find / -type f -perm 0777 -print -exec chmod 644 {} \;

查找所有777个权限目录,并使用chmod命令将权限设置为755

find / -type d -perm 777 -print -exec chmod 755 {} \;

找到一个名为test.c的文件并将其删除

find / -type f -name "test.c" -exec rm -f  {} \;

查找和删除多个文件,如.mp3或.txt,然后使用。

find / -type f -name "*.txt" -exec rm -f {} \;

在特定路径下查找所有空文件。

find / tmp -type  f -empty

将特定路径下的所有空目录归档。

find / tmp -type d -empty

要查找所有隐藏的文件,请使用以下命令。

find /tmp -type f -name ".*"

在所有者root的/ root目录下查找名为test.c的所有或单个文件。

find / -user root -name test.c

查找~目录下属于用户neil的所有文件。

find ~ -user neil

查找/ home目录下属于Group Developer的所有文件。

find /home -group developer

查找~目录下的用户neil的所有.txt文件

find ~ -user neil -iname "*.txt"

atime是指access time,即文件被读取或者执行的时间,修改文件是不会改变access time的。

ctime即change time文件状态改变时间,指文件的i结点被修改的时间,如通过chmod修改文件属性,ctime就会被修改

mtime即modify time,指文件内容被修改的时间

通过stat来查看文件的mtime,ctime,atime等属性,也可以通过ls命令来查看,具体如下:

ls -lc filename 列出文件的 ctime

ls -lu filename 列出文件的 atime

ls -l filename 列出文件的 mtime

find . –mtime n中的n指的是24*n, +n、-n、n分别表示:

+n: 大于n

-n:    小于n

n:等于n

find . –mtime n:  File waslast modified n*24 hours ago.

最后一次修改发生在距离当前时间n*24小时至(n+1)*24 小时

find . –mtime +n:

最后一次修改发生在n+1天以前,距离当前时间为(n+1)*24小时或者更早

find . –mtime –n:

最后一次修改发生在n天以内,距离当前时间为n*24小时以内

将/usr/local/backups目录下所有10天前带"."的文件删除

find /usr/local/backups -mtime +9 -name "*.*" -exec rm -rf {} \;

查找最近1小时内更改的所有文件

find / -cmin 60

查找最近1小时内修改的所有文件。

find / -mmin 60

查找最近1小时内访问的所有文件

find /  -amin 60

要找到所有50MB的文件

find / -size 50M

找到大于50MB且小于100MB的所有文件。

find / -size  +50M -size -100M

格式: find [path...] [expression]

find / -name access_log 2>/dev/null 不显示错误信息

find / -amin n ##查找系统中最后N分钟访问的文件

find / -atime n ##查找系统中最后n*24小时访问的文件

find / -cmin n ##查找系统中最后N分钟被改变状态的文件

find / -ctime n ##查找系统中最后n*24小时被改变状态的文件

find / -empty ##查找系统中空白的文件,或空白的文件目录,或目录中没有子目录的文件夹

find / -false ##查找系统中总是错误的文件

find / -fstype type ##查找系统中存在于指定文件系统的文件,例如:ext2 .

find / -gid n ##查找系统中文件数字组 ID 为 n的文件

Linux find命令指定时间范围查找文件&移动到某个目录&打包压缩存档

把当前目录下面的file(不包括目录),移动到/opt/shell

find  .  -type f  -exec mv {}   /opt/shell   \;

find .  -type f  |  xargs  -I  '{}'  mv  {}  /opt/shell

find多少天以前的文件,按时间移动,并分批打包

显示前十个文件

ls -1 | sort -u | head -10

1.首先查看文件个数,进入所在的文件

find . -name "*" | wc -l

或者

ll |grep "^-" |wc -l

2.查看文件个数

查看120天钱的文件个数

find . -mtime +120 | wc -l

一般如果是小文件,控制在10-20万左右。

解释:

-mtime +30 --设置时间为30天前;

-exec mv --查找完毕后执行移动操作;

3.按照时间移动到指定目录里

find . -mtime +90 -exec mv {} /var/tmp/date_90 \;

4.计算大小

du -sh date_90

大小一般控制在10-15G最好

5.压缩并打包

tar -zcvf date_90.tar.gz date_90/

找出并打包文件成 tar 包

find /dir/to/search/ -name "*.doc" -exec tar -rvf out.tar {} \;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值