天天看点

linux查找比etc旧的文件,Linux下搜索文件常用方法

#linux文件无创建时间

#Access 使用时间

#Modify 内容修改时间

#Change 状态改变时间(权限、属主)

#时间默认以24小时为单位,当前时间到向前24小时为0天,向前48-72小时为2天

#-and 且 匹配两个条件 参数可以确定时间范围 -mtime +2 -and -mtime -4

#-or 或 匹配任意一个条件

find/etc -name "*http*" #按文件名查找

find . -type f #查找某一类型文件

find / -perm #按照文件权限查找

find / -user #按照文件属主查找

find / -group #按照文件所属的组来查找文件

find / -atime -n #文件使用时间在N天以内

find / -atime +n #文件使用时间在N天以前

find / -mtime +n #文件内容改变时间在N天以前

find / -ctime +n #文件状态改变时间在N天前

find / -mmin +30 #按分钟查找内容改变

find / -size +1000000c -print #查找文件长度大于1M字节的文件

find /etc -name "*passwd*" -exec grep "xuesong" {} ; #按名字查找文件传递给-exec后命令

find . -name 't*' -exec basename {} ; #查找文件名,不取路径

find . -type f -name "err*" -exec rename err ERR {} ; #批量改名(查找err 替换为 ERR {}文件

find 路径 -name *name1* -or -name *name2* #查找任意一个关键字

find /var/adm -mtime +3 -print #为了在/var/adm目录下查找更改时间在3日以前的文件

find . -newer age.awk ! -newer belts.awk -exec ls -l {} ; #查找更改时间呗文件age.awk新但比文件belts.awk旧的文件

find /etc -type d -print #查找/etc目录下所有的目录

find /etc ! -type d -print #查找/etc下除了目录之外的所有类型的文件

find /etc -type l -print #查找/etc下所有的符号链接文件

实例如下:

find命令实例

简单地使用find命令查找指定目录下的某个文件的方法如下:

#find /etc -name inittab

/etc/inittab

#在当前目录下,查找名称为inittab的文件:

#find . -name inittab ./inittab

#找出当前目录下,文件名不区分大小写是example的所有文件:

$find . -iname example

./example ./Example

#找出当前目录下,目录名是tmp的目录:

$ find . -type d -name tmp

./tmp

#找出当前目录下所有sh文件:

$ find . -type f -name "*.sh"

./login.sh ./index.sh

#找出当前目录下,文件权限是777的所有文件:

$find. -type f -perm 0777

#找出当前目录下,文件权限不是777的所有文件:

$ find . -type f ! -perm 777

#找出/etc/目录下所有只读文件:

find . -type f ! -perm /a+w

#找出你账号的主目录下的所有可执行文件:

$ find ~ -type f -perm /a+x

#找出/tmp目录下的.log文件并将其删除:

$find /tmp/ -type f -name "*.log" -exec rm -f {} ;

#找出当前目录下的所有空文件:

$find . -type f -empty

#找出当前目录下的所有空目录:

$find . -type d –empty

#找出/tmp目录下的所有隐藏文件:

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

#找出/tmp目录下,所有者是root的文件和目录:

$find /tmp/ -user root

#找出/tmp目录下,用户组是developer的文件和目录:

$find /tmp/ -group developer

#找出你账号的主目录下,3天前修改的文件:

$ find ~ -type f -mtime 3

#找出你账号的主目录下,30天以前修改的所有文件:

$ find ~ -type f -mtime +30

#找出你账号的主目录下,3天以内修改的所有文件:

$ find ~ -type f -mtime -3

#找出你账号的主目录下,30天以前60天以内修改的所有文件:

$ find ~ -type f -mtime +30 -mtime -60

#找出/etc目录下,一小时以内变更过的文件:

find /etc -type f –cmin -60

#找出/etc目录下,一小时以内访问过的文件:

find /etc -type f -amin -60

#找出你账号的主目录下,大小是50MB的所有文件:

$find ~ -type f -size 50MB

#找出你账号的主目录下,大于50MB小于100MB的所有文件:

$ find ~ -type f -size +50MB -size -100MB

#找出你账号的主目录下,大于100MB的文件并将其删除:

$ find ~ -type f -size +100MB -exec rm –rf {} ;