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

文件搜索命令:

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内置命令的帮助。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值