一、查找文件的基本使用
在Linux系统中,find命令可以用来查找文件。下面是find命令的基本使用:
find [路径][选项][表达式]
其中,路径表示要查找的目录或文件名,选项表示find命令的参数,表达式表示要匹配的文件名模式。
下面的命令可以查找当前目录下以.txt为扩展名的文件:
find . -name "*.txt"
这个命令中的点“.”表示当前目录,-name选项表示要匹配的文件名模式,"*"表示任意字符,"\"是转义符,表示这个星号是一个通配符,"."表示txt文件名必须以txt结尾。
如果要查找所有文件,可以使用通配符星号“*”:
find . -name "*"
这个命令中的星号表示任意字符,因此会列出当前目录下的所有文件和子目录。
如果要查找所有目录,则需要使用-type选项,并将它的值设置为d:
find . -type d
这个命令中,-type选项表示要查找的文件类型,d表示目录。
二、查找指定大小的文件
有时候,我们需要查找指定大小的文件,下面是一些示例:
查找所有大小大于10M的文件:
find . -size +10M
这个命令中,-size选项表示要查找的文件大小,+10M表示要查找的文件大小必须大于10M。
查找所有大小小于10M的文件:
find . -size -10M
这个命令中,“-”表示小于,因此要查找的文件大小必须小于10M。
查找所有大小恰好等于10M的文件:
find . -size 10M
这个命令中,要查找的文件大小必须等于10M。
三、按照时间戳查找文件
有时候,我们需要按照文件的时间戳查找文件,下面是一些示例:
查找最近7天内修改过的文件:
find . -mtime -7
这个命令中,-mtime选项表示文件的修改时间,-7表示最近7天。
查找最近7天内访问过的文件:
find . -atime -7
这个命令中,-atime选项表示文件的访问时间,-7表示最近7天。
查找最近7天内状态改变过的文件:
find . -ctime -7
这个命令中,-ctime选项表示文件的状态改变时间,-7表示最近7天。
四、按照文件权限查找文件
有时候,我们需要按照文件的权限查找文件,下面是一些示例:
查找所有拥有SUID权限的文件:
find . -perm /4000
这个命令中,-perm选项表示文件的权限,/4000表示查找拥有SUID权限的文件。
查找所有拥有SGID权限的文件:
find . -perm /2000
这个命令中,/2000表示查找拥有SGID权限的文件。
查找所有拥有Sticky Bit权限的目录:
find . -perm /1000 -type d
这个命令中,-type d表示查找目录,/1000表示查找拥有Sticky Bit权限的目录。
五、按照文件类型查找文件
有时候,我们需要按照文件类型查找文件,下面是一些示例:
查找所有普通文件:
find . -type f
这个命令中,-type f表示查找普通文件。
查找所有符号链接:
find . -type l
这个命令中,-type l表示查找符号链接。
查找所有设备文件:
find . -type b -o -type c
这个命令中,“-o”表示逻辑或,即查找设备文件的类型既可以是块设备,也可以是字符设备。