成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用 find 命令在 Linux 上查找文件和目錄

系統 Linux
不管我決心如何組織文件,似乎總有無法找到文件的時候。但是,無論遇到什么困難,我知道在 POSIX 系統 上,總是有 find 命令可以幫助我。

不管我決心如何組織文件,似乎總有無法找到文件的時候。有時是因為我不記得最初的文件名,其他時候,我知道名字,但我不記得在哪里保存它了。甚至有時我需要一個我最初就沒有創建的文件。但是,無論遇到什么困難,我知道在 POSIX 系統 上,總是有 find 命令可以幫助我。

安裝 find

[[439920]]

find 命令由 POSIX 規范 定義,它創建了一個用于衡量 POSIX 系統的開放標準,這包括 Linux、BSD 和 macOS。簡而言之,只要你運行的是 Linux、BSD 或 macOS,那么 find 已經安裝了。

但是,并非所有的 find 命令都完全相同。例如,GNU 的 find 命令有一些 BSD、Busybox 或 Solaris 上 find 命令可能沒有或有但實現方式不同的功能。本文使用 findutils 包中的 GNU find,因為它很容易獲得且非常流行。本文演示的大多數命令都適用于 find 的其他實現,但是如果你在 Linux 以外的平臺上嘗試命令并得到非預期結果,嘗試下載并安裝 GNU 版本。

按名稱查找文件

你可以借助正則表達式使用完整或部分的文件名來定位文件。find 命令需要你給出想搜索的目錄;指定搜索屬性選項,例如,-name 用于指定區分大小寫的文件名;然后是搜索字符串。默認情況下,搜索字符串按字面意思處理:除非你使用正則表達式語法,否則 find 命令搜索的文件名正是你在引號之間輸入的字符串。

假設你的 Documents 目錄包含四個文件:Foo、foo、foobar.txt 和 foo.xml。以下是對 foo 的字面搜索:

  1. $ find ~ -name "foo" 
  2. /home/tux/Documents/examples/foo 

你可以使用 -iname 選項使其不區分大小寫來擴大搜索范圍:

  1. $ find ~ -iname "foo" 
  2. /home/tux/Documents/examples/foo 
  3. /home/tux/Documents/examples/Foov 

通配符

你可以使用基本的 shell 通配符來擴展搜索。例如,* 表示任意數量的字符:

  1. $ find ~ -iname "foo*" 
  2. /home/tux/Documents/examples/foo 
  3. /home/tux/Documents/examples/Foo 
  4. /home/tux/Documents/examples/foo.xml 
  5. /home/tux/Documents/examples/foobar.txt 

? 表示單個字符:

  1. $ find ~ -iname "foo*.???" 
  2. /home/tux/Documents/examples/foo.xml 
  3. /home/tux/Documents/examples/foobar.txt 

這不是正則表達式語法,因此 . 在示例中只表示字母“點”。

正則表達式

你還可以使用正則表達式。與 -iname 和 -name 一樣,也有區分大小寫和不區分大小寫的選項。但不一樣的是,-regex 和 -iregex 搜索應用于整個路徑,而不僅僅是文件名。這意味著,如果你搜索 foo,你不會得到任何結果,因為 foo 與 /home/tux/Documents/foo 不匹配。相反,你必須要么搜索整個路徑,要么在字符串的開頭使用通配符:

  1. $ find ~ -iregex ".*foo" 
  2. /home/tux/Documents/examples/foo 
  3. /home/tux/Documents/examples/Foo 

查找近一周修改過的文件

要查找近一周修改的文件,使用 -mtime 選項以及過去的天數(負數):

  1. $ find ~ -mtime -7 
  2. /home/tux/Documents/examples/foo 
  3. /home/tux/Documents/examples/Foo 
  4. /home/tux/Documents/examples/foo.xml 
  5. /home/tux/Documents/examples/foobar.txt 

查找近幾天修改的文件

你可以結合使用 -mtime 選項來查找近幾天范圍內修改的文件。對于第一個 -mtime 參數,表示上一次修改文件的最近天數。第二個參數表示最大天數。例如,搜索修改時間超過 1 天但不超過 7 天的文件:

  1. $ find ~ -mtime +1 -mtime -7 

按文件類型限制搜索

指定查找文件的類型來優化 find 的結果是很常見的。如果你不確定要查找的內容,則不應該使用此選項。但如果你知道要查找的是文件而不是目錄,或者是目錄而不是文件,那么這可能是一個很好的過濾器。選項是 -type,它的參數是代表不同類型數據的字母代碼。最常見的是:

  • d - 目錄
  • f - 文件
  • l - 鏈接文件
  • s - 套接字
  • p - 命名管道(用于 FIFO)
  • b - 塊設備(通常是硬盤)

下面是一些例子:

  1. $ find ~ -type d -name "Doc*" 
  2. /home/tux/Documents 
  3. $ find ~ -type f -name "Doc*" 
  4. /home/tux/Downloads/10th-Doctor.gif 
  5. $ find /dev -type b -name "sda*" 
  6. /dev/sda 
  7. /dev/sda1 

調整范圍

find 命令默認是遞歸的,這意味著它會在指定的目錄中層層搜索結果。這在大型文件系統中可能會變得不堪重負,但你可以使用 -maxdepth 選項來控制搜索深度:

  1. $ find /usr -iname "*xml" | wc -l 
  2. 15588 
  3. $ find /usr -maxdepth 2 -iname "*xml" | wc -l 
  4. 15 

也可以使用 -mindepth 設置最小遞歸深度:

  1. $ find /usr -mindepth 8 -iname "*xml" | wc -l 
  2. 9255 

下載速查表

本文僅介紹 find 的基本功能,它是一個很好的搜索工具,但對于強大的 Parallel 命令來說,它也是一個非常有用的前端。學習 find 的原因有很多,所以 下載我們免費的 find 速查表 吧,它可以幫助你了解有關該命令的更多信息。

 

責任編輯:趙寧寧 來源: Linux中國
相關推薦

2019-09-12 08:21:22

Linuxfind命令查找

2021-06-03 09:02:10

Linuxfind文件

2018-04-28 09:12:42

Linux

2022-05-25 08:41:48

Linuxfd 命令文件

2009-08-03 10:06:22

find命令詳解find命令Linux

2017-12-27 09:40:32

Linuxfind命令

2017-12-26 11:13:41

Linuxfind文件查找

2022-10-08 08:04:47

FindLinuxLocate

2019-10-17 18:00:00

Linuxfind命令xargs命令

2019-08-28 15:38:04

Linux系統工具

2019-07-03 11:16:51

Linux數據庫Line

2014-07-25 11:45:29

Linuxlocate命令

2009-08-04 08:44:56

linux find命linux find查找文件命令

2021-09-10 10:35:25

Linuxstat命令文件系統

2019-03-04 08:14:35

LinuxIDBash

2021-11-24 09:43:11

grepLinux文件

2022-10-25 13:01:36

Linux命令行空目錄

2018-01-29 14:57:16

Linux文件權限find命令

2020-04-10 09:56:12

at命令Linux安排任務

2018-09-13 10:40:40

Linux命令find
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 韩国电影久久 | 在线a视频| 精品日韩一区二区 | 久草网站 | 午夜看看| 成人精品一区二区三区中文字幕 | 午夜激情免费 | 日日拍夜夜 | 91国自产| 成人精品 | аⅴ资源新版在线天堂 | 日韩精品一区二区三区中文在线 | 国产精品一区视频 | 亚洲男人网 | 亚洲国产一区二区三区四区 | 欧美日韩在线一区二区三区 | 日韩性生活网 | 国产精品永久免费 | 亚州精品天堂中文字幕 | 中文字幕韩在线第一页 | 亚洲精品乱码 | 欧美成人激情 | 国产成人精品久久二区二区 | 日韩免费1区二区电影 | 国产精品国产三级国产aⅴ中文 | 亚洲一区二区三区四区五区午夜 | 小h片免费观看久久久久 | 91久久网站 | 91久久久久 | 亚洲精品中文在线观看 | 女同久久另类99精品国产 | 国产精品久久久久久一区二区三区 | 精品国产一级片 | 国产激情一区二区三区 | 一区二区三区在线观看视频 | 亚洲草草视频 | 国产9久| 日本精品一区二区在线观看 | 亚洲狠狠 | 亚洲国产高清在线观看 | 免费一级做a爰片久久毛片潮喷 |