linux中查找(find、locate、which、whereis、grep)命令匯總、幫助命令(man、whatis、apropos、info、help)匯總


(一)find命令詳解

find:功能:文件搜索;

語法:find[搜索范圍][匹配條件];  只要匹配條件完全符合才可以被顯示,使用通配符*匹配條件*則可以顯示匹配條件的所有目錄,問號?匹配單個字符

所在路徑:/bin/find;
按照名字查找文件:

eg:# find /tmp -name *test*:區分大小寫,顯示所有包含test的文件;
# find /tmp -iname *test* :不區分大小寫,顯示所有包含test的文件

按照所有者查找文件:

find / -user zxh:在系統文件中查找用戶zxh的所有文件

按照組別查找文件:

find /home -group zxh:在系統中查找組別是zxh的所有的文件

 

按照時間查找文件:

find /etc -cmin -5:在/etc下查找五分鍾內被修改過屬性的文件和目錄

{-amin:訪問時間 a:access;-cmin:文件屬性c:change即:ls -l可以看到的那些屬性;-mmin:文件內容m:modify即:文檔內容被改變}
根據文件類型查找文件:

find / -type f:按照文件類型查找文件,f代表文件,d代表目錄,l代表軟連接文件,例:# find / -mmin -30 -type f

-inum:根據i節點查找
對查找到的文件進行操作:
# find /etc -name inittab -exec -ok  ls -l {} \:查看找到的文件的詳細信息;其中-exec [操作命令] {} \;是固定的格式;
-ok的時候會再次詢問你是否真的要進行如此的操作,例:

[root@localhost ~]# find /etc -name inittab -ok -exec ls -l {} \;
< ls ... /etc/inittab > ? y
-rw-r--r--. 1 root root 491 6月 10 2014 /etc/inittab

詳情請參考:http://man.linuxde.net/find

 

(2)locate命令詳解

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

語法:locate 文件名;eg:locate inittab
locate -i 文件名:不區分大小寫的在資料庫里面查找文件
問題一:[linux]centos7及以上找不到locate命令及locate搜索不到存在的文件:安裝mlocate包:yum -y install mlocate;更新數據庫:updatedb
問題二:仍然有一些文件無法通過locate命令找到
原因:
查看配置文件
cat /etc/updatedb.conf

輸入命令后可看到:
PRUNE_BIND_MOUNTS = "yes"
PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fuse.sshfs fusectl gfs gfs2 gpfs hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs"
PRUNENAMES = ".git .hg .svn"
PRUNEPATHS = "/afs /media /mnt /net /sfs /tmp /udev /var/cache/ccache /var/lib/yum/yumdb /var/spool/cups /var/spool/squid /var/tmp"
PRUNE_BIND_MOUNTS = “yes” 開啟搜索限制,如果為’no’則表示不開啟搜索限制;
PRUNEFS = 搜索時,不搜索的文件系統;
PRUNENAMES = 搜索時,不搜索的文件類型;
PRUNEPATHS = 搜索時,不搜索的路徑;
不只locate命令遵循搜索限制,whereis與which也遵循

(3)which命令詳解

which命令用於查找並顯示給定命令的絕對路徑,環境變量PATH中保存了查找命令時需要遍歷的目錄。which指令會在環境變量$PATH設置的目錄里查找符合條件的文件。也就是說,使用which命令,就可以看到某個系統命令是否存在,以及執行的到底是哪一個位置的命令。

which:功能:搜索命令所在目錄以及別名信息,語法:which 命令 ;例:

[root@node001 ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls

(4)whereis 命令詳解

whereis命令用來定位指令的二進制程序、源代碼文件和man手冊頁等相關文件的路徑

語法:whereis(選項)(參數)

選項:

-b:只查找二進制文件;
-B<目錄>:只在設置的目錄下查找二進制文件;
-f:不顯示文件名前的路徑名稱;
-m:只查找說明文件;
-M<目錄>:只在設置的目錄下查找說明文件;
-s:只查找原始代碼文件;
-S<目錄>只在設置的目錄下查找原始代碼文件;
-u:查找不包含指定類型的文件。
參數:
要查找的二進制程序、源文件和man手冊頁的指令名
[root@node001 ~]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1p/ls.1p.gz /usr/share/man/man1/ls.1.gz

(5)grep命令詳解

grep:功能:在文件中搜索字串匹配的行並輸出。

語法:grep -iv [指定字串][指定文件],-i代表不區分大小寫,-v排除指定字符串,例:

[root@node001 tmp]# cat file
match pattern
test 1
wode 
ceshi 
oooo
hahahha
哈哈哈哈

[root@node001 tmp]# grep ceshi file
ceshi 

 詳情請參考:http://man.linuxde.net/grep

(6)man命令詳解

man :功能:獲得幫助信息;語法:man [命令或者配置文件];一般優先顯示命令幫助,1是命令幫助,5是文件幫助 ,例:man 5 passwd;

選項:

-a:在所有的man幫助手冊中搜索;
-f:等價於whatis指令,顯示給定關鍵字的簡短描述信息;
-P:指定內容時使用分頁程序;
-M:指定man手冊搜索的路徑。

輸入:man services的時候顯示沒有 services 的手冊頁條目,則解決辦法是:安裝man幫助文檔包:sudo yum install man-pages

(7)whatis 命令詳解

功能:獲得一個簡短的命令的信息,是用於查詢一個命令執行什么功能,並將查詢結果打印到終端上。例:

[root@node001 tmp]# whatis ls
ls (1p)              - list directory contents
ls (1)               - list directory contents
[root@node001 tmp]# whatis passwd
sslpasswd (1ssl)     - compute password hashes
passwd (1)           - update user's authentication tokens
passwd (5)           - password file

(8)apropos命令詳解 

apropos:獲得一個配置文件的信息,相當於man -k 關鍵字

語法:apropos [配置文件名]

[root@node001 tmp]# apropos who
at.allow (5)         - determine who can submit jobs via at or batch
at.deny (5)          - determine who can submit jobs via at or batch
btrfs-filesystem (8) - command group of btrfs that usually work on the whole filesystem
docker-trust-signer (1) - Manage entities who can sign Docker images
Font::TTF::Manual (3pm) - Information regarding the whole module set
ipsec_newhostkey (8) - generate a new raw RSA authentication key for a host
ipsec_showhostkey (8) - show host's authentication key
Net::LDAP::Extension::WhoAmI (3pm) - LDAP "Who am I?" Operation
w (1)                - Show who is logged on and what they are doing.
who (1)              - show who is logged on
who (1p)             - display who is on the system
whoami (1)           - print effective userid

(9)info命令詳解

info:獲得幫助信息;語法:info(選項)(參數);

選項:

-d:添加包含info格式幫助文檔的目錄;
-f:指定要讀取的info格式的幫助文檔;
-n:指定首先訪問的info幫助文件的節點;
-o:輸出被選擇的節點內容到指定文件。

參數:幫助主題:指定需要獲得幫助的主題,可以是指令、函數以及配置文件。

常用快捷鍵和命令:

快捷鍵:
?鍵:它就會顯示info的常用快捷鍵。
N鍵:顯示(相對於本節點的)下一節點的文檔內容。
P鍵:顯示(相對於本節點的)前一節點的文檔內容。
U鍵:進入當前命令所在的主題。
M鍵:敲M鍵后輸入命令的名稱就可以查看該命令的幫助文檔了。
G鍵:敲G鍵后輸入主題名稱,進入該主題。
L鍵:回到上一個訪問的頁面。
SPACE鍵:向前滾動一頁。
BACKUP或DEL鍵:向后滾動一頁。
Q:退出info。

命令:
q      退出 info
n      打開與本 Node 關聯的下一個 Node
p      打開與本 Node 關聯的前一個 Node
u      打開與本 Node 關聯的上一個 Node
l      回到上一次訪問的 Node
m或g   選擇一個菜單項(Node 的名字)
       輸入指定菜單的名字后按回車,打開指定菜單項關聯的 Node
空格鍵 下一頁(PageDown 也可以,下一頁從當前頁的最后兩行開始算起)
       下一個 Node (若當前頁在 Node 文檔的末尾)
Del 鍵 上一頁(PageUp 也可以,上一頁從當前頁的開始兩行開始算起)
       上一個 Node (若當前頁 Node 文檔的開始)

b 或 t 或 Home   文檔的開始(b 是 begining 的意思)
e 或 End         文檔的末尾(b 是 ending 的意思)
Ctrl-l    刷新當前頁,若當前文檔顯示情況有問題時
Ctrl-g    取消所鍵入的指令

(10)help命令詳解

功能:用於顯示shell內部命令的幫助信息。help命令只能顯示shell內部的命令幫助信息。而對於外部命令的幫助信息只能使用man或者info命令查看。

語法:help(選項)(參數)

選項:-s:輸出短格式的幫助信息。僅包括命令格式。

參數:內部命令:指定需要顯示幫助信息的shell內部命令。

[root@node001 tmp]# help shopt
shopt: shopt [-pqsu] [-o] [optname ...]
    Set and unset shell options.
    
    Change the setting of each shell option OPTNAME.  Without any option
    arguments, list all shell options with an indication of whether or not each
    is set.
    
    Options:
      -o	restrict OPTNAMEs to those defined for use with `set -o'
      -p	print each shell option with an indication of its status
      -q	suppress output
      -s	enable (set) each OPTNAME
      -u	disable (unset) each OPTNAME
    
    Exit Status:
    Returns success if OPTNAME is enabled; fails if an invalid option is
    given or OPTNAME is disabled.

 以上個人學習筆記,僅供參考!!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM