centos網口定位命令?
CentOS定位、查找文件的命令
定位、查找文件的命令
which 從path中找出文件的位置 find 找出所有符合要求的文件
whereis 找出特定程序的路徑 locate 從索引中找出文件位置
1.which命令
語法:
which command
說明:
which命令的作用是,在PATH變量指定的路徑中,搜索某個系統命令的位置,并且返回第一個搜索結果。在找到第一個符合條件的程序文件時,就立刻停止搜索,省略其余未搜索目錄。也就是說,使用which命令,就可以看到某個系統命令是否存在,以及執行的到底是哪一個位置的命令。
實例:
[root@localhost /]# which ls
alias ls='ls --color=auto'
/bin/ls
[root@localhost /]# which nginx
/usr/bin/nginx
2.whereis命令
語法:
whereis [option] name
說明:
找出特定程序的可執行文件、源代碼文件以及manpage的路徑。你所提供的name會被先除去前置的路徑以及任何.ext形式的擴展名。
whereis 只會在標準的Linux目錄中進行搜索。
常用選項
-b
只搜索可執行文件。
-m
只搜索manpage。
-s
只搜索源代碼文件。
-B directory
更改或限定搜索可執行的文件的目錄。
-M directory
更改或限定搜索manpage的目錄。
-S directory
更改或限定搜索源代碼文件的目錄。
實例:
[root@localhost /]# whereis grep
grep: /bin/grep /usr/share/man/man1p/grep.1p.gz /usr/share/man/man1/grep.1.gz
[root@localhost /]# whereis -b nginx
nginx: /usr/bin/nginx /usr/local/nginx
3.find命令
語法:
find paths expression [action]
說明:
以paths為搜索起點逐層往下找出每一個符合expression條件的文件,并對該文件執行action所代表的動作。expression是搜索條件,它由一個代表匹配項目的選項以及一個代表匹配模式的參數構成。
$ find <指定目錄> <指定條件> <指定動作>
- <指定目錄>: 所要搜索的目錄及其所有子目錄。默認為當前目錄。
- <指定條件>: 所要搜索的文件的特征。
- <指定動作>: 對搜索結果進行特定的處理。
如果什么參數也不加,find默認搜索當前目錄及其子目錄,并且不過濾任何結果(也就是返回所有文件),將它們全都顯示在屏幕上。
action是處理動作,它有一個代表“處理方式”的選項以及一個操作參數構成。若不指定action,則默認動作是顯示出文件名。
常用的搜索條件
-name pattern
-path pattern
-lname pattern
找出名稱、路徑名稱或符號鏈接的目標匹配pattern模式的文件。pattern可以包含shell的文件名通配符,路徑是相對于搜索起點的。
常見處理動作
顯示出文件的相對路徑(相對于搜索起點)。
-exec cmd /;
執行指定的shell命令。若cmd含有任何shell特殊字符,則他們之前都必須加上/符號,以免shell立刻執行他們。在cmd里,可以用”{}”符號(包括雙引號)表示find所找出的文件。
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用戶的文件
實例:
[root@localhost /]# find / -name nginx.conf
/www/server/nginx/conf/nginx.conf
/www/server/nginx/src/conf/nginx.conf
[root@localhost /]# find /www/server/nginx/conf -name nginx.conf
/www/server/nginx/conf/nginx.conf
4.locate命令
語法:locate patterns
說明:
locate命令其實是“find -name”的另一種寫法,但是要比后者快得多,原因在于它不搜索具體目錄,而是搜索一個數據庫(/var/lib/locatedb),這個數據庫中含有本地所有文件信息。Linux系統自動創建這個數據庫,并且每天自動更新一次,所以使用locate命令查不到最新變動過的文件。為了避免這種情況,可以在使用locate之前,先使用updatedb命令,手動更新數據庫。
實例:
[root@localhost /]# locate nginx.conf
/www/server/nginx/conf/nginx.conf
/www/server/nginx/conf/nginx.conf.default
/www/server/nginx/src/conf/nginx.conf
5.type命令
說明:
type命令其實不能算查找命令,它是用來區分某個命令到底是由shell自帶的,還是由shell外部的獨立二進制文件提供的。如果一個命令是外部命令,那么使用-p參數,會顯示該命令的路徑,相當于which命令。
實例:
[root@localhost /]# type cd
cd is a shell builtin
[root@localhost /]# type ls
ls is aliased to `ls --color=auto'
[root@localhost /]# type grep
grep is /bin/grep
cd是shell的自帶命令(build-in)
grep是一個外部命令,并顯示該命令的路徑。
[root@localhost /]# type -p grep
/bin/grep
加上-p參數后,就相當于which命令。