find 是最常用和最強(qiáng)大的命令,實(shí)時遍歷磁盤文件
find命令的基本語法如下
find [查找目錄] [查找條件] [查找完成后的操作]
查找條件相當(dāng)多,名字,類型,權(quán)限,用戶,修改時間,大小linux命令,舉幾個例子
#當(dāng)前目錄下(含子目錄)以apache開頭的文件
find -name "apache*"
./apache-tomcat-8.5.34
./zookeeper-3.4.12/docs/skin/images/apache-thanks.png
./zookeeper-3.4.12/docs/api/org/apache
#maxdepth可以設(shè)置查找的深度
#查找的深度為1,即只查找當(dāng)前文件夾
find -maxdepth 1 -name "apache*"
./apache-tomcat-8.5.34
#顯示/etc目錄下的文件夾
find /etc -type d
#查找權(quán)限為777的文件
find / -perm 777
文件類型有如下幾種
字符解釋
目錄
符號鏈接(指向另一個文件)
套接字文件
塊設(shè)備文件
字符設(shè)備文件
命名管道文件
普通文件
locate命令其實(shí)是"find -name"的另一種寫法,但是要比后者快得多,原因在于它不搜索具體目錄,而是搜索一個數(shù)據(jù)庫(/var/lib/mlocatelinux命令,cenos7的路徑),這個數(shù)據(jù)庫中含有本地所有文件信息。
cenos7上沒有l(wèi)ocate,需要手動安裝
/etc/aliases.db which
在PATH變量指定的路徑中,搜索某個系統(tǒng)命令的位置,并且返回第一個搜索結(jié)果。也就是說,使用which命令,就可以看到某個系統(tǒng)命令是否存在,以及執(zhí)行的到底是哪一個位置的命令。
看一下我的環(huán)境變量
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/lib/jdk1.8.0_191/bin:/usr/local/maven/apache-maven-3.6.1/bin
which java
/usr/lib/jdk1.8.0_191/bin/java
which grep
alias grep='grep --color=auto'
/usr/bin/grep whereis
顯示出命令的可執(zhí)行程序, 源文件(如果存在的話)以及man page的路徑
whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
whereis java
java: /usr/lib/jdk1.8.0_191/bin/java type
查看命令類型,常見的類型有如下幾種
命令類型
alias
別名
keyword
關(guān)鍵字,shell保留字
builtin
shell內(nèi)置命令
外部命令
ls is aliased to `ls --color=auto'、
type cd
cd is a shell builtin
●編號774,輸入編號直達(dá)本文
運(yùn)維
聲明:該文觀點(diǎn)僅代表作者本人,搜狐號系信息發(fā)布平臺,搜狐僅提供信息存儲空間服務(wù)。