Linux查找文件
一 、find命令
find目录在文件目录结构下搜索文件,并执行指定的操作;
命令选项:
-name 文件名:按文件名称查找文件
-perm 权限 : 按照文件权限来查找文件。
-user UID或用户名 :按照文件属主来查找文件。
-group GID或组名 :按照文件所属的组来查找文件。
-type 类型 :查找某一类型的文件,诸如:
b - 块设备文件。d - 目录。c - 字符设备文件。p - 管道文件。l - 符号链接文件。f - 普通文件。
-newer 文件名:查找更新时间比文件新的文件。
-newer file1 ! -newer file2 查找更改时间比文件file1 新但没有比文件file2新的文件。
-mtime -n +n 按照文件的更改时间来查找文件
- -n 表示文件更改时间距现在n天以内, + n 表示文件更改时间距现在n天以前。
示例:1)根据文件名查找文件find . -name ‘f*’
2)根据权限查找find . -perm 777
3)根据所属用户查找find . -user root
4)根据所属文件类型查找find . -type l
5)根据时间范围来查找find -newer f1
6)查找比file1新,没有file2新的文件find -newer file1 ! -newer file2
二、查找特定程序:whereis
whereis 命令只用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis时,会从数据库中查找数据,而不是像find命令那样,通过遍历硬盘来查找,效率自然会很高。
查找系统中可执行文件、man说明文件、源代码文件。
-b 定位可执行文件。
-m 定位帮助文件。
-s 定位源代码文件。
4 查找可执行文件:which
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。