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

(一)find命令詳解

find:功能:文件搜索;java

語法:find[搜索範圍][匹配條件];  只要匹配條件徹底符合才能夠被顯示,使用通配符*匹配條件*則能夠顯示匹配條件的全部目錄,問號?匹配單個字符node

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

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

按照全部者查找文件:git

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

按照組別查找文件:docker

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

 

按照時間查找文件:shell

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的時候會再次詢問你是否真的要進行如此的操做,例:centos

[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/findssh

 

(2)locate命令詳解

locate:功能:在文件資料庫中查找文件,locate命令實際上是find -name的另外一種寫法,可是要比後者快得多,緣由在於它不搜索具體目錄,而是搜索數據庫/var/lib/locatedb,這個數據庫中含有本地全部文件信息。Linux系統自動建立這個數據庫,而且天天自動更新一次,因此使用locate命令查不到最新變更過的文件。爲了不這種狀況,能夠在使用locate以前,先使用updatedb命令,手動更新數據庫。svn

語法: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.

 以上我的學習筆記,僅供參考!!!

相關文章
相關標籤/搜索