需要準(zhǔn)備的材料分別是:電腦、linux連接工具。
專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)定陶免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了1000多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
1、首先連接上linux主機(jī),進(jìn)入等待輸入指令的linux命令行狀態(tài)。
2、例如尋找/home/httpd/html/目錄下的test.txt文件,在命令行狀態(tài)下,輸入指令:find /home/httpd/html/ -name "test.txt",按回車。
3、等待查詢結(jié)束后,會(huì)打印出查詢結(jié)果。
1、使用find命令
Linuxfind命令用來在指定目錄下查找文件。任何位于參數(shù)之前的字符串都將被視為欲查找的目錄名。如果使用該命令時(shí),不設(shè)置任何參數(shù),則find命令將在當(dāng)前目錄下查找子目錄或文件。并且將查找到的子目錄和文件全部進(jìn)行顯示。
語法:find path -option [ -print ] [ -exec -ok command ] {} \;
2、使用locate命令
Linux locate命令用于查找符合條件的文檔,他會(huì)去保存文檔和目錄名稱的數(shù)據(jù)庫內(nèi),查找合乎范本樣式條件的文檔或目錄。
一般情況我們只需要輸入locate your_file_name即可查找指定文件。
語法:locate [-d ][--help][--version][范本樣式...]
3、使用which命令
Linux which命令用于查找文件。
which指令會(huì)在環(huán)境變量$PATH設(shè)置的目錄里查找符合條件的文件。
語法:which [文件...]
4、使用whereis命令
Linux whereis命令用于查找文件。
該指令會(huì)在特定目錄中查找符合條件的文件。這些文件應(yīng)屬于原始代碼、二進(jìn)制文件,或是幫助文件。
該指令只能用于查找二進(jìn)制文件、源代碼文件和man手冊頁,一般文件的定位需使用locate命令。
語法:whereis [-bfmsu][-B 目錄...][-M 目錄...][-S目錄...][文件...]
linux下vim查找命令:
/text--查找text,按n查找下一個(gè),N查找上一個(gè)
?text--查找text(反向查找),按n查找下一個(gè),N查找上一個(gè)
*/#--查找光標(biāo)當(dāng)前的單詞,相當(dāng)于/text
:setignorecase--查找忽略大小寫
:setnoignorecase--查找不忽略大小寫
:nohlsearch--關(guān)閉當(dāng)前的高亮顯示,當(dāng)再次查找時(shí)恢復(fù)高亮
:setincsearch--逐步搜索模式,對(duì)當(dāng)前鍵入的字符進(jìn)行查找,不必等輸入完成
:setwrapscan--重新搜索,當(dāng)搜索到文件頭或尾時(shí),返回重新搜索
擴(kuò)展資料:
1、文件窗口:
:openfile--在當(dāng)前窗口打開新文件
:splitfile--在新窗口打開文件
:newfile--用新窗口打開文件,同:splitfile
:bn--切換到下一個(gè)文件
:bp--切換到上一個(gè)文件
:args--查看當(dāng)前打開的文件列表(當(dāng)前正在編輯的文件會(huì)用[]括起來)
:e
:e\qadriveest.txt--打開遠(yuǎn)程文件
:split--打開一個(gè)新窗口,光標(biāo)停在頂層的窗口上
:new--打開一個(gè)新窗口,光標(biāo)停在頂層的窗口上
:vsplit--橫向打開窗口。
Ctrl+ww--移動(dòng)到下一個(gè)窗口
Ctrl+wj--移動(dòng)到下方的窗口
Ctrl+wk--移動(dòng)到上方的窗口
2、其他命令:
Esc/Ctrl+[--鍵入命令
:!command--執(zhí)行shell命令
:suspend/Ctrl+Z--掛起vim,回到shell,fg返回vim
:!perl-cscript.pl--檢查perl腳本語法,不用退出vim
:!perlscript.pl--執(zhí)行perl腳本,不用退出vim
:help--顯示幫助文檔
:helpi--顯示i的幫助文檔(:特殊鍵用,-t:啟動(dòng)參數(shù)用-)
3、編輯命令:
插入:
i--在當(dāng)前位置插入
A--在當(dāng)前行尾插入
I--在當(dāng)前行首插入
o--在當(dāng)前行后插入一行
O--在當(dāng)前行前插入一行
拷貝粘貼剪切:
yy--拷貝當(dāng)前行
2yy--拷貝當(dāng)前行開始的2行
p--在當(dāng)前光標(biāo)后粘貼
P--在當(dāng)前行前粘貼
:1,10co20--將1-10行插入到第20行之后。
:1,$co$--將整個(gè)文件復(fù)制一份并添加到文件尾部
v--進(jìn)入選擇模式,相當(dāng)于在Windows下按住Shift選擇
V--進(jìn)入選擇模式,整行選擇
ddp--交換當(dāng)前行和其下一行
2dd--剪切當(dāng)前行之后的2行
:1,10d--將1-10行剪切
:1,10m20--將第1-10行移動(dòng)到第20行之后
替換:
ra--將當(dāng)前光標(biāo)所在字符替換為a
s/old/new/--用old替換new,替換當(dāng)前行的第一個(gè)匹配
s/old/new/g--用old替換new,替換當(dāng)前行的所有匹配
%s/old/new/--用old替換new,替換所有行的第一個(gè)匹配
%s/old/new/g--用old替換new,替換所有匹配
:10,20s/^/text/g--在第10行到第20行每行前面加上text(:3,5s/^/#/g--注釋3-5行,:3,5s/^#//g
--解除3-5行的注釋,:1,$s/^/#/g--注釋整個(gè)文檔,:%s/^/#/g--注釋整個(gè)文檔)
ddp--交換光標(biāo)所在行和下一行
移動(dòng):
h--左移一個(gè)字符(5h--左移5個(gè)字符)
l--右移一個(gè)字符(5l--右移5個(gè)字符)
k--上移一個(gè)字符(5k--上移5個(gè)字符)
j--下移一個(gè)字符(5j--下移5個(gè)字符)
w--向后移動(dòng)一個(gè)單詞(5w--向后移動(dòng)5個(gè)單詞)
b--向前移動(dòng)一個(gè)單詞(5b--向前移動(dòng)5個(gè)單詞)
e--同w,光標(biāo)停在單詞尾部
ge--同e,光標(biāo)停在單詞尾部
^--移動(dòng)到本行第一個(gè)非空白字符
0--移動(dòng)到本行第0個(gè)字符
--同0
$--移動(dòng)到行尾(3$--移動(dòng)到下面3行的行尾)
gg--移動(dòng)到文件頭(10gg--移動(dòng)到第10行首)
[[--同gg
G--移動(dòng)到文件尾(10G--移動(dòng)到第10行尾)
]]--同G
fx--移動(dòng)到本行光標(biāo)后第一個(gè)為x的字符(3fx--移動(dòng)到本行光標(biāo)后第3個(gè)為x的字符)
Fx--同fx,反向查找
:20--跳到20行行首
Ctrl+e--向下滾動(dòng)一行
Ctrl+y--向上滾動(dòng)一行
Ctrl+d--向下滾動(dòng)半屏
Ctrl+u--向上滾動(dòng)半屏
Ctrl+f--向下滾動(dòng)一屏
Ctrl+b--向上滾動(dòng)一屏
撤銷:
u--撤銷
U--撤銷對(duì)整行的操作
Ctrl+r--撤銷剛才的撤銷
刪除:
x--刪除當(dāng)前字符(3x--刪除當(dāng)前光標(biāo)開始向后三個(gè)字符)
X--刪除當(dāng)前字符的前一個(gè)字符,同dh
dl--刪除當(dāng)前字符,同x
dh--刪除前一個(gè)字符
dd--刪除當(dāng)前行
dj--刪除上一行
dk--刪除下一行
10d--刪除當(dāng)前行開始的10行。
D--刪除當(dāng)前字符至行尾,同d$
kdgg--刪除當(dāng)前行之前所有行(不包括當(dāng)前行)
:1,10d--刪除1-10行
:11,$d--刪除11行及以后所有的行
:1,$d--刪除所有行
J--刪除兩行之間的空行,合并兩行
退出
:wq--保存并退出
ZZ--保存并退出
:q!--強(qiáng)制退出并忽略所有更改
:e!--放棄所有修改,并打開原來文件
:close--關(guān)閉窗口,最后一個(gè)窗口不能使用此命令,可以防止意外退出vim
:q--如果是最后一個(gè)被關(guān)閉的窗口,那么將退出vim
find 命令的基本結(jié)構(gòu)如下:
find [paths] [expression] [actions]
find 命令接受一個(gè)或多個(gè) 路徑 ( paths )作為搜索范圍,并在該路徑下 遞歸 地搜索。即檢索完指定的目錄后,還會(huì)對(duì)該目錄下的子目錄進(jìn)行檢索,以及子目錄下的子目錄。。。直到到達(dá)目錄樹底部。
默認(rèn)情況下(不帶任何搜索條件),find 命令會(huì)返回指定目錄下的 所有文件 ,所以常常需要通過特定的 expression 對(duì)結(jié)果進(jìn)行 篩選 。
find 命令默認(rèn)的 action 是將所有檢索結(jié)果打印至標(biāo)準(zhǔn)輸出。可以通過自定義 action ,讓 find 命令對(duì)搜索到的結(jié)果執(zhí)行特定的操作。
這里先不做詳細(xì)解釋,簡單地測試下 find 命令:
find 命令中的 -name 選項(xiàng)可以根據(jù)文件名稱進(jìn)行檢索( 區(qū)分大小寫 )。如需要忽略文件名中的大小寫,可以使用 -iname 選項(xiàng)。
-name 和 -iname 兩個(gè)選項(xiàng)都支持 wildcards 。如:
find /usr -name '*.txt' 查找 /usr 目錄下所有文件名以 .txt 結(jié)尾的文件
find /usr -name '????' 查找 /usr 目錄下所有文件名剛好為 4 個(gè)字符的文件
有些時(shí)候,你需要在搜索時(shí)匹配某個(gè)文件或目錄的 完整路徑 ,而不僅僅是匹配文件名。可以使用 -path 或 -ipath 選項(xiàng)。
如查找 /usr 下所有文件名以 .txt 結(jié)尾的文件或目錄,且該文件的父目錄必須是 src 。可以使用以下命令:
find /usr -path '*/src/*.txt'
如果只想搜索得到文件 或 目錄,即不想它們同時(shí)出現(xiàn)在結(jié)果中。可以使用 -type 選項(xiàng)指定文件類型。
-type 選項(xiàng)最常用的參數(shù)如下:
find /usr -type d -name 'python*' 檢索 /usr 下所有文件名以 python 開頭的 目錄
find 命令支持 -empty 選項(xiàng)用來檢索 為空 的文件或目錄。空文件即文件里沒有任何內(nèi)容,空目錄即目錄中沒有任何文件或子目錄。
find ~ -type d -empty 檢索用戶主目錄下所有的空目錄
find 命令也允許用戶對(duì)當(dāng)前的匹配條件進(jìn)行 “反義” (類似于 邏輯非 操作)。
如需要檢索 /usr 下所有文件名 不 以 .txt 為后綴的文件。可以使用以下命令:
find /usr -type f ! -name '*.txt'
也可以“翻轉(zhuǎn)”任何其他的篩選條件,如:
find /usr -type f ! -empty 檢索 /usr 下所有內(nèi)容不為空的文件
為了檢索歸屬于特定用戶的文件或目錄,可以使用 -user 選項(xiàng)。
find / -type f -user starky 檢索根目錄下所有屬主為 starky 的文件
類似于 -user 選項(xiàng), -group 選項(xiàng)則可以根據(jù)文件或目錄的 屬組 進(jìn)行檢索。
有些時(shí)候,需要根據(jù)文件創(chuàng)建或修改的時(shí)間進(jìn)行檢索。
Linux 系統(tǒng)中,與文件相關(guān)聯(lián)的時(shí)間參數(shù)有以下三種:
與此對(duì)應(yīng)的是 find 命令中的 -mtime , -atime 和 -ctime 三個(gè)選項(xiàng)。
這三個(gè)選項(xiàng)的使用遵循以下示例中的規(guī)則:
find /usr -type f -mtime 2 檢索 /usr 下兩天前被修改過的文件
如果覺得 -mtime 等選項(xiàng)以 天 為單位時(shí)間有點(diǎn)長,還可以使用 -mmin , -amin , -cmin 三個(gè)選項(xiàng):
find /usr -type f -mtime +50 -mtime -100 檢索 /usr 下 50 到 100 天之前修改過的文件
find /usr -type f -mtime 2 -amin 5 檢索 /usr 下兩天前被修改過且 5 分鐘前又讀取過的文件
-size 選項(xiàng)允許用戶通過文件大小進(jìn)行搜索(只適用于文件,目錄沒有大小……)。
表示文件大小的單位由以下字符組成:
另外,還可以使用 + 或 - 符號(hào)表示 大于 或 小于 當(dāng)前條件。
find / -size +1G 檢索文件大小高于 1 GB 的文件
find 命令可以使用 -perm 選項(xiàng)以文件權(quán)限為依據(jù)進(jìn)行搜索。
如需要檢索 /usr 目錄下權(quán)限為 rwxr-xr-x 的文件,可以使用以下命令:
find /usr -perm u=rwx,g=rx,o=rx
搜索 /usr 目錄下所有權(quán)限為 r-xr-xr-x (即系統(tǒng)中的所有用戶都只有讀寫權(quán)限)的文件和目錄,可以使用以下命令:
find /usr -perm a=rx
很多時(shí)候,我們只想匹配文件權(quán)限的一個(gè) 子集 。比如,檢索可以直接被任何用戶執(zhí)行的文件,即只關(guān)心文件的執(zhí)行權(quán)限,而不用管其讀寫權(quán)限是什么。
上述的需求可以通過以下命令實(shí)現(xiàn): find / -type f -perm /a=x
其中 a=x 前面的 / 符號(hào)即用來表示只匹配權(quán)限的某個(gè)子集(執(zhí)行權(quán)限),而不用關(guān)心其他權(quán)限的具體設(shè)置。
-perm 選項(xiàng)也支持?jǐn)?shù)字形式的文件權(quán)限標(biāo)記。
find /usr -perm 644 搜索 /usr 目錄下權(quán)限為 644 (即 rwxr-xr-x )的文件
find 命令默認(rèn)是以 遞歸 的方式檢索項(xiàng)目的,這有時(shí)候會(huì)導(dǎo)致得到的結(jié)果數(shù)量非常巨大。可以使用 -maxdepth 限制 find 命令遞歸的層數(shù)。
find / -maxdepth 3 搜索時(shí)向下遞歸的層數(shù)最大為 3
在之前的例子中有出現(xiàn)多個(gè)搜索條件的 組合 以及對(duì)某個(gè)搜索條件的 反轉(zhuǎn) 。
實(shí)際上 find 命令支持 “and” 和 “or” 兩種邏輯運(yùn)算,對(duì)應(yīng)的命令選項(xiàng)分別是 -a 和 -o 。通過這兩個(gè)選項(xiàng)可以對(duì)搜索條件進(jìn)行更復(fù)雜的組合。
此外還可以使用 小括號(hào) 對(duì)搜索條件進(jìn)行 分組 。注意 find 命令中的小括號(hào)常需要用 單引號(hào) 包裹起來。因小括號(hào)在 Shell 中有特殊的含義。
如檢索 /usr 下文件名以 python 開頭且類型為目錄的文件
find /usr -type d -name 'python*'
該命令等同于:
find /usr -type d -a -name 'python*'
更復(fù)雜的組合形式如:
find / '(' -mmin -5 -o -mtime +50 ')' -a -type f
-delete 選項(xiàng)可以用來刪除搜索到的文件和目錄。
如刪除 home 目錄下所有的空目錄:
find ~ -type d -empty -delete
-exec 選項(xiàng)可以對(duì)搜索到的結(jié)果執(zhí)行特定的命令。
如需要將 home 目錄下所有的 MP3 音頻文件復(fù)制到移動(dòng)存儲(chǔ)設(shè)備(假設(shè)路徑是 /media/MyDrive ),可使用下面的命令:
find ~ -type f -name '*.mp3' -exec cp {} /media/MyDrive ';'
其中的 大括號(hào) ( {} )作為檢索到的文件的 占位符 ,而分號(hào)( ; )作為命令結(jié)束的標(biāo)志。因?yàn)榉痔?hào)是 Shell 中有特殊含義的符號(hào),所以需要使用單引號(hào)括起來。
每當(dāng) find 命令檢索到一個(gè)符合條件的文件,會(huì)使用其完整路徑取代命令中的 {} ,然后執(zhí)行 -exec 后面的命令一次。
另一個(gè)很重要的用法是,在多個(gè)文件中檢索某個(gè)指定的字符串。
如在用戶主目錄下的所有文件中檢索字符串 hello ,可以使用如下命令:
find ~ -type f -exec grep -l hello {} ';'
創(chuàng)建 Gzip 格式的壓縮文件的命令為: tar -czvf filename.tar.gz list of files
現(xiàn)在假設(shè)需要將用戶主目錄下所有的 MP3 文件添加到壓縮包 music.tar.gz 中,直觀的感覺是,其命令應(yīng)為如下形式:
find ~ -type f -name '*.mp3' -exec tar -czvf music.tar.gz {} ';'
實(shí)際情況是,這樣得到的 music.tar.gz 其實(shí)只包含一個(gè) MP3 文件。
原因是 find 命令 每次 發(fā)現(xiàn)一個(gè)音頻文件,都會(huì)再執(zhí)行一次 -exec 選項(xiàng)后面的壓縮命令。導(dǎo)致先前生成的壓縮包被覆蓋。
可以先讓 find 命令檢索出所有符合條件的音頻文件,再將得到的 文件列表 傳遞給后面的壓縮命令。完整的命令如下:
find ~ -type f -name '*.mp3' -exec tar -czvf music.tar.gz {} +
如果想瀏覽搜索到的文件(目錄)的詳細(xì)信息(如權(quán)限和大小等),可以直接使用 -ls 選項(xiàng)。
find / -type file -size +1G -ls 瀏覽所有 1G 以上大小的文件的詳細(xì)信息
A Guide to the Linux “Find” Command
find 命令手冊 : man find
分享題目:linux檢索命令 linux 全文檢索命令
標(biāo)題來源:http://www.chinadenli.net/article44/dddoeee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、品牌網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、服務(wù)器托管、網(wǎng)站制作、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)