這篇文章主要介紹“Linux如何查找文件”,在日常操作中,相信很多人在Linux如何查找文件問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Linux如何查找文件”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
創(chuàng)新互聯(lián)公司專注于巴楚網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供巴楚營銷型網(wǎng)站建設(shè),巴楚網(wǎng)站制作、巴楚網(wǎng)頁設(shè)計(jì)、巴楚網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)服務(wù),打造巴楚網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供巴楚網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
Linux查找文件的方法:1、使用find命令,可根據(jù)文件的屬性進(jìn)行查找,如文件名、文件大小、所有者、所屬組、是否為空、訪問時(shí)間、修改時(shí)間等。2、使用locate命令,配合數(shù)據(jù)庫查看文件位置。使用whereis命令,可尋找特定文件,只能用于查找二進(jìn)制文件、源代碼文件和man手冊頁。4、使用which命令,可查看可執(zhí)行文件的位置。5、使用type命令查找。6、用grep命令查找。
find 命令查找文件
使用 Linux find 命令可以用不同的搜索標(biāo)準(zhǔn)如名字、類型、所屬人、大小等來搜索目錄樹?;菊Z法如下:
# find path expression search-term
下面是使用 find 命令根據(jù)文件名來查找特定文件的一個(gè)例子:
# find -name test.file
命令會搜索整個(gè)目錄樹來查找名為test.file 的文件,并且會提供其存放位置。你可以使用你 Linux 上一個(gè)存在的文件名來嘗試一下。
find 命令有時(shí)會花費(fèi)幾分鐘來查找整個(gè)目錄樹,尤其是如果系統(tǒng)中有很多文件和目錄的話。要顯著減少時(shí)間,你可以指定搜索的目錄。比如,如果你知道 /var中存在 test.file,那就沒有必要搜索其它目錄。這樣,你可以使用下面的命令:
# find /var -name test.file
find 還可以根據(jù)時(shí)間、大小、所屬人、權(quán)限等選項(xiàng)搜索文件。要了解更多關(guān)于這些選項(xiàng)的信息,你可以使用查看Linux find 命令的手冊。
# man find
locate 命令查找文件
要在Linux中使用locate命令,首先需要安裝它。
如果你正在使用 Ubuntu,運(yùn)行下面的命令來安裝 locate:
# apt-get update# apt-get install mlocate
如果你使用的是 CentOS ,運(yùn)行下面的命令來安裝 locate:
# yum install mlocate
locate 是一種比 find 更快的方式,因?yàn)樗跀?shù)據(jù)庫中查找文件。要更新搜索數(shù)據(jù)庫,運(yùn)行下面的命令:
# updatedb
使用 locate 查找文件的語法:
# locate test.file
就像 find 命令一樣,locate 也有很多選項(xiàng)來過濾輸出。要了解更多你可以查看Linux Locate 命令的手冊。
# man locate
whereis命令查找文件
whereis命令只能用于程序名的搜索,而且只搜索二進(jìn)制文件(參數(shù)-b)、man說明文件(參數(shù)-m)和源代碼文件(參數(shù)-s)。如果省略參數(shù),則返回所有信息。
whereis命令的使用實(shí)例:
$ whereis grep
說明:whereis尋找特定文件,只能用于查找二進(jìn)制文件、源代碼文件和man手冊頁
which命令查找文件
which查看可執(zhí)行文件的位置 ,只有設(shè)置了環(huán)境變量的程序才可以用
which命令的作用是,在PATH變量指定的路徑中,搜索某個(gè)系統(tǒng)命令的位置,并且返回第一個(gè)搜索結(jié)果。也就是說,使用which命令,就可以看到某個(gè)系統(tǒng)命令是否存在,以及執(zhí)行的到底是哪一個(gè)位置的命令。
which命令的使用實(shí)例:
$ which grep
type命令查找文件
type命令其實(shí)不能算查找命令,它是用來區(qū)分某個(gè)命令到底是由shell自帶的,還是由shell外部的獨(dú)立二進(jìn)制文件提供的。如果一個(gè)命令是外部命令,那么使用-p參數(shù),會顯示該命令的路徑,相當(dāng)于which命令。
type命令的使用實(shí)例:
$ type cd
系統(tǒng)會提示,cd是shell的自帶命令(build-in)。
$ type grep
系統(tǒng)會提示,grep是一個(gè)外部命令,并顯示該命令的路徑。
$ type -p grep
加上-p參數(shù)后,就相當(dāng)于which命令。
grep命令查找文件
grep是根據(jù)文件的內(nèi)容進(jìn)行查找,會對文件的每一行按照給定的模式(patter)進(jìn)行匹配查找。
基本格式:
find [options] expression
主要參數(shù):
[options]主要參數(shù):
-c:只輸出匹配行的計(jì)數(shù)。
-i:不區(qū)分大小寫
-h(huán):查詢多文件時(shí)不顯示文件名。
-l:查詢多文件時(shí)只輸出包含匹配字符的文件名。
-n:顯示匹配行及行號。
-s:不顯示不存在或無匹配文本的錯誤信息。
-v:顯示不包含匹配文本的所有行。
pattern正則表達(dá)式主要參數(shù):
\: 忽略正則表達(dá)式中特殊字符的原有含義。
^:匹配正則表達(dá)式的開始行。
$: 匹配正則表達(dá)式的結(jié)束行。
\<:從匹配正則表達(dá) 式的行開始。
\>:到匹配正則表達(dá)式的行結(jié)束。
[ ]:單個(gè)字符,如[A]即A符合要求 。
[ - ]:范圍,如[A-Z],即A、B、C一直到Z都符合要求 。
.:所有的單個(gè)字符。
* :有字符,長度可以為0。
實(shí)例:
grep -r "字符串" 很方便
1)grep 'test' d*
#顯示所有以d開頭的文件中包含 test的行
2)grep ‘test’ aa bb cc
#顯示在aa,bb,cc文件中包含test的行
3)grep ‘[a-z]\{5\}’ aa
#顯示所有包含每行字符串至少有5個(gè)連續(xù)小寫字符的字符串的行
4)grep magic /usr/src
#顯示/usr/src目錄下的文件(不含子目錄)包含magic的行
5)grep -r magic /usr/src
#顯示/usr/src目錄下的文件(包含子目錄)包含magic的行
6)grep -w pattern files
:只匹配整個(gè)單詞,而不是字符串的一部分(如匹配’magic’,而不是’magical’),
到此,關(guān)于“Linux如何查找文件”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!