file 文件类型
用于查看某个文件的基本数据
which 文件查找
通常我们都是先使用 whereis 或者 locate 来查看,如果真找不到了才用 find 查找 因为 whereis 或者 locate 是利用数据库来搜索数据,所以相当快速,而 find 是直接搜寻硬盘里的数据。
参数: -a:将所有可以找到的命令都列出来,而不止第一个被找到的命令名称
这个命令是根据 PATH 这个环境变量所规范的路径去查找执行文件夹的文件名,加上-a 参数可以列出所有可以找到的同名执行文件
whereis 查找特定文件
whereis 可以加入参数来寻找数据,例如你要找可执行文件(binary)那么加上 -b ,如果不加任何参数就将所有的数据列出来
locate 查找
在 locate 后面直接输入文件名就能得到查找结果,在完整文件名(包括路径名称)只要有 passwd 在其中都会被显示出来的
locate 寻找数据的时候特别快,这是因为 locate 寻找的数据是由已建立的 /var/lib/slocate/ 里面的数据搜寻找的(需要注意的是:要想搜寻你刚新建的文件,必须更新数据库才行)
find 查找
将过去系统上面24小时内有改动内容(mtime)的文件列出
那个 0 代表当前的时间,所以从现在开始到24小时前有变动过的文件都被列出来的意思,同时 -atime 与 -ctime 的用法相同。
将3天前的24小时内有变动过内容的文件都被列出来
查找 /etc 下面的文件,如果文件日期比 /etc/passwd 新就列出(-newer 用在分辨两个文件之间的新旧关系)
查找 /home 底下属于chd 的文件(当我们要找出一个用户在系统当中所有的文件时就可以使用该命令)
查找系统中不属于任何人的文件(这个命令可以找出那些不太正常的文件)
找出文件名为 passwd 这个文件(使用 -name 参数可以寻找文件名)
查找文件属性为 f (一般文件)的文件(使用 -type 参数,查找 socket 和FIF0文件可以用 find /var -type p 或-type s 来找)
查找文件中含有 SGID/SUID/SBIT 的属性(7222 就是 ---w--w--w- 只要含有 w 的就列出 )
将上一个例子找到的文件使用 ls -l 列出来(-exec 后面的 ls -l 是额外的命令,而 {} 代表由 find 找到的内容,所以 -exec ls -l {} 就是将前面找到的文件以 ls -l 以长格式列出,[ \;]表示 -exec 的命令到此为止,也就是说 -exec 参数最后一定要以 [ \;]结束才行!)
查找系统中,大于10kb 的文件 (如果你要查找一个文件的话,那么使用 find 是一个不错的方法)
find 在查找特殊的文件属性,以及特殊的文件权限(SUID/SGID等)时,是相当有用的工具程序之一,由于 find 在查找数据的时候相当耗硬盘,所以查找数据还是建议使用 whereis 和locate 这两个命令。