來自公眾號:Java識堂
man
學習Linux命令,就得會看說明檔案,不然選項太多,根本記不住。常用的說明檔案命令有man,info,–help。一般用man比較多,比help命令細,比info命令簡單。輸入 man 命令,即可進入man page(手冊頁面)。
man page常用的部分如下
塊名 | 介紹 |
---|---|
NAME | 命令的名稱和簡要介紹 |
SYNOPSIS | 命令的基本格式 |
DESCRIPTION | 命令功能的概要介紹 |
OPTIONS | man命令最基本的部分,命令的各種選項,以及對選項的簡要介紹 |
man java
Java命令的基本格式如下
Java命令的選項
可以看到Java支援很多引數,引數的型別就有標準引數,非標準引數多種。每個引數型別下麵又包含許多引數。
man page下的常命令如下
命令 | 解釋 |
---|---|
↑ | 向上移動一行 |
↓ | 向下移動一行 |
空格或者 f [ forward(向前) ] | 向下翻動一頁 |
b [backward(前後)] | 向上翻動一頁 |
/ 搜尋詞 回車 | 在man page中查詢指定內容,從上往下搜,n下一個,N上一個 |
? 搜尋詞 回車 | 在man page中查詢指定內容,從下往上搜,n下一個,N上一個 |
find
find 是最常用和最強大的命令,實時遍歷磁碟檔案
find命令的基本語法如下
find [查詢目錄] [查詢條件] [查詢完成後的操作]
查詢條件相當多,名字,型別,許可權,使用者,修改時間,大小,舉幾個例子
# 當前目錄下(含子目錄)以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可以設定查詢的深度
# 查詢的深度為1,即只查詢當前檔案夾
find -maxdepth 1 -name "apache*"
./apache-tomcat-8.5.34
# 顯示/etc目錄下的檔案夾
find /etc -type d
# 查詢許可權為777的檔案
find / -perm 777
檔案型別有如下幾種
字元 | 解釋 |
---|---|
d | 目錄 |
l | 符號連結(指向另一個檔案) |
s | 套接字檔案 |
b | 塊裝置檔案 |
c | 字元裝置檔案 |
p | 命名管道檔案 |
– | 普通檔案 |
locate
locate命令其實是”find -name”的另一種寫法,但是要比後者快得多,原因在於它不搜尋具體目錄,而是搜尋一個資料庫(/var/lib/mlocate,cenos7的路徑),這個資料庫中含有本地所有檔案資訊。
cenos7上沒有locate,需要手動安裝
# 安裝包
yum -y install mlocate
# 更新資料庫
updatedb
這個資料庫每天自動更新一次,所以使用locate命令查不到最新變動過的檔案。為了避免這種情況,可以在使用locate之前,先使用updatedb命令,手動更新資料庫。
# 檢視etc目錄下的指令碼
locate /etc/*.sh
/etc/dhcp/dhclient.d/chrony.sh
/etc/dhcp/dhclient.d/ntp.sh
/etc/kernel/postinst.d/51-dracut-rescue-postinst.sh
# 檢視etc目錄下以a開頭的檔案
locate /etc/a
/etc/adjtime
/etc/aliases
/etc/aliases.db
which
在PATH變數指定的路徑中,搜尋某個系統命令的位置,並且傳回第一個搜尋結果。也就是說,使用which命令,就可以看到某個系統命令是否存在,以及執行的到底是哪一個位置的命令。
看一下我的環境變數
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
顯示出命令的可執行程式, 源檔案(如果存在的話)以及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 | 關鍵字,shell保留字 |
builtin | shell內建命令 |
file | 外部命令 |
type ls
ls is aliased to `ls --color=auto'、
type cd
cd is a shell builtin
朋友會在“發現-看一看”看到你“在看”的內容