一、用which命令查找可执行文件的绝对路径
which命令用来查找PATH环境变量中出现的路径下的可执行文件。
二、用whereis命令查找文件
whereis命令通过预先生成的一个文件列表库查找与给出的文件名相关的文件,其格式为whereis [-bms][文件名称],其中各选项的含义如下:
- -b:只查找二进制文件
- -m:只查找帮助文件(在man目录下的文件)
- -s:只查找源代码文件
三、用locate命令查找文件
locate命令类似whereis。
locate所搜索到的文件列表,不管是目录名还是文件名,只要包含我们所要搜索的关键词,都会列出来,所以locate不适合精准搜索。
四、使用find搜索文件
find命令的格式:find[路径][参数]。下面是find命令的常用选项
- -atime +n/-n:表示访问或执行时间大于或小于n天的文件
- -ctime +n/-n:表示写入、更改inode属性(如更改所有者、权限或者链接)的时间大于或小于n天的文件
- -mtime +n/-n:表示写入时间大于或小于n天的文件
上例中,-mtime -1表示 mtime在1天之内的文件,单位是天。而-mtime +10表示mtime在10天以上的文件。
- -name filename:表示直接查找该文件名的文件
- -type filetype:表示通过文件类型查找文件
补充1:有关三个time属性的介绍
- 文件的access time(atime)是在读取文件或者执行文件时更改的。
- 文件的modified time(mtime)是在写入文件时随文件内容的更改而更改的。
- 文件的change time(ctime)是在写入文件、更改所有者、权限或链接设置时随inode内容的更改而更改的。
其中,inode(索引节点)用来存放档案及目录的基本信息,包括时间信息、文档名、所有者以及所属组等。
inode是Unix操作系统中的一种数据结构,其本质是结构体,在文件系统创建时生成,且个数有限。
在Linux下,可以通过命令 df -i 来查看各个分区的inode总数以及使用情况。
补充2:stat命令
通过以上信息的描述,我们知道更改文件的内容就会更改mtime和ctime,但是文件的ctime可能会在mtime未发生任何变化时更改。
此时,我们可以通过stat命令列出文件的atime、ctime、和mtime