系統(tǒng)之家 - 系統(tǒng)光盤下載網(wǎng)站!

當(dāng)前位置:系統(tǒng)之家 > 系統(tǒng)教程 > Linux下的find命令

初學(xué)者如何快速學(xué)習(xí)Linux下的find命令

時間:2014-12-04 11:04:51 作者:qipeng 來源:系統(tǒng)之家 1. 掃描二維碼隨時看資訊 2. 請使用手機(jī)瀏覽器訪問: https://m.xitongzhijia.net/xtjc/20141204/31873.html 手機(jī)查看 評論

  單純的了解Linux find命令是不夠的,我們還要知道怎么使用它,下面小編從find的例子中給大家介紹下find的用法,希望對初學(xué)者能有所幫助。

 初學(xué)者如何快速學(xué)習(xí)Linux下的find命令

  讓我們先從一個簡單例子開始。

  $ find / -name test

  。/backup/ modules/field/modules/test

  $

  “查找根目錄下名稱為’test’的文件”, 這條命令會讓系統(tǒng)查找所有文件, 包括掛載的文件設(shè)備。 這可能需要花費(fèi)一段時間, 尤其是查找網(wǎng)絡(luò)共享硬盤。 不過, 我們可以通過參數(shù)-mount告訴, 系統(tǒng)忽略掛載設(shè)備:

  $ find / -mount -name test

  find命令格式如下:

  find [path] [options] [tests] [actions]

 。踦ath]

  路徑; 應(yīng)該不難理解。 這里可以使用絕對路徑, 也快成使用相對路徑。

  [options]

  參數(shù); 比較常用的參數(shù)用:

  -depth: 先查找子目錄再查看當(dāng)前目錄 -follow: 跟蹤查找連接文件 -maxdepths N: 子目錄遞歸最大深度 -mount(or -xdev): 忽略掛載文件

 。踭ests]

  條件匹配;

  -atime -N/N/+N: 最后一次訪問文件的時間在 N天內(nèi)/N天/N天前 -mtime -N/N/+N: 最后一次修改文件的時間在 N天內(nèi)/N天/N天前 -name pattern: 與pattern相匹配的文件(包括目錄) -newer f1 !f2: 比文件f1新的文件, 比文件f2舊的文件 -type b/d/c/p/l/f: 文件類型為: 塊設(shè)備/目錄/字符設(shè)備/管道/鏈接/文件 -user username: 文件的所有者是username

  我們可以通過以下操作符, 將匹配條件 連起來:

  -not (。 方向匹配 -and (-a): 而且 -or (-o): 或者

  我們還可以通過括號將一些匹配符號合并。 例如

  \(-newer -o -name ‘*test’ \)

  現(xiàn)在舉一個稍微有點(diǎn)復(fù)雜的例子, 查找當(dāng)天被訪問過或修改過的文件, 文件名包含’python’, 而起文件所有者是’anthony’:

  # find / \( -atime -1 -or -mtime -1 \) -and -name ‘*python*’ -and -user ‘anthony’

  /home/anthony/svn_code/subversion-1.7.2/subversion/bindings/swig/python

  /home/anthony/svn_code/subversion-1.7.2/subversion/bindings/ctypes-python

  /home/anthony/python

  /home/anthony/python/Python-3.2.2/build/temp.linux-x86_64-3.2/home/anthony/python

  /home/anthony/python/Python-3.2.2/Tools/unicode/python-mappings

  /home/anthony/.local/lib/python3.2

  #

 。踑ctions]

  操作;

  -exec command: 執(zhí)行命令, 具體介紹見后文。 -ok command: 和-exec一樣, 除了命令執(zhí)行需要用戶許可。 -print: 打印文件名 -ls: 列出文件詳細(xì)信息

  現(xiàn)在舉例說明-exec command

  anthony@z:~$ find -mtime -1 -type f -exec ls -l {} \;

  -rw-r--r-- 1 anthony anthony 0 Apr 5 12:04 。/search/search.txt

  -rw------- 1 anthony anthony 22997 Apr 5 12:04 。/.viminfo

  -rw------- 1 anthony anthony 125 Apr 5 14:25 。/.lesshst

  anthony@z:~$

  簡單地說, -exec或-ok, 將查詢到的文件作為參數(shù)傳遞給后面的命令執(zhí)行, 而參數(shù)的位置用{}標(biāo)識, 即命令中, “{}”替換成find查找出來的文件名, 最后”\;”表示結(jié)束符。

  上面就是Linux find命令的介紹了,從例子中學(xué)習(xí)find命令效果會比看理論知識會好的多,對于初學(xué)者來說,多看例子多動手是很有必要的。

標(biāo)簽 Linux 命令

發(fā)表評論

0

沒有更多評論了

評論就這些咯,讓大家也知道你的獨(dú)特見解

立即評論

以上留言僅代表用戶個人觀點(diǎn),不代表系統(tǒng)之家立場

其他版本軟件

熱門教程

人氣教程排行

Linux系統(tǒng)推薦

官方交流群 軟件收錄