您的位置:首页 > 运维架构 > Linux

Linux学习之——Linux常用命令(三):文件搜索命令

2014-04-29 09:01 267 查看
文件搜索命令:

which:

语法: which [命令名称]

它只能查找命令所在的目录或者说路径,不能查找其他的。

位于sbin,则是管理员所用命令

位于bin,则是所有的用户都能使用命令

功能描述:显示系统命令所在目录(绝对路径),会显示出命令相关的别名。以便判断命令类型

范例:$which ls

whereis:

语法:whereis [ 命令名称 ]

功能描述:找到命令所在目录(也是绝对路径),会显示命令帮助文档所在位置。

find:

语法:find [搜索路径] [搜寻关键字]

功能描述:查找文件和目录(find可以查找任何类型的文件或目录,类似于在Window下搜索文件)

搜索路径在选择的时候,应该尽量缩小查找范围,遍历整个硬盘,不仅查找速度慢,还会占用大量的系统资源

范例1:根据文件名-name,假如匹配“init”

find /etc -name init

(在Linux只会匹配文件名为init的文件,Windows会匹配文件名包含init的文件,这是二者的区别)

范例2:使用*(通配符),假如匹配“innit/inittab”。当我们对文件名有些模糊的时候,可以使用通配符*

find /etc -name init*

*注意:*代表0个或多个字符

范例3:使用?匹配单个字符,假如匹配“inittab”

find /etc -name init???

范例4:根据文件大小-size 当我们不记得名称但是记得文件大小的时候

很多的Linux系统或Unix通用数据块block(512字节)作为数据单位,大于 +、小于-、等于

find /etc -size +204800

范例5:根据所有者查找 -user [ 用户名]

find /home -user samlee

范例6:根据时间值查找

1. 以天为单位:-ctime、 -atime 、-mtime

2. 以分钟为单位:cmin、amin、mmin

c 表示--change : 文件属性被修改过 (所有者、所属组、权限)

a 表示--access :文件用vi/vim浏览过

m表示--modify :文件内容被修改

3. 直接用时间,如120分钟内:find /etc -mmin -120

范例7:连接符:

-a:and 逻辑与

范例:查找大于80MB小于100MB的文件

$find /etc -size +163840 -a -size -204800

-o : or 逻辑或

范例:查找文件名为inittab 大于1000MB的文件

$find /etc -name inittab -o -size +2048000

-exec : execute 连接执行符,找到文件可以对其进行相关操作,如列出目录、删除文件等等。

格式:find ......-exec 命令 {} \;

{}代表了find查询结果集,\转义符,使命令使用本身的含义;

范例:find /etc -name inittab -exec ls -l {} \;

find /test -name testfile3 -exec rm {} \;

find /home -user samlee -exec rm -rf {} \;

-ok:在执行前询问确认

范例:find /etc -name inittab -ok rm {} \;

综合范例:

find /etc -name init* -a -type f -exec ls -l {} \;

范例8:文件类型 -type:

f 二进制文件

l 软链接文件

d 目录文件

范例:$find /etc -name init* -a -type l

范例9:根据inum查找 -inum定位文件

范例: $find /etc -inum 16

这个方法可以用来删除一些不按照文件规则创建,用普通rm命令不好删除的文件,比如:“a b”、“-abc”这样的文件。先用 ls -i 列出包含i节点数字的文件,然后通过 $find /etc -inum 16 exec rm {} \;删除。

located :

语法:locate [搜索关键字]

功能描述:$locate file 列出所有跟file相关的文件

速度比find快,find是在整个硬盘下查找,locate是根据系统目录文件数据库中查找,默认命令、配置文件等可以用locate查找,但是对于新增文件,当没有更新数据库文件时用locate是查找不到的。

grep:

语法:grep [指定字串] [源文件名称]

功能描述:在文件中搜寻字串匹配的行并输出。

man:

语法:man [命令或配置文件]

功能描述:$man ls 查看ls命令的帮助信息

$man service 查看配置文件service的帮助信息

info:

语法:info [任何关键字]

功能描述:获得帮助信息

范例:$info ls 查看ls指令的帮助信息

whatis:

语法:whatis [命令名称]

功能描述:获取命令简短的用途说明信息

help:

语法:help [shell内置命令]

功能描述:查看shell内置命令的帮助。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: