① linux中find和locate的區別
這是兩個不同的命令,關於grep:
Linux系統中grep命令是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹 配的行列印出來。grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用許可權是所有用戶。
而linux下的find
功能:在目錄結構中搜索文件,並執行指定的操作。此命令提供了相當多的查找條件,功能很強大。
語法:find 起始目錄 尋找條件 操作
說明:find命令從指定的起始目錄開始,遞歸地搜索其各個子目錄,查找滿足尋找條件的文件並對之採取相關的操作。
所以簡單點說說,grep是查找匹配條件的行,find是搜索匹配條件的文件。
② Linux中查找文件夾的命令
Linux中查找文件夾的命令是find命令。
Linux-文件搜索命令find的操作使用方法如下:
1、全盤搜索,也可以指定目錄搜索。find搜索目錄 -name目標名字,find / -name file
③ 在Linux系統中,常使用什麼命令檢索關鍵字
方法一:find命令
find是最常見和最強大的查找命令,你可以用它找到任何你想找的文件。
命令格式:find <指定目錄> <指定條件> <指定動作>
- <指定目錄>: 所要搜索的目錄及其所有子目錄。默認為當前目錄。
- <指定條件>: 所要搜索的文件的特徵。
- <指定動作>: 對搜索結果進行特定的處理。
如果什麼參數也不加,find默認搜索當前目錄及其子目錄,並且不過濾任何結果(也就是返回所有文件),將它們全都顯示在屏幕上。
使用實例:
$ find . -name 'my*'
搜索當前目錄(含子目錄,以下同)中,所有文件名以my開頭的文件。
$ find . -name 'my*' -ls
搜索當前目錄中,所有文件名以my開頭的文件,並顯示它們的詳細信息。
$ find . -type f -mmin -10
搜索當前目錄中,所有過去10分鍾中更新過的普通文件。如果不加-type f參數,則搜索普通文件+特殊文件+目錄。
方法二:locate命令
locate命令其實是"find -name"的另一種寫法,但是要比後者快得多,原因在於它不搜索具體目錄,而是搜索一個資料庫(/var/lib/locatedb),這個資料庫中含有本地所有文件信息。Linux系統自動創建這個資料庫,並且每天自動更新一次,所以使用locate命令查不到最新變動過的文件。為了避免這種情況,可以在使用locate之前,先使用updatedb命令,手動更新資料庫。
使用實例:
$ locate /etc/sh
搜索etc目錄下所有以sh開頭的文件。
$ locate ~/m
搜索用戶主目錄下,所有以m開頭的文件。
$ locate -i ~/m
搜索用戶主目錄下,所有以m開頭的文件,並且忽略大小寫。
④ linux中怎麼查看文件是否存在
find命令
find是linux下用於查找文件的通用方法。
find語法: find [指定查找目錄] [查找規則] [查找完後執行的action]
例如:find /tmp -name wa* -type l ,是在/tmp下查找名為wa開頭且類型為符號鏈接的文件。找到就表示存在。
⑤ linux中find命令的使用方法有哪些
find可以根據文件名,文件類型,文件大小,文件擁有者,文件所屬組,文件許可權等等來查詢,這些只是一般常用的參數,格式:find [路徑][參數][表達式]
滿意請採納
⑥ linux 怎麼 查找一個指定的文件 和 文件夾
1、使用命令find來查找指定的文件和文件夾。find的語法:
find [起始目錄] 尋找條件 操作
2、表述方式:find PATH OPTION [-exec COMMAND { } \;]
find命令會根據用戶給的option,也就是尋找條件從用戶給出的目錄開始對其中文件及其下子目錄中的文件進行遞歸搜索。該命令中的尋找條件可以是一個用邏輯運算符 not、and、or 組成的復合條件。邏輯運 算符 and、or、not 的含義為:
(1) and:邏輯與,在命令中用「-a」表示,是系統預設的選項,表示只有當所給的條 件都滿足時,尋找條件才算滿足。例如:
find –name 』tmp』 –xtype c -user 』inin』% 該命令尋找三個給定條件都滿足的所有文件。
(2) or:邏輯或,在命令中用「-o」表示。該運算符表示只要所給的條件中有一個滿足 時,尋找條件就算滿足。例如:
find –name 』tmp』 –o –name 』mina*』% 該命令查詢文件名為』tmp』或是匹配』mina*』的所有文件。
(3) not:邏輯非,在命令中用「!」表示。該運算符表示查找不滿足所給條件的文件 。例如:
find ! –name 』tmp』% 該命令查詢文件名不是』tmp』的所有文件。
需要說明的是:當使用很多的邏輯選項時,可以用括弧把這些選項括起來。為了避免Shell本身對括弧引起誤解,在話號前需要加轉義字元「\」來去除括弧的意義。例:
find \(–name 』tmp』 –xtype c -user 』inin』 \)
3、在find中的option的內容了:
在option中,具體有參數:
-name 』字串』 查找文件名匹配所給字串的所有文件,字串內可用通配符 *、?、[ ]。
-lname 』字串』 查找文件名匹配所給字串的所有符號鏈接文件,字串內可用通配符 *、?、[ ]。
-gid n 查找屬於ID號為 n 的用戶組的所有文件。
-uid n 查找屬於ID號為 n 的用戶的所有文件。
-group 』字串』 查找屬於用戶組名為所給字串的所有的文件。
-user 』字串』 查找屬於用戶名為所給字串的所有的文件。
-empty 查找大小為 0的目錄或文件。
-path 』字串』 查找路徑名匹配所給字串的所有文件,字串內可用通配符*、?、[ ]。
-perm 許可權 查找具有指定許可權的文件和目錄,許可權的表示可以如711,644。
-size n[bckw] 查找指定文件大小的文件,n 後面的字元表示單位,預設為 b,代表512位元組的塊。
-type x 查找類型為 x 的文件,x 為下列字元之一:
b 塊設備文件
c 字元設備文件
d 目錄文件
p 命名管道(FIFO)
f 普通文件
l 符號鏈接文件(symbolic links)
s socket文件
-xtype x 與 -type 基本相同,但只查找符號鏈接文件。
以時間為條件查找
-amin n 查找n分鍾以前被訪問過的所有文件。
-atime n 查找n天以前被訪問過的所有文件。
-cmin n 查找n分鍾以前文件狀態被修改過的所有文件。
-ctime n 查找n天以前文件狀態被修改過的所有文件。
-mmin n 查找n分鍾以前文件內容被修改過的所有文件。
-mtime n 查找n天以前文件內容被修改過的所有文件。
-print:將搜索結果輸出到標准輸出。
⑦ find 命令的 7 種用法
可以很肯定地說, find 命令是 Linux 後台開發人員必須熟知的操作之一,除非您使用的是 Windows Server。
對於技術面試,它也是一個熱門話題。讓我們看一道真題:
這種情況很常見,但令人驚訝的是,並非每個開發人員都能在面試中清楚地寫出這個命令。
答案:首先我們需要使用 cd 命令進入對應的目錄,然後,命令如下:
如果你還沒有完全理解上面的命令,完全不用擔心。本文將介紹 find 命令的 7 個實際用途,您最終會掌握它。如果您已經知道了,那麼閱讀這篇文章對您來說將是一個很好的回顧。
0. 按名稱或正則表達式查找文件
讓我們從最簡單的用法開始。要按特定名稱搜索文件,命令如下:
如何查找所有格式為 pdf 的書籍?使用正則表達式:
默認情況下,find 命令會搜索常規文件,但最好進行指定( -type f )以使所有內容更清晰:
1. 查找不同類型的文件
除了搜索常規文件外,我們還可以通過指定 -type 選項來搜索其他類型的文件。
例如目錄:
或者符號鏈接:
2.按指定的時間戳查找文件
要按指定的時間戳搜索文件,我們需要知道 Linux 系統中的 3 個不同的時間戳:
所以,正如開頭提到的面試題,要搜索 atime 超過一年的文件,我們可以編寫如下命令:
如果我們需要查找 mtime 正好是 5 天前的文件,請不要包含 + ,因為它的意思是「大於」。
顯然, + 表示「大於」, - 表示「小於」。所以我們可以搜索 ctime 在 5~10 天前的文件:
3. 按大小查找文件
-size 選項使我們能夠按指定大小查找文件。我們可以將其計量單位指定為以下約定:
類似於按時間戳查找文件,+ 表示「大於」,- 表示「小於」。例如,要查找大小為 10 MB ~ 1 GB 的文件:
4. 按許可權查找文件
合理控制文件的許可權是 Linux 管理員的一項重要任務。find 命令的 -perm 選項可以幫助我們按指定許可權查找文件:
例如,上面的命令會搜索所有具有 777 許可權的文件,這意味著一個文件對其持有者、組和所有用戶具有所有的讀、寫和可執行許可權。
5. 按所有權查找文件
這個任務很簡單。我們可以使用 -user 選項指定用戶名。例如,以下命令將查找所有屬於 yang 的文件:
6. 在找到文件後執行命令
在大多數情況下,我們希望在找到我們需要的文件後進行後續操作。例如將其刪除,或檢查它們的詳細信息等等。-exec 命令使這些所有事情變得更加容易。
現在,要了解如何使用它,讓我們回到之前提到的面試問題:
上述命令在 -exec 選項後是 rm -rf,其用於刪除文件。{} 是用於查找結果的佔位符。
注意:佔位符 {} 非常重要,尤其是在您想刪除文件時。因為,如果您不使用它,該命令將對所有文件執行(而不是您剛剛通過 find 命令找到的文件)。
做一個嘗試,請在終端上執行以下兩個命令,並檢查它們的結果有何不同:
一個使用佔位符:
另一個不使用:
-exec 選項後面的命令必須以分號(;)結束。眾所周知,轉義字元用於去除單個字元的特殊含義。在 Linux 中,反斜杠 用作轉義字元。所以我們將它用於分號字元。
總結
看完 find 命令的 7 種用法後,開始提到的面試題現在好像很容易解決了。你現在可以直接寫下它的答案並將其解釋清楚嗎?
⑧ Linux下find命令和grep命令查找文件
在使用linux時,經常需要進行文件查找。其中查找的命令主要有find和grep。
兩個命令是有區的。
(1)find命令是根據文件的屬性進行查找,如文件名,文件大小,所有者,所屬組,是否為空,訪問時間,修改時間等。
(2)grep是根據文件的內容進行查找,會對文件的每一行按照給定的模式(patter)進行匹配查找。
一.find命令
基本格式:find path expression
1.按照文件名查找
(1)find / -name httpd.conf
在根目錄下查找文件httpd.conf,表示在整個硬碟查找
(2)find /etc -name httpd.conf
在/etc目錄下文件httpd.conf
(3)find /etc -name ' srm '
使用通配符*(0或者任意多個)。表示在/etc目錄下查找文件名中含有字元串『srm』的文件
(4)find . -name 'srm*'
表示當前目錄下查找文件名開頭是字元串『srm』的文件