关于linux下的查找命令

linux下有很多查找命令, 如which, whatis, whereis, find, locate, grep

 

看视频每一个都看了, 听说find与grep比较有用, 那就说说这两个吧:

 

关于find:

格式:

find    搜索路径  关键字

如:  find    /etc     -name inittab     (在/etc目录下查找inittab文件)

 

如果我想找/etc下所有in开头的所有文件, 要怎么找呢?

用“*”吧, 它能匹配所有字符:

可以这样找:  find  /etc   -name in*   

不过, 如果我相找  /etc  下in开头的, 只有五个字符的文件呢?

用“?”吧, 它能匹配一个字符:

可以这样:find   /etc  -name  in???

 

 

find 可以加参数, 这里说说常用的几个:

 

-name  文件名     (上面的例子)

-perm  权限       (如:  find  /   -perm  654  查找/下权限为654的所有文件与目录)

-user  用户名  (如: find  /etc   -user  root  查找/etc下所有者为root的文件)

-nouser     查找系统中不属于任何用户的文件:  find  /   -nouser

-size  文件大小

 

对于上面的文件大小, 单位应为数据块, 而linux下, 默认的一个数据块为512字节, 即0.5KB

比如, 我们要查找在/home下大于100M的文件, 可以这样查找:

首先, 100M = 102400KB = 102400 * 2 个数据块, 即204800数据块, 即100M = 204800block

所以: find /home   -size +204800  

+   大于

-   小于

什么也不写, 就相当于等于了, 不过, 一般都不会这么写, 一般不是查找大于, 就是小于, 再就是大于多少, 小于多少。

在这里, 如果要我们查找大于100M而小于300M的文件呢, 要怎么查找呢?

关于 - a,  - o这两个参数:

-a    (and, 逻辑与)

-o    (or, 逻辑或)

有了这两个参数, 那要找出/home下大于100M而小于300M的文件, 这样找就行了:

find  /home   -size +204800 -a -size  -614400

 

如果我们要在/etc目录下找出inittab 文件, 同时再将它用ls  -l 列出来, 那要用怎么样的查找方式呢?

-exec 指令

例:

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

对于上面这条命令, {}   \    ;  都是固定的格式。

{} 大括号其实代表find的查找结果, 这个结果交给-exec 所指定的指令去执行

\  代表了转义字符

;  代表结果

 

比如, 如果有人在/home下创建了一些奇怪的文件名, 我们用rm无法删除, 那要怎么删除呢?(奇怪的名字如"a   b ", "--ab"等)

首先, 我们用ls  -i 来显示文件对应的inumber(i节点):

如ls  -il

2390711 -rw-r--r--  1 root root       0 Dec 28 14:16 a     b
2390708 -rw-r--r--  1 root root       0 Dec 27 14:01 abc

 

再用find 加-exec参数配合来删除:

find /home -inum 2390711 -exec rm -f {} \;

这样, 奇怪名字的文件就删除了。

-inum 参数后面加 i 节点, 查找指定 i 节点的文件

find /  -inum  11   (在根目录下查找 i 节点为11的文件)

 

 

 

 

 

 

 

 

关于grep:

格式为: grep  关键字    查找位置

对于grep , 我只记一个参数: - i         (忽略大小写)

如:

grep root  /etc/shadow

grep -i  ABcd*  /home  (查找/home下abcd开头的所有文件, 忽略大小写)

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值