文本查找相關命令簡單介紹

文件查找命

在文件系統上查找符合條件的文件

  • 非實時查找:基于索引查找 locate

  • 實時查找:find


locate介紹

依賴于事先構建的索引:索引的構建是在系統較為空閑時自動進行(周期性任務):手動更新數據庫(updatedb)

索引構建過程需要遍歷整個根文件系統,極消耗資源,生產中盡量避免手動更新。

語法

locate KEYWORD

-i:忽略大小寫搜索

-n N:只列舉前N個匹配項目。


find介紹

實時查找工具,通過遍歷指定路徑下的文件系統完成文件查找

語法: find [選項]…[查找路徑] [查找條件] [處理動作]

  • 查找路徑:指定具體目標路徑,默認為當前目錄
  • 查找條件:指定查找標準,可以文件名、大小、類型、權限等標準進行,默認為找出路徑下的所有文件
  • 處理動作:對符合條件的文件做什么操作,默認輸出至屏幕

查找條件

根據文件名

-name “文件名稱”:支持使用glob

[root@localhost: /root]# find /etc -name "passwd" 
/etc/pam.d/passwd 
/etc/passwd

-iname “文件名稱”不區分字母大小寫


根據屬主、屬組

-user:查找屬主為指定用戶的文件 

-group:查找屬組為指定組的文件

[xiangge@localhost: /home/xiangge]$ find /home -user xiangge -ls
 523265 4 drwx------ 16 xiangge  xiangge 4096 Apr 9 21:51 /home/xiangge
 523388 4 -rw------- 1 xiangge  xiangge 1112 Apr 9 22:00 /home/xiangge/.bash_history 

-uid:查找屬組為指定UID號的文件

-gid:查找屬組為指定的GID號的文件

-nouser:查找沒有屬主的文件

-nogroup:查找沒有屬組的文件


根據文件類型查找

-type:

  • f:普通文件
  • d:目錄文件
  • l:符號鏈接文件
  • s:套接字文件
  • b:塊設備文件
  • c:字符設備文件
  • p:管道文件
[xiangge@localhost: /home/xiangge]$ find /tmp -type d -ls 
1179649 4 drwxrwxrwt 15 root     root 4096 Apr 9 22:50 /tmp 
1577727 4 drwxrwxrwt 2 root     root 4096 Apr 3 23:00 /tmp/.XIM-unix 
1313311 4 drwxrwxrwt 2 root     root 4096 Apr 3 23:25 /tmp/.X11-unix 
1446044 4 drwxrwxrwt 2 root     root 4096 Apr 3 23:00 /tmp/.Test-unix 
1577726 4 drwxrwxrwt 2 root     root 4096 Apr 3 23:25 /tmp/.ICE-unix 
1185729 4 drwx------ 3 root     root 4096 Apr 3 23:22 /tmp/systemd-private-fb3197586e804ebe969df0ca549914a1-rtkit-daemon.service-LcZqdW

組合條件

  • 與:-a
  • 或:-o
  • 非:-not,!

事例:找出/tmp目錄下,屬主不是root,且文件名不是fstab的文件

第一方法:
find /tmp \( -not -user root -a -not -name 'fstab' \) -ls
  
第二種方法:
find /tmp -not \( -user root -0  -name 'fstab' \) -ls

根據文件大小查找

-size [+][-]#UNIT 常用單位:k,M,G

如:

  • 5k: 5k<x<=6k
  • -5k: x<5k
  • +5: x>6k
[xiangge@localhost: /home/xiangge]$ find /var -size -5k -ls

根據時間戳查找

以天為單位:

  • atime[+|-]#
  • mtime
  • ctime

如:

7:7<=x<8

-7:x<7

+7:x>=8

以分鐘為單位

  • amin
  • mimn
  • cmim

處理動作:

  • -print 打印到屏幕上
  • -ls 打印到屏幕上 類似于ls -l
  • -delete 刪除操作 只刪除文件,不能刪除非空目錄
  • -fls file 查找到的文件信息保存到指定的文本中
  • -ok 在執行后面的動作之前會提示你是否需要執行(交互式的)
  • -exec CMD {} ; 執行后面的命令 {} 表示前面find出的結果 ; 固定用法
[xiangge@localhost: /home/xiangge]$ touch test.txt
[xiangge@localhost: /home/xiangge]$ find /home/xiangge  -cmin -5 
/home/xiangge/test.txt
[xiangge@localhost: /home/xiangge]$ find /home/xiangge  -cmin -5 -exec mv {} {}.new \; 
/home/xiangge/test.txt.new

原創文章,作者:祥健,如若轉載,請注明出處:http://www.www58058.com/73098

(0)
祥健祥健
上一篇 2017-04-10 19:20
下一篇 2017-04-10 19:51

相關推薦

  • DevOps如何重構IT戰略

    翻譯: 至尊寶 原文: http://www.citeworld.com/article/2897738/development/how-devops-can-redefine-your-it-strategy.html?page=2   DevOps究竟是曇花一現還是你一直在尋找的競爭優勢?我們咨詢了一些專家,對于這種趨勢他們的想法是什…

    Python干貨 2015-03-26
  • Linux第八周小結

    1、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態 在線的主機使用綠色顯示 不在線的主使用紅色顯示 #!/bin/bash # for i in {1..254};do if ping -c 6 -w 1 192.168.1.$i &> /dev/null;then echo -e…

    Linux干貨 2017-08-20
  • 進程管理

    Process Manager 工作管理  jobs ctrl+z,& bg,fg nohup 進程,資源管理  查看:pstree,ps,top,vmstat,pmap 查詢:pgrep,pidof,fuser,lsof 管理:kill,nice,renice 管理軟件or命令  htop glances dstat …

    Linux干貨 2016-04-11
  • 如何在Java中避免equals方法的隱藏陷阱

    譯者注 :你可能會覺得Java很簡單,Object的equals實現也會非常簡單,但是事實并不是你想象的這樣,耐心的讀完本文,你會發現你對Java了解的是如此的少。如果這篇文章是一份Java程序員的入職筆試,那么不知道有多少人會掉落到這樣的陷阱中。原文轉自http://www.artima.com/lejava/articles/equality.…

    開發運維 2015-04-03
  • 網絡中多網卡和多ip中的高可用

    一、虛擬網卡實現一個網卡多個地址 1、單個網卡實現多個ipv4地址,只需要在該網卡的配置文件的目錄新增網卡配置文件即可。進入網卡"eth0"的目錄下 2、新增網卡配置文件"ifcfg-eth0:0"和"ifcfg-eth0:1" 3、關掉NetworkManager服務 4、重啟網卡,讓系統重讀配置…

    Linux干貨 2016-09-10
  • 對inode的初步理解

    1.什么是inode?     inode中文譯作”索引節點“,是linux操作系統中的一種數據結構,用來存儲文件的元數據信息。在linux系統中每個文件都會分配一個inode,我們也可以把inode看作指針,它永遠指向文件的具體存儲位置。 2.inode中包含了什么信息? * inode 編號 * 用來識別文件類型,以及用于 …

    2017-07-18

評論列表(1條)

  • renjin
    renjin 2017-04-12 13:05

    主要寫了linux下查找方件命令的詳細用法,內容寫的很不錯,排版也挺好的,贊!

欧美性久久久久