linux檔案搜尋定位
grep命令
基本格式:find expression
1.主要引數
[options]主要引數:
-c:只輸出匹配行的計數。
-i:不區分大小寫
-h:查詢多檔案時不顯示檔名。
-l:查詢多檔案時只輸出包含匹配字元的檔名。
-n:顯示匹配行及行號。
-s:不顯示不存在或無匹配文字的錯誤資訊。
-v:顯示不包含匹配文字的所有行。
pattern正則表示式主要引數:
\: 忽略正則表示式中特殊字元的原有含義。
^:匹配正則表示式的開始行。
$: 匹配正則表示式的結束行。
\<:從匹配正則表達 式的行開始。
\>:到匹配正則表示式的行結束。
[ ]:單個字元,如[A]即A符合要求 。
[ - ]:範圍,如[A-Z],即A、B、C一直到Z都符合要求 。
.:所有的單個字元。
* :有字元,長度可以為0。
2.例項
(1)grep 'test' d* #顯示所有以d開頭的檔案中包含 test的行
(2)grep ‘test’ aa bb cc #顯示在aa,bb,cc檔案中包含test的行
(3)grep ‘[a-z]\{5\}’ aa #顯示所有包含每行字串至少有5個連續小寫字元的字串的行
(4)grep magic /usr/src #顯示/usr/src目錄下的檔案(不含子目錄)包含magic的行
(5)grep -r magic /usr/src #顯示/usr/src目錄下的檔案(包含子目錄)包含magic的行
(6)grep -w pattern files :只匹配整個單詞
find命令
基本格式:find path expression
1.按照檔名查詢
(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’的檔案
2.按照檔案特徵查詢
(1)find / -amin -10 # 查詢在系統中最後10分鐘訪問的檔案(access time)
(2)find / -atime -2 # 查詢在系統中最後48小時訪問的檔案
(3)find / -empty # 查詢在系統中為空的檔案或者資料夾
(4)find / -group cat # 查詢在系統中屬於 group為cat的檔案
(5)find / -mmin -5 # 查詢在系統中最後5分鐘裡修改過的檔案(modify time)
(6)find / -mtime -1 #查詢在系統中最後24小時裡修改過的檔案
(7)find / -user fred #查詢在系統中屬於fred這個使用者的檔案
(8)find / -size +10000c #查找出大於10000000位元組的檔案(c:位元組,w:雙字,k:KB,M:MB,G:GB)
(9)find / -size -1000k #查找出小於1000KB的檔案
3.使用混合查詢方式查詢檔案
引數有: !,-and(-a),-or(-o)。
(1)find /tmp -size +10000c -and -mtime +2 #在/tmp目錄下查詢大於10000位元組並在最後2分鐘內修改的檔案
(2)find / -user fred -or -user george #在/目錄下查詢使用者是fred或者george的檔案檔案
(3)find /tmp ! -user panda #在/tmp目錄中查詢所有不屬於panda使用者的檔案
whereis
1、語法
whereis 命令名
搜尋命令所在的路徑以及幫助文件所在的位置
選項:
-b:只查詢可執行檔案
-m:只查詢幫助檔案
-s 定位原始碼檔案
2、實戰
12345678910111213 | [[email protected] ~] # whereis ls ls : /usr/bin/ls /usr/share/man/man1/ls .1.gz /usr/share/man/man1p/ls .1p.gz [[email protected] ~] # whoami root [[email protected] ~] # whatis whatis what? [[email protected] ~] # whatis ls ls (1)- list directory contents ls (1p)- list directory contents [[email protected] ~] # whereis -b ls ls : /usr/bin/ls [[email protected] ~] # whereis -m ls ls : /usr/share/man/man1/ls .1.gz /usr/share/man/man1p/ls .1p.gz |
結果:名稱:二進位制檔案路徑 幫助文件路徑
which命令的作用是,在PATH變數指定的路徑中,搜尋某個系統命令的位置,並且返回第一個搜尋結果。也就是說,使用which命令,就可以看到某個系統命令是否存在,以及執行的到底是哪一個位置的命令。
1.命令格式:
which 可執行檔名稱
2.命令功能:
which指令會在PATH變數指定的路徑中,搜尋某個系統命令的位置,並且返回第一個搜尋結果。
3.命令引數:
-n 指定檔名長度,指定的長度必須大於或等於所有檔案中最長的檔名。
-p 與-n引數相同,但此處的包括了檔案的路徑。
-w 指定輸出時欄位的寬度。
-V 顯示版本資訊
4.使用例項:
例項1:查詢檔案、顯示命令路徑
命令:
which lsmod
輸出:
[[email protected] ~]# which pwd
/bin/pwd
[root@localhost ~]# which adduser
/usr/sbin/adduser
[root@localhost ~]#
說明:
which 是根據使用者所配置的 PATH 變數內的目錄去搜尋可執行檔的!所以,不同的 PATH 配置內容所找到的命令當然不一樣的!
例項2:用 which 去找出 which
命令:
which which
輸出:
[[email protected] ~]# which which
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
/usr/bin/which
[root@localhost ~]#
說明:
竟然會有兩個 which ,其中一個是 alias 這就是所謂的『命令別名』,意思是輸入 which 會等於後面接的那串命令!
例項3:找出 cd 這個命令
命令:
which cd
輸出:
說明:
cd 這個常用的命令竟然找不到啊!為什麼呢?這是因為 cd 是bash 內建的命令! 但是 which 預設是找 PATH 內所規範的目錄,所以當然一定找不到的!
相關推薦
linux檔案搜尋定位
grep命令 基本格式:find expression 1.主要引數 [options]主要引數: -c:只輸出匹配行的計數。 -i:不區分大小寫 -h:查詢多檔案時不顯示檔名。 -l:查詢多檔案時只輸出包含匹配字元的檔名。
Linux 檔案搜尋命令:find、which、whereis 和 locate
Linux 提供了許多用於檔案搜尋的命令,這些命令都很強大,但是也有一些不同之處,這裡分別介紹一下。 一、find 命令 find 是最常見和最強大的一個檔案搜尋命令。使用 find 命令可以在指定目錄中搜索指定的檔案。語法如下: find [目錄] [選項] [動作] 其中,目
Linux檔案搜尋-find
檔案搜尋命令:find [[email protected] 桌面]# find /etc/ -name init /etc/sysconfig/init /etc/init /etc/kdump-adv-conf/kdump_initscripts/i
Linux檔案搜尋命令
1.locate 搜尋速度比較快,locate 檔名。 它是否能搜尋我新建的檔案呢?找不到,因為locate命令不是直接在系統中去搜索,而是在/vat/lib/mlocate(這裡面儲存的是locate的資料庫)這個資料庫中搜索,搜尋資料庫的好處是不需要遍歷我的整個作業系統
Linux基本命令 檔案搜尋命令
1.檔案搜尋命令find ================================================================================== 命令名稱:find 命令所在路徑:/bin/find 執行許可權:所有使用者 語法:find [
004-linux常用命令-檔案搜尋命令
檔案搜尋命令:find命令名稱:find命令所在路徑:/bin/find執行許可權:所有使用者語法:find [搜尋範圍] [匹配條件]功能描述:檔案搜尋 $ find /etc -name init在目錄/etc中查詢檔案init-iname 不區分大小寫$ find / -size +204800在根目
Linux 檔案定位和查詢
主要用到的有: which,在$PATH下面查詢,列印全路徑 whereis 資料庫搜素,主要是搜素命令 locate 快速搜尋檔案和檔案,yum install -y mlocate.x86_64可以安裝,updatedb更新資料庫 apro
Linux常用命令之檔案搜尋命令
檔案搜尋命令 命令名稱:which 命令路徑:/usr/bin/which 執行許可權:所有使用者功能描述:顯示系統命令所在目錄 語法:while [命令名稱] Ex: which ls 相似命令:whereis [檔
linux的檔案搜尋
一、find 作用:任意檔案的搜尋,可以配合搜尋條件和選項,功能比較強大 格式:find [目錄] 條件,目錄不指定預設是當前目錄 選項: -name:通過名稱搜尋,不僅僅只是檔名 -size:通過大小搜尋:不僅僅只是檔案大小 -type:通過檔案型別搜尋 -m
Linux學習--檔案搜尋命令
一、檔案搜尋命令 find 語法:find [搜尋範圍] [匹配條件] {find [搜尋範圍] [搜尋模式] [搜尋條件]} 1.以檔名來查詢 -name(區分大小寫)-iname (不區分大小寫) find /etc -name inid 或
linux中的檔案搜尋命令
一、locate命令 是在後臺數據庫中按檔名搜尋(也只能按檔名搜尋),搜尋速度較快 這個資料庫的目錄,不同的linux發行版不同,在centos6.10中,這個資料庫的目錄為:/var/lib/mlocate/mlocate.db 這個資料庫預設一天一更新,所以一般新建的檔案,如果不手動
Linux視訊學習筆記(五)--許可權管理命令、檔案搜尋命令、幫助命令、使用者管理命令、壓縮解壓命令
宣告:本系列文章是博主根據 “兄弟連新版Linux視訊教程”做的筆記和視訊截圖,只為學習和教學使用,不適用任何商業用途。 PS:文章基於Linux版本CentOS6.9,如果對Linux感興趣,建議去看《細說Linux》,沈超老師和李明老師的教學風格我很喜歡:) 4.
Linux 常用命令之——檔案搜尋命令find、locate、which、whereis、grep
一、命令名稱:find 命令所在路徑:/bin/find 執行許可權:所有使用者 語法: find [搜尋範圍] [匹配條件] $find /etc -name init -name 在某路徑下根據檔名稱搜尋檔案 $find
Linux學習之檔案搜尋命令
一、檔案搜尋命令:locate 檔名 1、在後臺數據庫(/var/lib/mlocate )中按檔名搜尋,搜尋速度更快,耗費資源少。 /var/lib/mlocate 不是實時更新的,一般是一天更新;但可強制更新:updatedb命令 2、locate的特點:遵守 /e
Linux下搜尋檔案常用方法
# linux檔案無建立時間 # Access 使用時間 # Modify 內容修改時間 # Change 狀態改變時間(許可權、屬主) # 時間預設以24小時為單位,當前時間到向前24小時為0天,向前4
Linux常用命令之——其他檔案搜尋命令
檔案搜尋命令:locate 命令名稱:locate 命令所在路徑:/usr/bin/locate 執行許可權:所有使用者 語法:locate 檔名 功能描述:在檔案資料庫中查詢檔案,不是實時檔案 範例:$ locate inittab 搜尋快的原因:該命令直接
Linux常用命令-檔案搜尋
find /bin/find 所有使用者 [搜尋範圍] [匹配條件] 檔案搜尋 不建議搜尋在高峰期 find /etc -name xx 根據檔名搜尋 精確搜尋 模糊搜尋 *{0-n} 模糊搜尋 ?匹配單個字元 不區分大小寫 find / -size +n大於 /-n小於 /
Linux命令--檔案搜尋命令--幫助命令
man: 命令英文原意:manual 命令所在路徑:/usr/bin/man 執行許可權:所有使用者 語法:man [命令或配置檔案] 功能描述:獲得幫助資訊 範例:$man ls 檢視ls命令的幫助文件
linux下libevent安裝配置與簡介 以及 linux庫檔案搜尋路徑的配置
libevent簡介 libevent是基於Reactor模式的I/O框架庫,它具有良好的跨平臺性和執行緒安全,它實現了統一事件源(即對I/O事件、訊號和定時事件提供統一的處理)。高效能分散式記憶體物件快取軟體memcached是使用libevent的著名案例。 libev
linux命令之檔案搜尋
1. 顯示系統命令所在目錄 Which [命令] :命令的絕對路徑 + 別名 Whereis [命令] :命令的絕對路徑 + 幫助文件的路徑 2. 查詢檔案或目錄 find [搜尋路徑] [搜尋的關鍵字] 常用方法 2.1 檔名查詢 :find /etc –name