Linux中关于查找的常用指令有locate、whereis、which、find。其中which和type用于查找脚本文件名,whereis用户查找命令,locate、find用于查找文件

  • which [-a] 指令

PATH目录中可以找到的命令均列出,而不只第一个被找到的命令名称。找出的指令由PATH变量影响

  • whereis [-bmsu]  文件(指令)或者目录名

 -b:只找二进制格式的文件

  -m:只找在说明文件manual路径下的文件

  -s:只找source源文件

  -u:查找不在上述三个选项当中的其他特殊文件  

  由于which受到PATH影响,所以对于/sbin没有加入用户PATH中,用用户账号的which查找部分指令可能找不到,因此可以用whereis查找

  另外whereis查找的是数据库文件(/var/lib/mlocate/),因此比直接用find查找速度快。但是数据库只定时更新(各个发行版不同,centos是一天一次),所以使用前最好先用updatedb更新数据库。

  • locate [-ir] 文件部分名称

  -i:忽略大小写的差异

  -r:后面可接正则表达式的显示方式

  同whereis一样,依据数据库对用户输入的关键字文件名查找,可以不用输入完整文件名而进行模糊查找

  • find [路径] [参数] [操作]

与时间有关参数:-atime(access  time )、-mtime(modify time )、-ctime(change time )

  access time:代表最近一次访问文件的时间,显示一个文件的内容或运行一个脚本的时候会更新,可以用 ls -lu 查看

  modify time:代表最近一次文件内容被修改的时间,可以用 ls -l 查看

  change time:代表最近一次文件状态改变的时间。在写入文件,更改所有者、权限或链接设置时随 inode 的内容更改而更改。可以用 ls -lc 查看

  说明:-mtime n:n天之前的“一天之内”被更改过的文件,参数 n 是 0 时表示列出24小时之内被更改过的文件;

     -mtime +n:n天之前(不含n天本身)被更改过的文件名;

     -mtime -n:n天之前(含n天本身)被更改过的文件名

     -newer [文件名]:列出比该文件名还要新的文件名

  

查寻linux指令集架构 linux 查找指令_用户组

  2.与用户或用户组名相关的参数:

  -uid [n]:n是用户的账号ID,这个UID记录在 /etc/passwd 里与账号名称对应的数字

  -gid [n]:n是用户组名的ID,这个GID记录在/etc/group中

  -user [name]:name为用户账号名称

  -group [name]:name为用户组名

  -nouser:寻找文件的所有者在 /etc/passwd 中不存在的文件

  -nogroup:寻找文件的所有用户组在 /etc/group 中不存在的文件

  3.与文件权限及名称有关的参数:

  -name [filename]:查找文件名为filename的文件

  -size [+-] SIZE:查找比SIZE大(+)或者小(-)的文件。size规格有:c-bytes、k-kilobytes、M-Mb、G-Gb,如 find / -size +500M

  -type TYPE:查找文件类型为TYPE的,类型主要有:一般常规文件(f)、设备文件(b,c)、目录(d)、连接文件(l)、socket(s)、及FIFO(p)等属性,如 find / -type s

  -perm mode:查找文件权限“刚好等于”mode的文件,这个mode为类似chmod的属性值,如 find / -perm 755  (即权限为rwxr-xr-x)

    其中 -mode 为“必须要全部包括mode的权限”的文件,如查找权限为rwxr-xr-x即755的文件,使用 -perm -755,当一个文件权限为 rwxrwxrwx,即777时也会被列出来

    而 +mode 为“包含任一 mode 的权限”的文件,如查找权限为rwxr-xr-x即755的文件,使用 -perm +755,当一个文件权限为 rw------- 即 600的文件也会被列出

  4.其他操作

  -exec 命令:将find找出的内容再进行其他命令的操作,比如 find / -size +500M -exec ls -l {} \;

查寻linux指令集架构 linux 查找指令_文件名_02