Linux-文件的查询(下)

  • 今天介绍两个文件查询相关的命令:locate、find。

locate

  • locate是一个利用数据库来查询文件,查询速度非常快的命令。

  • 也正因为locate查询时是通过数据库,所以有时会找到已经被删掉的文件,而且也找不到刚创建的文件:


    locate1.png-44.5kB
    locate1.png-44.5kB
  • locate是通过/var/lib/mlocate来寻找数据的,这个数据库文件默认每天更新一次(不同distribution可能不同),也可以通过updatedb命令手动进行更新。更新时会依据/etc/updatedb.conf文件中的配置来进行更新。因此想要查看硬盘中最新的文件情况,可以在执行locate前先执行一次updatedb命令:

    locate2.png-24.2kB
    locate2.png-24.2kB

  • locate命令在查询时,所有在完整文件名(包括路径名称)中含有查询参数的文件都会被查询出来。此外还可以通过-i来忽略大小写的差异,通过-r来接收正则表达式的显示方式:

    locate3.png-66.1kB
    locate3.png-66.1kB

find

  • find是Linux下最强大灵活,可用参数也最多的一个查询命令。需要注意的是,find命令会直接去硬盘中查询,因此时间一般会比较长,使用中可通过限制查询路径来缩小范围进而节省时间。
  • find命令的使用格式是:find [PATH] [option] [action]。接下来分几个方面来对find命令的参数进行介绍。

1.与时间有关的参数

  • 与时间有关的参数有:-atime(访问时间)、-ctime(创建时间)和-mtime(修改时间),下面以-mtime说明:
-mtime n:n为数字,意义是列出在n天之前的“24小时内”更改过的文件

-mtime +n:列出在n天之前(不含n天本身)被更改过的文件

-mtime -n:列出在n天之内(含n天本身)被更改过的文件

-newer file:file为一个已存在的文件,列出比file还新的文件
  • 用图片来表示fine时间参数的意义如下:


    find-time.png-7kB
    find-time.png-7kB
  • 例如查询/root/test目录下,修改时间在24小时内的文件:


    find1.png-30.9kB
    find1.png-30.9kB

2.与用户或用户组有关的参数

-uid UID:查找uid为UID的文件

-gid GID:查找gid为GID的文件

-user user-name:查找所有者为user-name的文件

-group group-name:查找所属组为group-name的文件

-nouser:查找所有者不存在于/etc/passwd的文件

-nogroup:查找所属组不存在于/etc/group的文件
  • 例如查询/root/test目录下用户为lrp的文件:


    find2.png-16.3kB
    find2.png-16.3kB

3.与文件权限、文件名和文件大小有关的参数

-name filename:查找文件名为filename的文件,filename可使用通配符

-size [+-SIZE]:查找比size大(+)或小(-)的文件,可使用c(byte)、k(KB)、M(MB)、G(GB)作为单位

-type TYPE:根据类型查找文件,可使用f(一般文件)、b/c(设备文件)、d(目录)、l(连接文件)、s(socket)、p(FIFO文件)

-perm mode:查找权限刚好等于mode的文件,mode为权限的数字表示法,例如4755、755

-perm -mode:查找权限必须全部包括mode的文件,例如当mode为0744时,4755的文件也会被查询出

-perm /mode:查找权限包含任一mode的文件,例如当mode为755时,600也会被查询出
  • 查找/root下含有特殊权限s t的文件:

    find3.png-17.4kB
    find3.png-17.4kB

  • 查找/root/视频/kali下大小超过800M的文件:


    find4.png-27.8kB
    find4.png-27.8kB
  • 查找/root下文件名含有lrp的文件:


    find5.png-33.1kB
    find5.png-33.1kB

4.-exec参数

  • -exec参数的用法为:
-exec command:command为其他命令,-exec后可接其他的命令来处理查找到的结果 
  • 例如find /root -perm /7000 -exec echo {} > /root/find-rst.txt \;,表示查找/root下含有特殊权限的文件,并把结果输出到/root/find-rst.txt文件中(-exec和 ;中间的是结果处理命令,{}代表查找结果):
    find6.png-14.9kB
    find6.png-14.9kB

END

参考资料:《鸟哥的Linux私房菜》

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,558评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,002评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,024评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,144评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,255评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,295评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,068评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,478评论 1 305
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,789评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,965评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,649评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,267评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,982评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,800评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,847评论 2 351

推荐阅读更多精彩内容