Ubuntu下查找命令
在Linux系統(tǒng)下經(jīng)常用到的查找命令有:
whereis locate find grep1。whereis命令用來查找命令的位置,包括執(zhí)行文件、源代碼和手冊(cè)頁(yè)文件
~$ whereis ls ls: /bin/ls /usr/share/man/man1/ls.1.gz可以跟上一下參數(shù);
-b 只查找二進(jìn)制文件
-m 只查找?guī)椭募?br /> -s 只查找源代碼
-u 排除指定類型文件
-f 只顯示文件名
-B <目錄> 在指定目錄下查找二進(jìn)制文件
-M <目錄> 在指定目錄下查找?guī)椭募?br /> -S <目錄> 在指定目錄下查找源代碼
2。locate <文件名稱> 在文件索引數(shù)據(jù)庫(kù)中搜索文件,這個(gè)數(shù)據(jù)庫(kù)由updatedb命令生成,/etc/cron.daily/mlocate 文件每天運(yùn)行一次來更新數(shù)據(jù)庫(kù),我們也可以使用一下命令來手動(dòng)更新:
$ sudo updatedb
要查找文件:
locate <文件名> $ locate apt-get /usr/bin/apt-get /usr/share/bash-completion/completions/apt-get /usr/share/bash-completion/completions/slapt-get /usr/share/man/de/man8/apt-get.8.gz /usr/share/man/es/man8/apt-get.8.gz /usr/share/man/fr/man8/apt-get.8.gz /usr/share/man/it/man8/apt-get.8.gz /usr/share/man/ja/man8/apt-get.8.gz /usr/share/man/man8/apt-get.8.gz /usr/share/man/pl/man8/apt-get.8.gz /usr/share/man/pt/man8/apt-get.8.gz //可以跟上-c參數(shù) 統(tǒng)計(jì)查找到的文件數(shù)量 $ locate ls -c 204383。find命令通用格式:find pathname -options [-print -exec -ok]
可以跟上一下參數(shù):
常用的方法有;
find pathname -name filename //可以跟上通配符 find pathname -mtime 0 //查找24小時(shí)修改過的文件 find pathname -perm 權(quán)限 //查找制定權(quán)限的文件pathname 表示命令所查找的目錄路徑。譬如用 . 來表示當(dāng)前目錄,用 / 來表示系統(tǒng)根目錄。
(1)find / -name httpd.conf #在根目錄下查找文件httpd.conf,表示在整個(gè)硬盤查找
(2)find /etc -name httpd.conf #在/etc目錄下文件httpd.conf
(3)find /etc -name ‘srm’ #使用通配符*(0或者任意多個(gè))。表示在/etc目錄下查找文件名中含有字符串‘srm’的文件
(4)find . -name ‘srm*’ #表示當(dāng)前目錄下查找文件名開頭是字符串‘srm’的文件
3。grep命令是一種強(qiáng)大的文本搜索工具,它能使用正則表達(dá)式搜索文本,并把匹 配的行打印出來。grep全稱是Global Regular Expression Print,表示全局正則表達(dá)式版本,它的使用權(quán)限是所有用戶。
命令格式:
命令參數(shù):
-a --text #不要忽略二進(jìn)制的數(shù)據(jù)。 -A<顯示行數(shù)> --after-context=<顯示行數(shù)> #除了顯示符合范本樣式的那一列之外,并顯示該行之后的內(nèi)容。 -b --byte-offset #在顯示符合樣式的那一行之前,標(biāo)示出該行第一個(gè)字符的編號(hào)。 -B<顯示行數(shù)> --before-context=<顯示行數(shù)> #除了顯示符合樣式的那一行之外,并顯示該行之前的內(nèi)容。 -c --count #計(jì)算符合樣式的列數(shù)。 -C<顯示行數(shù)> --context=<顯示行數(shù)>或-<顯示行數(shù)> #除了顯示符合樣式的那一行之外,并顯示該行之前后的內(nèi)容。 -d <動(dòng)作> --directories=<動(dòng)作> #當(dāng)指定要查找的是目錄而非文件時(shí),必須使用這項(xiàng)參數(shù),否則grep指令將回報(bào)信息并停止動(dòng)作。 -e<范本樣式> --regexp=<范本樣式> #指定字符串做為查找文件內(nèi)容的樣式。 -E --extended-regexp #將樣式為延伸的普通表示法來使用。 -f<規(guī)則文件> --file=<規(guī)則文件> #指定規(guī)則文件,其內(nèi)容含有一個(gè)或多個(gè)規(guī)則樣式,讓grep查找符合規(guī)則條件的文件內(nèi)容,格式為每行一個(gè)規(guī)則樣式。 -F --fixed-regexp #將樣式視為固定字符串的列表。 -G --basic-regexp #將樣式視為普通的表示法來使用。 -h --no-filename #在顯示符合樣式的那一行之前,不標(biāo)示該行所屬的文件名稱。 -H --with-filename #在顯示符合樣式的那一行之前,表示該行所屬的文件名稱。 -i --ignore-case #忽略字符大小寫的差別。 -l --file-with-matches #列出文件內(nèi)容符合指定的樣式的文件名稱。 -L --files-without-match #列出文件內(nèi)容不符合指定的樣式的文件名稱。 -n --line-number #在顯示符合樣式的那一行之前,標(biāo)示出該行的列數(shù)編號(hào)。 -q --quiet或--silent #不顯示任何信息。 -r --recursive #此參數(shù)的效果和指定“-d recurse”參數(shù)相同。 -s --no-messages #不顯示錯(cuò)誤信息。 -v --revert-match #顯示不包含匹配文本的所有行。 -V --version #顯示版本信息。 -w --word-regexp #只顯示全字符合的列。 -x --line-regexp #只顯示全列符合的列。 -y #此參數(shù)的效果和指定“-i”參數(shù)相同。正則:
^ #錨定行的開始 如:'^grep'匹配所有以grep開頭的行。 $ #錨定行的結(jié)束 如:'grep$'匹配所有以grep結(jié)尾的行。 . #匹配一個(gè)非換行符的字符 如:'gr.p'匹配gr后接一個(gè)任意字符,然后是p。 * #匹配零個(gè)或多個(gè)先前字符 如:'*grep'匹配所有一個(gè)或多個(gè)空格后緊跟grep的行。 .* #一起用代表任意字符。 [] #匹配一個(gè)指定范圍內(nèi)的字符,如'[Gg]rep'匹配Grep和grep。 [^] #匹配一個(gè)不在指定范圍內(nèi)的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一個(gè)字母開頭,緊跟rep的行。 \(..\) #標(biāo)記匹配字符,如'\(love\)',love被標(biāo)記為1。 \< #錨定單詞的開始,如:'\<grep'匹配包含以grep開頭的單詞的行。 \> #錨定單詞的結(jié)束,如'grep\>'匹配包含以grep結(jié)尾的單詞的行。 x\{m\} #重復(fù)字符x,m次,如:'0\{5\}'匹配包含5個(gè)o的行。 x\{m,\} #重復(fù)字符x,至少m次,如:'o\{5,\}'匹配至少有5個(gè)o的行。 x\{m,n\} #重復(fù)字符x,至少m次,不多于n次,如:'o\{5,10\}'匹配5--10個(gè)o的行。 \w #匹配文字和數(shù)字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零個(gè)或多個(gè)文字或數(shù)字字符,然后是p。 \W #\w的反置形式,匹配一個(gè)或多個(gè)非單詞字符,如點(diǎn)號(hào)句號(hào)等。 \b #單詞鎖定符,如: '\bgrep\b'只匹配grep。從文件內(nèi)容查找不匹配指定字符串的行
命令格式:grep –v “被查找的字符串” 文件名
遞歸搜索某個(gè)目錄以及子目錄下的所有文件
命令格式:grep –r “被查找的字符串” 文件目錄
在多個(gè)文件中檢索某個(gè)字符串
命令格式:
grep “被查找的字符串t” filename1 filename2 filename3 …
grep “被查找的字符串” *.log
轉(zhuǎn)載來自https://blog.csdn.net/Wangdada111/article/details/75151845?utm_source=copy
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的Ubuntu下查找命令的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu系统如何安装nodejs及n
- 下一篇: 在Virtualbox中的Ubuntu虚