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