當前位置:首頁 » 操作系統 » linux命令查找

linux命令查找

發布時間: 2022-06-23 14:31:06

linux命令查找文件里的信息

Linux查找文件內容的常用命令方法。
從文件內容查找匹配指定字元串的行:
$ grep "被查找的字元串" 文件名
例子:在當前目錄里第一級文件夾中尋找包含指定字元串的.in文件
grep "thermcontact" */*.in
從文件內容查找與正則表達式匹配的行:
$ grep –e 「正則表達式」 文件名
查找時不區分大小寫:
$ grep –i "被查找的字元串" 文件名
查找匹配的行數:
$ grep -c "被查找的字元串" 文件名
從文件內容查找不匹配指定字元串的行:
$ grep –v "被查找的字元串" 文件名
從根目錄開始查找所有擴展名為.log的文本文件,並找出包含」ERROR」的行
find / -type f -name "*.log" | xargs grep "ERROR"
例子:從當前目錄開始查找所有擴展名為.in的文本文件,並找出包含」thermcontact」的行
find . -name "*.in" | xargs grep "thermcontact"

Ⅱ 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/查找一個目錄的linux命令

查找目錄:find /(查找范圍) -name '查找關鍵字' -type d
查找文件:find /(查找范圍) -name 查找關鍵字 -print
更詳細 可以去 網路下一個linux命令手冊

Ⅳ 怎麼在Linux中查找某個文件

在 Linux 中查找文件有兩種方法。一種是使用 find 命令,另外一種是使用 locate 命令。

1、Find 命令

使用 Linux find 命令可以用不同的搜索標准如名字、類型、所屬人、大小等來搜索目錄樹。基本語法如下:

#findpathexpressionsearch-term

下面是使用 find 命令根據文件名來查找特定文件的一個例子:

#find-nametest.file

命令會搜索整個目錄樹來查找名為 test.file 的文件,並且會提供其存放位置。你可以使用你 Linux 上一個存在的文件名來嘗試一下。

find 命令有時會花費幾分鍾來查找整個目錄樹,尤其是如果系統中有很多文件和目錄的話。要顯著減少時間,你可以指定搜索的目錄。比如,如果你知道 /var 中存在 test.file,那就沒有必要搜索其它目錄。這樣,你可以使用下面的命令:

#find/var-nametest.file

find 還可以根據時間、大小、所屬人、許可權等選項搜索文件。要了解更多關於這些選項的信息,你可以使用查看** Linux find 命令**的手冊。

#manfind

2、locate 命令

要在Linux中使用locate命令,首先需要安裝它。

如果你正在使用 Ubuntu,運行下面的命令來安裝 locate:

#apt-getupdate#apt-getinstallmlocate

如果你使用的是 CentOS ,運行下面的命令來安裝 locate:

#yuminstallmlocate

locate 是一種比 find 更快的方式,因為它在資料庫中查找文件。要更新搜索資料庫,運行下面的命令:

#updatedb

使用 locate 查找文件的語法:

#locatetest.file

就像 find 命令一樣,locate 也有很多選項來過濾輸出。要了解更多你可以查看Linux Locate 命令的手冊。

#manlocate

Ⅳ 在linux中查找字元串用什麼命令

Linux查找字元串用grep命令,可以查找文件,也可以在命令的結果中查找。如果是在文件中查找字元串,用法是:
grep 用英文單引號括起來的字元串 文件名
如果是在命令的顯示結果中查找,需要用管道符將命令與grep連接起來,像這樣:
last | grep 'root'
(在last命令的顯示結果中查找字元串root)

Ⅵ linux查找文件內容命令

搜索、查找文件當中的內容,一般最常用的是grep命令,另外還有egrep, vi命令也能搜索文件裡面內容

1:搜索某個文件裡面是否包含字元串,使用grep "search content" filename1, 例如

$ grep ORA alert_gsp.log

$ grep "ORA" alert_gsp.log

例如我們需要搜索、查找utlspadv.sql文件中包含ORA的字元內容

[oracle@DB-Server admin]$ grep "ORA" utlspadv.sql
-- ORA-XXXXX: Monitoring already started. If for example you want
-- ORA-20111:
-- ORA-20112:
-- ORA-20113: 'no active monitoring job found'
-- ORA-20113: 'no active monitoring job found'
-- 0 |<PS> =>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 0 0 2 99.3% 0% 0.7% ""
-- |<PR> DBS1.REGRESS.RDBMS.DEV.US.ORACLE.COM=> 100% 0% 0% "" |<PR> ...
-- =>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 92 7 99.3% 0% 0.7% "" |<PR> ...
-- |<C> CAPTURE_USER1=>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 2 0 0 0.E+00
-- |<C> CAPTURE_USER1=>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM
-- ORA-20111:
-- ORA-20112:
-- ORA-20100:
-- ORA-20113: 'no active monitoring job found'
-- ORA-20113: 'no active monitoring job found'
[oracle@DB-Server admin]$

如上所示,這個是一個模糊匹配,其實我是想要查看ORA這類錯誤,那麼我要過濾掉哪一些沒有用的,搜索的內容修改一下即可(當然也可以使用特殊參數,後面有講述),如下所示。

[oracle@DB-Server admin]$ grep "ORA-" utlspadv.sql
-- ORA-XXXXX: Monitoring already started. If for example you want
-- ORA-20111:
-- ORA-20112:
-- ORA-20113: 'no active monitoring job found'
-- ORA-20113: 'no active monitoring job found'
-- ORA-20111:
-- ORA-20112:
-- ORA-20100:
-- ORA-20113: 'no active monitoring job found'
-- ORA-20113: 'no active monitoring job found'
[oracle@DB-Server admin]$

7:有些場景,我們並不知道文件類型、或那些文件包含有我們需要搜索的字元串,那麼可以遞歸搜索某個目錄以及子目錄下的所有文件

[oracle@DB-Server ~]$ grep -r "v$temp_space_header" /u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql:create or replace view v_$temp_space_header as select * from v$temp_space_header;

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql:create or replace public synonym v$temp_space_header for v_$temp_space_header;

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql:create or replace view gv_$temp_space_header as select * from gv$temp_space_header;

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql:create or replace public synonym gv$temp_space_header

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql: FROM gv$temp_space_header

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspacd.sql:drop public synonym v$temp_space_header;

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspacd.sql:drop public synonym gv$temp_space_header;

[oracle@DB-Server ~]$

8:如果我們只想獲取那些文件包含搜索的內容,那麼可以使用下命令

[oracle@DB-Server ~]$ grep -H -r "v$temp_space_header" /u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/ | cut -d: -f1

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspacd.sql

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspacd.sql

[oracle@DB-Server ~]$ grep -H -r "v$temp_space_header" /u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/ | cut -d: -f1 | uniq

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspacd.sql

[oracle@DB-Server ~]$

9:如果只想獲取和整個搜索字元匹配的內容,那麼可以使用參數w

你可以對比一下兩者的區別

[oracle@DB-Server admin]$ grep -w "ORA" utlspadv.sql
-- ORA-XXXXX: Monitoring already started. If for example you want
-- ORA-20111:
-- ORA-20112:
-- ORA-20113: 'no active monitoring job found'
-- ORA-20113: 'no active monitoring job found'
-- ORA-20111:
-- ORA-20112:
-- ORA-20100:
-- ORA-20113: 'no active monitoring job found'
-- ORA-20113: 'no active monitoring job found'
[oracle@DB-Server admin]$ grep "ORA" utlspadv.sql
-- ORA-XXXXX: Monitoring already started. If for example you want
-- ORA-20111:
-- ORA-20112:
-- ORA-20113: 'no active monitoring job found'
-- ORA-20113: 'no active monitoring job found'
-- 0 |<PS> =>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 0 0 2 99.3% 0% 0.7% ""
-- |<PR> DBS1.REGRESS.RDBMS.DEV.US.ORACLE.COM=> 100% 0% 0% "" |<PR> ...
-- =>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 92 7 99.3% 0% 0.7% "" |<PR> ...
-- |<C> CAPTURE_USER1=>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 2 0 0 0.E+00
-- |<C> CAPTURE_USER1=>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM
-- ORA-20111:
-- ORA-20112:
-- ORA-20100:
-- ORA-20113: 'no active monitoring job found'
-- ORA-20113: 'no active monitoring job found'
[oracle@DB-Server admin]$

10: grep命令結合find命令搜索

[oracle@DB-Server admin]$ find . -name '*.sql' -exec grep -i 'v$temp_space_header' {} ; -print
create or replace view v_$temp_space_header as select * from v$temp_space_header;
create or replace public synonym v$temp_space_header for v_$temp_space_header;
create or replace view gv_$temp_space_header as select * from gv$temp_space_header;
create or replace public synonym gv$temp_space_header
FROM gv$temp_space_header
./catspace.sql
drop public synonym v$temp_space_header;
drop public synonym gv$temp_space_header;
./catspacd.sql
[oracle@DB-Server admin]$

11: egrep -w -R 'word1|word2' ~/klbtmp

12: vi命令其實也能搜索文件裡面的內容,只不過沒有grep命令功能那麼方便、強大。

Ⅶ linux查找文件的命令(高手請進)

這個很容易吧 在目錄下面運行

-ab | grep 13655

a參數表明顯示所有文件 不僅僅是文件夾 b參數表明以Byte為單位輸出 (默認是K,你要找的是Byte)

yo 你這個還是WD的某款帶管理的網路硬碟吶? 內嵌一個微型linux?

有幾點錯誤, 首先 ,這個頁面是 perl CGI程序生成的頁面, 你在瀏覽器屬性中看到的大小並不是頁面的真實大小 所以 以這個大小定位文件的基礎不成立

最好的方法也就是 grep -r 'keyword' * 來定位文件名 然後通過文件名查找位置

Ⅷ Linux中查找文件夾的命令

Linux中查找文件夾的命令是find命令。

Linux-文件搜索命令find的操作使用方法如下:

1、全盤搜索,也可以指定目錄搜索。find搜索目錄 -name目標名字,find / -name file

Ⅸ linux查找內容命令

find,用於在文件樹中查找文件並作相應的處理

-name:按照文件名查找文件

-perm:按照文件許可權查找文件

-user:按照文件屬主來查找文件

-size:按照指定的文件大小查找文件【+n:大於,-n:小於,n:等於】

-group:按照文件所屬的組來查找文件

-mtime<-n><+n>:按照文件更改時間來查找文件,-n表示n天之內,+n表示n天以前

-newer file1 file2:查找更改時間在file1和file2之間的文件

例如:

  • find -mtime -2:查找48小時修改過的文件

  • find -name ".log":查找當前目錄以".log"結尾的文件

  • find /opt/soft/test -perm 777:查找指定目錄下許可權為777的文件

  • find -type f -name "*.log":查找當前目錄下以".log"結尾的普通文件

  • find -type d | sort:查找當前所有目標目錄並排序

  • find /home/wansw -size +20M:查找大於20M的文件

  • locate指令,可以快速定位文件路徑,利用事先建立的系統中的所有文件名稱和路徑的locate資料庫,無需遍歷整個文件系統,查詢速度較快,為了保證查詢准確性,需要定期更新。《Linux就該這么學》

  • updatedb:第一次運行前,創建locate資料庫

  • grep,用於過濾/搜索指定字元串。可以使用正則表達式,能配合多種命令使用。

    用法:grep 【選項】 查找內容 源文件

    -A:顯示符合的行及之後的內容

    -B:顯示符合的行及之前的內容

    -C:顯示符合的行及前後的內容

    -c:計算符合的行數目

    -n:顯示匹配行和行號

    -i:忽略大小寫

    規則表達式

    :'grep'表示匹配所有以grep開頭的行

    '表示匹配所有以grep結尾的行

    .:'gr.p'表示匹配'gr'後面接任意字元然後是'p'

    :'grep'表示匹配一個或多個空格後緊跟grep的行

    []:[Gg]rep表示匹配Grep與grep

    []:[A-FH-Z]rep表示匹配不以A-F、H-Z開頭並緊跟rep的行

    例如(grep命令大多數時候多要和別的命令一起使用才有意義):

    ps -ef | grep -c SVN:查找指定的進程的個數

    cat test.txt | grep -f test2.txt:從text2.txt中讀取關鍵字後在test.txt中搜索

    cat test.txt | grep nf text2.txt:從text2.txt中讀取關鍵字後在text.txt中搜索並顯示行號

    grep 'linux' text.txt test2.txt:從多個文件中搜索關鍵字'linux'

    cat test.txt | grep -E 'ed|at':顯示包含ed或at的行

熱點內容
傳奇掛機腳本下載 發布:2024-11-13 04:07:52 瀏覽:353
c語言bool的用法 發布:2024-11-13 04:07:42 瀏覽:810
傳奇編輯器源碼 發布:2024-11-13 04:02:05 瀏覽:68
銀行回單存儲 發布:2024-11-13 03:33:42 瀏覽:10
博途上傳編譯之後不一致 發布:2024-11-13 03:33:42 瀏覽:28
什麼是黑機安卓 發布:2024-11-13 03:30:25 瀏覽:107
java數組object數組 發布:2024-11-13 03:30:25 瀏覽:401
台灣雲伺服器價格 發布:2024-11-13 03:29:42 瀏覽:287
十年編程詩 發布:2024-11-13 03:28:16 瀏覽:862
修飾訪問符 發布:2024-11-13 03:02:24 瀏覽:55