1.whereis命令
whereis是搜索系统命令的命令。也就是说,whereis命令不能呢搜索普通文件,而只能把搜索系统命令,whereis命令的基本信息如下:
命令名称:whereis
英文原意locate the binary ,source ,and manual pages files for a command.
所在路径:/usr/bin/whereis
执行权限:所有用户。
功能描述:查找二进制命令,源文件和帮助文件文档的命令/。
2.which命令
which也是搜索系统命令的命令和whereis命令的区别在于:
whereis命令可以在查找到二进制命令的同时,查找到帮助文档的位置。
而which命令在查找二进制命令的同时,如果这个命令有别名,则可以查找到别名命令。
which命令的基本信息如下:
命令名称:which
英文原意:shows the full path of (shell) commands.
所在路径:/usr/bin/which
执行权限:所有用户
功能描述:列出命令的所在路径,
3.locate命令
3.1基本用法:
locate命令才是可以按照文件名称搜索普通文件的命令。
优点:按照数据库搜索,搜索的速度快,消耗资源小,数据库位置/var/lib/malocate/mlocate.db,可以使用updatedb命令强制更新数据库。
缺点:只能按文件名来搜索文件,而不能执行更复杂的搜索,比如按照权限,大小,修改时间等搜索文件。
locate命令的基本信息:
命令名称:locate
英文原意:find files by name
所在路径:所有用户。
功能描述:按照文件名搜索文件。
注意
1.如果locate没法使用。需要先安装locate。
yum install mlocate
sudo updatedb。
2.如果新建的文件或者文件夹没有找到的话。
需要执行updatedb.
3.无法搜索到tmp文件夹里面的文件。
4.find命令:
find命令基本格式:
命令名称:find。
英文原意:search for files in a direcotry hierarchy
所在路径:/bin/find
执行权限:所有用户。
功能描述:在目录中搜索文件。
4.1按照文件名搜索
find搜索路径 [选项] 搜索内容
选项:
-name:按照文件名搜索
-iname:按照文件名搜索,不区分大小写。
inum:按照inode号搜索。
按照文件大小搜索
find搜索路径 [选项] 搜索内容
选项:
-size[+|-]按照指定大小搜索文件。
这里的+的意思是搜索比指定大小还要大 的文件,‘-’的意思是搜索比指定大小还要小的文件。
[root@beidouxing ~]#man find
-size n[cwbkMG]
File uses n units of space ,The following suffixes can be used:
‘b’ for 512-byte bolcks (this is the default if no suffix is used)#默认单位,
‘c’ for bytes.搜索单位是c,按照字节搜素。
‘w’ for two-byte words 搜索单位是w,按照双字节搜索。
‘k’ for Kilobytes (units of 1024 bytes)#按照kb搜索,必须是小写的k
‘M’ for Megabytes (untis of 1048576 bytes)#按照MB单位搜索,必须是大写的M
‘G’ for Gigabytes(unytis of 1073741824 bytes)#按照GB单位搜索,必须是大写的G
按照修改时间搜索:
Linux中的文件有访问时间,数据修改时间,状态修改时间这三个时间,我们也可以按照时间来搜索文件。
[root@beidouxing ~ ]#find 搜索路径[选项] 搜索内容。
选项:
-atime[+|-]时间:按照文件访问时间搜索。
-mtime[+|-]时间:按照文件修改时间搜索。
-ctime[+|-]时间:按照文件状态修改时间搜索。
这三个时间的区别我们在stat命令中已经解释过了,这里我们mtime数据修改时间来举例:
-5:代表5天内修改的文件
5:代表5~6天那一天修改的文件。
+5:代表6天前修改的的文件。
4.4按照权限搜索
命令格式:
[root@beidouxing ~]# find 搜索路径[选项] 搜索内容。
选项:
-perm 权限模式:查找文件权限刚好等于‘权限模式’的文件。
-perm -权限模式:查找文件权限全部包含‘权限模式’的文件。
-perm +权限模式:查找文件权限包含‘权限模式’的任意一个权限文件。
按照所有者和所属组搜索:
[root@beidouxing ~ ]# find 搜索路径[选项] 搜索内容
选项:
-uid用户id:按照用户Id查找用户的指定Id的文件。
-gid 组id:按照用户ID查找所属组是指定id的文件。
-user 用户名:按照用户查找所有者是指定用户的文件。
-group组名:按照组名查找所属组是指定用户组的文件。
-nouser: 查找没有所有者的文件。
按照所有者和所属组搜索时,-nouser 选项比较常用,主要用来查找垃圾文件。
4.6按照文件类型搜索
[root@beidouxing ~ ]# find 搜索路径[选项] 搜索内容
选项:
-type d:查找目录。
-type f: 查找普通文件。
-type l:查找软连接文件。
4.7逻辑运算符
[root@beidouxing ~] # find 搜索路径[选项] 搜索内容
选项:
-a:and 逻辑与
-o: or 逻辑或
-not :逻辑非
-a and逻辑与:
find 命令也支持逻辑运算符 选项,其中-a代表逻辑与运算,也就是-a的两个条件都成立,find搜索的结果才成立,举个例子:
[root@beidouxing ~ ] find .-size +2k -a -type f#在当前目录下面搜索大于2k并且文件类型是普通文件的文件
-o:or逻辑与
-o 选项代表逻辑或运算,也就是-o的两个条件只要其中一个条件成立,find命令就可以找到结果
[root@beidouxing ~ ]find -name cangls -o -name bols
-not:not逻辑非。
-not逻辑非,也就是取反的意思。
4.8其他选项
1.-exec选项:
这里我们主要讲解两个选项-exec和ok,这两个选项的基本左右非常相似。
[root@beidouxing ~ ]#find 搜索路径 [选项] 搜索内容 -exec 命令2{}’’;
其次,这个选项的作用是把find命令的结果交给-exec调用的命令2来处理。"{}"就代表find命令的查找结果。
2.-ok选项:
-ok和-exec选项的作用基本一致,区别在于-exec的命令2 会直接处理,而不询问。
-ok的命令2 在处理前先询问用户是否这样处理,在得到确认命令后,才会执行。