- N +

shell find命令 find函數(shù)返回值

大家好,今天給各位分享shell的一些知識,其中也會對find函數(shù)返回值進(jìn)行解釋,文章篇幅可能偏長,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在就馬上開始吧!

如何使用Shell遍歷目錄及其子目錄中的所有文件

新建一個shell文件

輸入以下代碼

執(zhí)行指令

Linux命令又多又雜,新手該如何分類

運行Linux

在操作操作系統(tǒng)時,您需要使用命令行,一種使您可以訪問操作系統(tǒng)服務(wù)的接口。

大多數(shù)Linux發(fā)行版都使用圖形用戶界面(GUI)作為外殼,主要是為了使用戶易于使用。

話雖這么說,但更推薦使用命令行界面(CLI),因為它更強(qiáng)大,更有效。通過在CLI中鍵入一些命令,可以在幾秒鐘內(nèi)完成需要通過GUI進(jìn)行多步驟處理的任務(wù)。

因此,如果您考慮使用Linux,則學(xué)習(xí)基本命令行將大有幫助。

Linux命令

在繼續(xù)執(zhí)行命令列表之前,您需要首先打開命令行。

盡管步驟可能會因所使用的發(fā)行版而異,但通常可以在“實用程序”部分中找到命令行。

現(xiàn)在您已經(jīng)準(zhǔn)備好,讓我們開始吧,好嗎?

1.pwd命令

使用pwd命令查找您所在的當(dāng)前目錄(文件夾)的路徑。該命令將返回絕對(完整)路徑,該路徑基本上是以正斜杠(/)開頭的路徑。絕對路徑的一個示例是/home/username。

2.cd命令

要瀏覽Linux文件系統(tǒng),請使用cd命令。它需要完整路徑或目錄名稱,具體取決于您所在的當(dāng)前目錄。

假設(shè)您位于/home/username/Documents中,并且想要轉(zhuǎn)到Documents的子目錄Photos。為此,只需鍵入cdPhotos。

另一種情況是,如果您想切換到一個全新的目錄,例如/home/username/Movies。在這種情況下,您必須鍵入cd,然后輸入目錄的絕對路徑。

如果要快速導(dǎo)航,可以使用一些快捷方式。使用cd..(帶有兩個點)將一個目錄上移,或者使用cd直接進(jìn)入主文件夾。要移至上一個目錄,請鍵入cd-(帶連字符)。

附帶說明一下,Linux的文件區(qū)分大小寫。因此,您必須準(zhǔn)確輸入名稱的目錄。

3.ls命令

ls命令用于查看目錄的內(nèi)容。默認(rèn)情況下,此命令將顯示當(dāng)前目錄的內(nèi)容。

如果要查看其他目錄的內(nèi)容,請鍵入ls,然后輸入目錄的路徑。例如,輸入LS/家/用戶名/文檔查看的內(nèi)容的文件。

4.cat命令

cat是Linux中最常用的命令之一。它用于查看標(biāo)準(zhǔn)輸出(sdout)上文件的內(nèi)容。要運行此命令,請鍵入cat,然后輸入文件名及其擴(kuò)展名。例如:catfile.txt。

5.cp命令

使用cp命令從當(dāng)前目錄復(fù)制文件。例如,命令cpscenery.jpg/home/username/Pictures將創(chuàng)建一個scenery.jpg副本到Pictures目錄。

6.mv命令

mv命令的主要用途是移動文件,盡管它也可以用于重命名文件。

該命令中的參數(shù)類似于cp命令。您需要輸入mv,文件名和目標(biāo)目錄。例如:mvfile.txt/home/username/Documents。

要重命名文件,語法為mvoldname.extnewname.ext

7.mkdir命令

使用mkdir命令創(chuàng)建一個新目錄,例如mkdirMusic將創(chuàng)建一個名為Music的新目錄。

8.rmdir命令

如果需要刪除目錄,請使用rmdir命令。但是,rmdir僅允許您刪除空目錄。

9.rm命令

該RM命令用于與在其中的內(nèi)容一起刪除目錄。如果只想刪除目錄(作為rmdir的替代方法),請使用rm-r。

10.touch命令

該touch命令可以通過命令行來創(chuàng)建新的空白文件。例如,輸入touch/home/username/Documents/Web.html在Documents目錄下創(chuàng)建一個名為Web的HTML文件。

11.定位命令

您可以使用此命令來定位文件,就像Windows中的搜索命令一樣。此外,將-i參數(shù)與該命令一起使用將使其不區(qū)分大小寫,因此即使您不記得其確切名稱,也可以搜索文件。

要搜索包含兩個或多個單詞的文件,請使用星號(*)。例如,locate-ischool*note命令將搜索任何包含單詞“school”和“note”的文件,無論它是大寫還是小寫。

12.查找命令

與find命令類似,使用find還可搜索文件。區(qū)別在于,您可以使用find命令在給定目錄中定位文件。

例如,find/home/-namenotes.txt命令將在主目錄及其子目錄中搜索名為notes.txt的文件。

13.grep命令

無疑對于日常使用非常有用的另一個命令。grep使您可以搜索給定文件中的所有文本。

為了說明這一點,grepbluenotepad.txt將在記事本文件中搜索單詞blue。包含搜索到的單詞的行將被完整顯示。

14.sudo命令

該命令是“SuperUserDo”的縮寫,使您能夠執(zhí)行需要管理或超級用戶權(quán)限的任務(wù)。但是,建議不要將此命令用于日常使用,因為如果您做錯了一些事情,很容易發(fā)生錯誤。

15.df命令

使用df命令獲取有關(guān)系統(tǒng)磁盤空間使用情況的報告,以百分比和KB表示。如果要以兆字節(jié)為單位查看報告,請輸入df-m。

16.du命令

如果要檢查文件或目錄占用了多少空間,答案是du(磁盤使用情況)命令。但是,磁盤使用情況摘要將顯示磁盤塊號,而不是通常的大小格式。如果要以字節(jié),千字節(jié)和兆字節(jié)為單位查看它,請在命令行中添加-h參數(shù)。

17.kill命令

如果您的程序無響應(yīng),則可以使用kill命令手動終止它。它將向運行異常的應(yīng)用發(fā)送特定信號,并指示該應(yīng)用自行終止。

總共可以使用六十四種信號,但是人們通常只使用兩種信號:

SIGTERM(15):請求程序停止運行,并給它一些時間來保存其所有進(jìn)度。如果在輸入kill命令時未指定信號,則將使用此信號。SIGKILL(9):強(qiáng)制程序立即停止。未保存的進(jìn)度將丟失。

除了知道信號之外,您還需要知道要殺死的程序的進(jìn)程標(biāo)識號(PID)。如果您不知道PID,只需運行命令psux。

在知道您要使用的信號以及程序的PID之后,輸入以下語法:kill[信號選項]PID。

18.ping命令

使用ping命令檢查與服務(wù)器的連接狀態(tài)。例如,只需輸入pinggoogle.com,該命令將檢查您是否能夠連接到Google并測量響應(yīng)時間。

19.wget命令

Linux的命令行非常有用,您甚至可以在wget命令的幫助下從Internet下載文件。為此,只需鍵入wget,然后鍵入下載鏈接。

20.chmod命令

chmod是另一個基本命令,用于更改文件和目錄的讀取,寫入和執(zhí)行權(quán)限。由于此命令相當(dāng)復(fù)雜,因此您可以閱讀其他完整的教程以正確學(xué)習(xí)它。

centos網(wǎng)口定位命令

CentOS定位、查找文件的命令

定位、查找文件的命令

which 從path中找出文件的位置 find 找出所有符合要求的文件

whereis 找出特定程序的路徑 locate 從索引中找出文件位置

1.which命令

語法:

whichcommand

說明:

which命令的作用是,在PATH變量指定的路徑中,搜索某個系統(tǒng)命令的位置,并且返回第一個搜索結(jié)果。在找到第一個符合條件的程序文件時,就立刻停止搜索,省略其余未搜索目錄。也就是說,使用which命令,就可以看到某個系統(tǒng)命令是否存在,以及執(zhí)行的到底是哪一個位置的命令。

實例:

[root@localhost/]#whichls

aliasls='ls--color=auto'

/bin/ls

[root@localhost/]#whichnginx

/usr/bin/nginx

2.whereis命令

語法:

whereis[option]name

說明:

找出特定程序的可執(zhí)行文件、源代碼文件以及manpage的路徑。你所提供的name會被先除去前置的路徑以及任何.ext形式的擴(kuò)展名。

whereis只會在標(biāo)準(zhǔn)的Linux目錄中進(jìn)行搜索。

常用選項

-b

只搜索可執(zhí)行文件。

-m

只搜索manpage。

-s

只搜索源代碼文件。

-Bdirectory

更改或限定搜索可執(zhí)行的文件的目錄。

-Mdirectory

更改或限定搜索manpage的目錄。

-Sdirectory

更改或限定搜索源代碼文件的目錄。

實例:

[root@localhost/]#whereisgrep

grep:/bin/grep/usr/share/man/man1p/grep.1p.gz/usr/share/man/man1/grep.1.gz

[root@localhost/]#whereis-bnginx

nginx:/usr/bin/nginx/usr/local/nginx

3.find命令

語法:

findpathsexpression[action]

說明:

以paths為搜索起點逐層往下找出每一個符合expression條件的文件,并對該文件執(zhí)行action所代表的動作。expression是搜索條件,它由一個代表匹配項目的選項以及一個代表匹配模式的參數(shù)構(gòu)成。

$find<指定目錄><指定條件><指定動作>

-<指定目錄>:所要搜索的目錄及其所有子目錄。默認(rèn)為當(dāng)前目錄。

-<指定條件>:所要搜索的文件的特征。

-<指定動作>:對搜索結(jié)果進(jìn)行特定的處理。

如果什么參數(shù)也不加,find默認(rèn)搜索當(dāng)前目錄及其子目錄,并且不過濾任何結(jié)果(也就是返回所有文件),將它們?nèi)硷@示在屏幕上。

action是處理動作,它有一個代表“處理方式”的選項以及一個操作參數(shù)構(gòu)成。若不指定action,則默認(rèn)動作是顯示出文件名。

常用的搜索條件

-namepattern

-pathpattern

-lnamepattern

找出名稱、路徑名稱或符號鏈接的目標(biāo)匹配pattern模式的文件。pattern可以包含shell的文件名通配符,路徑是相對于搜索起點的。

常見處理動作

-print

顯示出文件的相對路徑(相對于搜索起點)。

-execcmd/;

執(zhí)行指定的shell命令。若cmd含有任何shell特殊字符,則他們之前都必須加上/符號,以免shell立刻執(zhí)行他們。在cmd里,可以用”{}”符號(包括雙引號)表示find所找出的文件。

1.按照文件名查找

(1)find/-namehttpd.conf#在根目錄下查找文件httpd.conf,表示在整個硬盤查找

(2)find/etc-namehttpd.conf#在/etc目錄下文件httpd.conf

(3)find/etc-name'*srm*'#使用通配符*(0或者任意多個)。表示在/etc目錄下查找文件名中含有字符串‘srm’的文件

(4)find.-name'srm*'#表示當(dāng)前目錄下查找文件名開頭是字符串‘srm’的文件

2.按照文件特征查找

(1)find/-amin-10#查找在系統(tǒng)中最后10分鐘訪問的文件(accesstime)

(2)find/-atime-2#查找在系統(tǒng)中最后48小時訪問的文件

(3)find/-empty#查找在系統(tǒng)中為空的文件或者文件夾

(4)find/-groupcat#查找在系統(tǒng)中屬于group為cat的文件

(5)find/-mmin-5#查找在系統(tǒng)中最后5分鐘里修改過的文件(modifytime)

(6)find/-mtime-1#查找在系統(tǒng)中最后24小時里修改過的文件

(7)find/-userfred#查找在系統(tǒng)中屬于fred這個用戶的文件

(8)find/-size+10000c#查找出大于10000000字節(jié)的文件(c:字節(jié),w:雙字,k:KB,M:MB,G:GB)

(9)find/-size-1000k#查找出小于1000KB的文件

3.使用混合查找方式查找文件

參數(shù)有:!,-and(-a),-or(-o)。

(1)find/tmp-size+10000c-and-mtime+2#在/tmp目錄下查找大于10000字節(jié)并在最后2分鐘內(nèi)修改的文件

(2)find/-userfred-or-usergeorge#在/目錄下查找用戶是fred或者george的文件文件

(3)find/tmp!-userpanda#在/tmp目錄中查找所有不屬于panda用戶的文件

實例:

[root@localhost/]#find/-namenginx.conf

/www/server/nginx/conf/nginx.conf

/www/server/nginx/src/conf/nginx.conf

[root@localhost/]#find/www/server/nginx/conf-namenginx.conf

/www/server/nginx/conf/nginx.conf

4.locate命令

語法:locatepatterns

說明:

locate命令其實是“find-name”的另一種寫法,但是要比后者快得多,原因在于它不搜索具體目錄,而是搜索一個數(shù)據(jù)庫(/var/lib/locatedb),這個數(shù)據(jù)庫中含有本地所有文件信息。Linux系統(tǒng)自動創(chuàng)建這個數(shù)據(jù)庫,并且每天自動更新一次,所以使用locate命令查不到最新變動過的文件。為了避免這種情況,可以在使用locate之前,先使用updatedb命令,手動更新數(shù)據(jù)庫。

實例:

[root@localhost/]#locatenginx.conf

/www/server/nginx/conf/nginx.conf

/www/server/nginx/conf/nginx.conf.default

/www/server/nginx/src/conf/nginx.conf

5.type命令

說明:

type命令其實不能算查找命令,它是用來區(qū)分某個命令到底是由shell自帶的,還是由shell外部的獨立二進(jìn)制文件提供的。如果一個命令是外部命令,那么使用-p參數(shù),會顯示該命令的路徑,相當(dāng)于which命令。

實例:

[root@localhost/]#typecd

cdisashellbuiltin

[root@localhost/]#typels

lsisaliasedto`ls--color=auto'

[root@localhost/]#typegrep

grepis/bin/grep

cd是shell的自帶命令(build-in)

grep是一個外部命令,并顯示該命令的路徑。

[root@localhost/]#type-pgrep

/bin/grep

加上-p參數(shù)后,就相當(dāng)于which命令。

find的exec怎么一次執(zhí)行多個命令

在Linux系統(tǒng)中,如果你使用find命令查找到一個文件,并使用-exec參數(shù)執(zhí)行相應(yīng)的Linux命令,只要你的命令語法本身是正確的,那么你就可以編寫一個SHELL程序,Linux系統(tǒng)就會自動執(zhí)行多個命令了。

具體的exec格式的用法很復(fù)雜,你可以參考其他文檔。

find shell工具的地址欄為啥沒有地址

IE地址欄如果發(fā)現(xiàn)不見了: 1、啟動IE-->查看-->工具欄-->地址欄或 在IE工具欄或菜單的最右邊空白的地方右鍵點擊,再點里面的地址欄打上對號 2、如果地址欄前已經(jīng)打勾,還是不顯示地址欄,那就是你把地址欄拉短了,在工具欄空白處點右鍵-出現(xiàn)菜單,去掉“鎖定工具欄”前的勾勾,再移動鼠標(biāo)到地址欄左邊或右邊的分隔條上,使鼠標(biāo)變成可左右移動的樣式。再點左鍵往兩邊拉,使地址欄變長,也可以拉到另一行,使地址欄單獨一行。-右擊空白處,勾選“鎖定工具欄”。

OK,本文到此結(jié)束,希望對大家有所幫助。

返回列表
上一篇:
下一篇: