一、执行文件名查找

which(查找‘执行文件’) //按照PATH环境变量所规范的路径查询

whichcommand        //其中参数-a是指列举找到所有命令,而非只显示找到的第一个

比如:whichifconfig

二、文件名的查找

1、whereis(找寻特定文件)

whereisfilename/directoryname

-b:只找二补码的文件

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

-s:只找source源文件

-u:查找不在前面三个规定下的特殊文件

比如:whereisifconfig

2、locate

依赖于事先建立好的索引库,查找速率快;

用法:locatekeyword

-i:忽视大小写的差别

-r:前面可接正则表达式的显示防形式

比如:locateifconfig

说明:lcoate是按照/var/lib/mlocate内记录数据查找,而数据来源通过更新数据库updatedb按照/etc/updatedb.config的配置从硬碟获取数据更新到/var/lib/mlocate;

注意:whereis和locate命令可能搜索到早已删掉的文件linux find,缘由数据库没及时更新(通常三天更新一次),不过可以自动执行updatedb更新。

安装locate:

yum-yinstallmlocate

查看包:

yumsearchmlocate

安装好更新数据库该命令才生效:

直接执行updatedb即可

which command _ whereis filename _linux下载文件夹命令

3、find

实时查找工具,通过遍历指定目录下的文件系统层级结构完成文件查找;

工作特点:

查找速率略慢;

精确查找;

实时查找;

用法:

find

查找条件

which command _linux下载文件夹命令_ whereis filename

查找条件:指定查找标准,可以按照文件名、大小、类型、从属关系、权限等标准进行;

action:对符合查找条件的文件做出操作,比如删掉操作;

查找条件:

1)按照时间查询

以‘天’为单位:

-atime、-ctime、-mtime

以mtime为列

-mtimen:n为数字,在n天前的‘一天之内’被改过的文件;

-mtime-n:n天内(包含第n天),更改过的文件;

-mtime+n:n天前(不包含第n天),更改过的文件;

以‘分’为单位:

-amin、-mmin、-cmin

说明:时间的估算从现今开始以24小时为三天来估算,如右图所示:

2)依据用户和用户组来查询

-uidn:其中n即指定属主的UID,在/etc/passwd可以查看;

-gidn:其中n即指定属组的GID,在/etc/group可以查看

-username:查找属主为name的文件;

which command _ whereis filename _linux下载文件夹命令

-groupname:查找属组为name的文件;

-nouser:查找/etc/passwd中没得属主的文件;

-nogroup:查找/etc/group中没得属组的文件;

比如:find/home-userlegayu

which command _linux下载文件夹命令_ whereis filename

3)依据文件名和文件权限查找

-name‘pattern’:查找文件;

-iname‘pattern’:同-name,但忽视查找的文件大小写;

支持glob键值*,?,,;

-typeTYPE:查找文件类型为TYPE的文件,常见的文件类型有正规文件(f)、设备文件(b、c)、目录(d)、连接文件(l)、socket(s)、及FIFO文件(p)等属性;

-sizeSIZE:查找比SIZE还大(+)或还小(-)的文件,大小尺寸:c:代表byte,k:代表1024byte,还可用M、G表示:MB和GB,如查找小于50kB的文件:-size+50k

-permmode:查找文件权限“刚好等于”mode的文件;

-perm-mode:查找文件权限“必须包含全部”mode的文件;

-perm/mode:查找文件权限“包含任一”mode的文件;

比如:find/-namepasswd

4)组合逻辑

与:-a

或:-o

非:-not,!

which command _linux下载文件夹命令_ whereis filename

说明:逻辑关系分拆与合并

!A-a!B=!(A-oB)

!A-o!B=!(A-aB)

比如:

查找/tmp中非root用户的文件

两种方式:

find/tmp-not-userroot-ls

find/tmp-not-uid0-ls

找出/tmp目录下属主为非rootlinux下载文件夹命令,但是文件名不包含fstab字符串的文件

5)find特殊功能

对查询的结果做操作

-print:输出至标准输出;默认的动作;

-ls:类似于对查找到的文件执行“ls-l”命令linux下载文件夹命令,输出文件的详尽信息红帽子linux下载,这儿不可以使用‘ll’别称;

-delete:删掉查找到的文件;

-fls/PATH/TO/SOMEFILE:把查找到的所有文件的长格式信息保存至指定文件中;

-okCOMMAND{};  :对查找到的每位文件执行由COMMAND表示的命令;每次操作都由用户进行确认;

which command _ whereis filename _linux下载文件夹命令

-execCOMMAND{}; :对查找到的每位文件执行由COMMAND表示的命令;

注意:find传递查找到的文件路径至旁边的命令时,是先查找出所有符合条件的文件路径,并一次性传递给前面的命令;

并且有些命令不能接受过长的参数,此时命令执行会失败;

另一种方法可规避此问题:

即find|xargsCOMMAND

如:find/root-perm+644-execls-l{};

说明:其中的{}指find查找到的内容,‘;’代表结束符‘’是通配符符

举例:

查找/etc目录下所有用户都没有写权限的文件;

#find/etc-not-perm/222-typef-ls

说明:所有用户起码有一个写的权限,则取反就是都没有写权

查找/etc目录起码有一类用户没有执行权限的文件;

#find/etc-not-perm-111-typef-ls

说明:起码有一类用户没有执行权限就是都有执行权限的取反

 whereis filename _which command _linux下载文件夹命令

以上所述是小编给你们介绍的了Linux命令与文件查找解读整合,希望对你们有所帮助,假如你们有任何疑惑请给我留言,小编会及时回复你们的。在此也特别谢谢你们对脚本之家网站的支持!

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复