⑴ 在linux中怎樣在一個文檔中查找一個字元串
在文檔中查找字元串用grep命令最合適了,直接在終端中輸入命令,不需要打開文件,格式是:grep 單用戶括起來的字元串 要查找的文件名
例子:grep 'abcdef' helloworld.py
grep命令中有幾個有用的參數:
-i參數:表示忽略查找字元串的大小寫
-n參數:表示輸出結果的行號
-c參數:計算知道的字元串的次數
用單引號括起來的查找字元串中還可以包含正則表達式呢。
⑵ 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的行
⑶ 如何在Linux中查找系統中所有的空文件,並記錄到/tmp/zerofile.log
find/-size0-typef>/tmp/zerofile.log
假設將etc下的文件復制到tmp目錄
#cp -r /etc/* /tmp
#是代表root用戶 普通用戶有些文件可能無法移動,所以需要root許可權
如果是debian分支的可以直接輸入sudo cp -r /etc/* /tmp
可以在終端使用 cp --help 命令查看幫助文檔
linux中文件查找命令有很多,一般文件分類為兩種,一種是應用程序,即二進制文件,一種是文檔,即文本文件。對於前者,一般使用whereis、which等命令,對於後者,習慣使用find命令,find命令是linux是最強大的文件搜索命令。
(3)linux在文本中查找擴展閱讀:
對Linux進行適當的修改和刪減,並且能夠在嵌入式系統上使用的系統,就是嵌入式Linux操作系統。具有如下的特點:Linux系統是完全開放、免費的。正是開放性,它才能和其他系統互相兼容,進而實現信息的互聯。而且它可以任意修改源代碼,這是其他系統所不具備的。
Linux操作系統的顯著優勢是多用戶和多任務。保證了多個用戶使用互不影響;多任務獨立開後,互不幹擾,使得效率方面大大提高,可以充分把性能發揮出來。
⑷ Linux怎麼查看文本中指定行的內容
對於比較大的文件,打開整個文本文件是不現實的,因為文件本身可能都是內存的好幾倍。由於需要,查看文件中指定行的內容,可以使用如下命令:
sed -n 行數p 文件名
如果文件非常大,讀出需要等待一段時間。
⑸ Linux下文件搜索、查找、查看命令
1、最強大的搜索命令:find 查找各種文件的命令
2、在文件資料中查找文件:locate
3、搜索命令所在的目錄及別名信息:which
4、搜索命令所在的目錄及幫助文檔路徑:whereis
5、在文件中搜尋字元串匹配的行並輸出:grep
6、分頁顯示一個文件或任何輸出結果:more
7、分頁顯示一個文件並且可以回頭:less
8、指定顯示前多少行文件內容:head
9、指定顯示文件後多少行內容:tail
10、查看一個文件:cat
11、查看文件內容多少字元多少行多少位元組:wc
12、排序文件內容:sort
一、根據 文件或目錄名稱 搜索
find 【搜索目錄】【-name或者-iname】【搜索字元】:-name和-iname的區別一個區分大小寫,一個不區分大小寫
eg:在/etc 目錄下搜索名字為init的文件或目錄
①、find /etc -name init (精準搜索,名字必須為 init 才能搜索的到)
②、find /etc -iname init (精準搜索,名字必須為 init或者有字母大寫也能搜索的到)
③、find /etc -name *init (模糊搜索,以 init 結尾的文件或目錄名)
④、find /etc -name init??? (模糊搜索,? 表示單個字元,即搜索到 init___)
二、根據 文件大小 搜索
eg:在根目錄下查找大於 100M 的文件
find / -size +204800
這里 +n 表示大於,-n 表示小於,n 表示等於
1 數據塊 == 512 位元組 0.5KB,也就是1KB等於2數據塊
100MB == 102400KB204800數據塊
三、根據 所有者和所屬組 搜索
①、在home目錄下查詢所屬組為 root 的文件
find /home -group root
②、在home目錄下查詢所有者為 root 的文件
find /home -user root
四、根據 時間屬性 搜索
find 【路徑】【選項】【時間】
選項有下面三種:-amin 訪問時間
-cmin 文件屬性被更改
-mmin 文件內容被修改
時間:+n,-n,n分別表示超過n分鍾,n分鍾以內和n分鍾
eg:在 /etc 目錄下查找5 分鍾內被修改過屬性的文件和目錄
find /etc -cmin -5
五、根據 文件類型或i節點 搜索
-type 根據文件類型查找:
f表示文件,d表示目錄,l表示軟鏈接
eg:查找 /home 目錄下文件類型是目錄的
find /home -type d
-inum 根據i節點查找
eg:查找 /tmp 目錄下i節點為400342的文件或目錄
find /tmp -inum 400342
六、組合條件 搜索
這里有兩個參數:
①、-a 表示兩個條件同時滿足(and)
②、-o 表示兩個條件滿足任意一個即可(or)
範例:查找/etc目錄下大於80MB同時小於100MB的文件
find /etc -size +163840 -a -size -204800
語法:locate【文件名】 -i 不區分大小寫
注意:這里和 find 命令是有區別的,find是全盤檢索,而locate 是在文件資料庫中進行搜索。所以locate命令的執行要比find命令執行速度快很多。但是這里有個問題,文件資料庫是需要不斷更新的。我們新創建的文件如果不更新 文件資料庫,使用 locate 是查找不到的。
updatedb 手動更新資料庫,但是對於/tmp目錄下的新建文件,是更新不到文件資料庫的,因為/tmp目錄不屬於文件資料庫的收錄范圍。
eg:locate hcf
功能描述:搜索命令所在的目錄及別名信息
語法:which【命令】
eg:which ls
功能描述:搜索命令所在的目錄及幫助文檔路徑
語法:whereis【命令】
eg:whereis ls
功能描述:在文件中搜尋字元串匹配的行並輸出
語法:grep -iv 【指定字元串】【文件】
-i 不區分大小寫
-v 排除指定字元串
eg:查找 /root/install.log 文件中包含 mysql 字元串的行,並輸出
grep mysql /root/install.log
本搜索工具,根據用戶指定的模式,對目標文件逐行進行匹配檢查,列印匹配到的行
grep是在文件中搜索匹配的字元串,是在文件中進行內容搜索,這個命令後面用到的比較多
描述:
分頁顯示一個文件或任何輸出結果
用於查看純文本文件(較長的)格式
格式:
more[選項] 文件
less 與 more 類似,但使用 less 可以隨意瀏覽文件,而 more 僅能向前移動,卻不能向後移動,而且 less 在查看之前不會載入整個文件。
head[必要參數][選擇參數][文件]
用於顯示指定文件開始多少行內容
命令參數:
-n 10 顯示前10行
-n -10 正常輸出但不顯示最後的10行
eg:顯示new.txt的前兩行內容
head -n 2 new.txt
head -2 new.txt
tail[必要參數][選擇參數][文件]
用於顯示指定文件末尾多少行內容
命令參數:
-n 10 顯示後面10行
-f 持續刷新顯示的內容
eg:顯示new.txt的末尾兩行內容
tail -n 2 new.txt
tail -2 new.txt
eg:指定從第二行開始顯示
tail -n +2 new.txt
描述:一次顯示整個文件內容
cat 命令 用於查看純文本文件(較短)
cat [選項] [文件]…
描述:wc 命令默認情況下會列印換行符數、單詞數和字元數。
用法:wc [選項] [文件]
用法:sort [選項] [文件]
轉自: Linux下文件搜索、查找、查看命令_黃小小的博客-CSDN博客_linux 搜索
⑹ linux下怎樣在一個文件裡面查找一個字元串
在normal模式下按下/即可進入查找模式,輸入要查找的字元串並按下回車。
Vim會跳轉到第一個匹配。按下n查找下一個,按下N查找上一個。
Vim查找支持正則表達式,例如/vim$匹配行尾的"vim"。 需要查找特殊字元需要轉義,例如/vim$匹配"vim$"。
實戰一下:
1、用vim打開要查找的文件
注意,如果沒有安裝vim,系統會提示安裝語句,復制運行即可安裝vim
⑺ 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查找文件列表中是否包含某字元串
在 Linux 系統中可以使用 grep 命令實現該功能。例如:
$grep "my_string" *.txt
其中:$ 表示普通用戶的提示符,該命令的作用是:在所有的文本文件(*.txt)中查找出包含有"my_string"字元串的文本文件,並顯示在顯示器上。
⑼ 怎麼在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