linux下使用find
命令查找文件
使用find
命令可以快速的查找文件,也是linux下最常用的方法,根据单词意思就知道了,可以列出符合你要查找的所有文件,并列出所在路径
find
命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等
Linux find
命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示
语法就是:find path expression
例如 find ./ -name my_test.txt
find
根据下列规则判断 path
和 expression
,在命令列上第一个 - ( ) , ! 之前的部份为 path
,之后的是 expression
。如果 path 是空字串则使用目前路径,如果 expression
是空字串则使用 -print 为预设 expression。
path
为要查找的路径,常用选项
/ #表示全磁盘查询,即所有路径
./ #表示在当前目录下进行查找
expression
中常用的选项
-name name
: 文件名称符合 name
的文件。
[root@izbp11ft89tfg544mkue0wz projects]# find / -name log4cpp
/usr/local/include/log4cpp
/root/my_server_file/log4cpp-1.1.3/log4cpp
/root/my_server_file/log4cpp-1.1.3/log4cpp/msvc7/log4cpp
/root/my_server_file/log4cpp-1.1.3/log4cpp/msvc6/log4cpp
/root/my_server_file/log4cpp-1.1.3/log4cpp/msvc10/log4cpp
/root/my_server_file/log4cpp-1.1.3/log4cpp/include/log4cpp
/root/my_server_file/log4cpp-1.1.3/log4cpp/bcb5/log4cpp
-iname name
:文件名称符合 name
的文件, 会忽略大小写
[root@izbp11ft89tfg544mkue0wz root]# find / -iname log4cpp
/usr/local/include/log4cpp
/root/my_server_file/log4cpp-1.1.3/log4cpp
/root/my_server_file/log4cpp-1.1.3/log4cpp/msvc7/log4cpp
/root/my_server_file/log4cpp-1.1.3/log4cpp/msvc6/log4cpp
/root/my_server_file/log4cpp-1.1.3/log4cpp/msvc10/log4cpp
/root/my_server_file/log4cpp-1.1.3/log4cpp/include/log4cpp
/root/my_server_file/log4cpp-1.1.3/log4cpp/bcb5/log4cpp
/root/Log4cpp
-amin n
: 在过去 n 分钟内被读取过
find ./ -amin 1 #查找当前目录下一分钟内读取过的文件
以下都是和上面类似的用法,我就不列举了
-atime n
: 在过去n天内被读取过的文件
-cmin n
: 在过去 n 分钟内被修改过
-cnewer file
:比文件 file 更新的文件
-ctime n
: 在过去n天内被修改过的文件
-empty
: 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name
-ipath p, -path p
: 路径名称符合 p 的文件,ipath 会忽略大小写
-anewer file
: 比文件 file 更晚被读取过的文件
-size n
: 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。
-type c
: 文件类型是 c 的文件。