pwd
pwd
命令用於獲取當前工作目錄的絕對路徑。
使用示例:
pwd
效果如下圖:
cd
cd
命令用於切換工作目錄。
使用示例:
cd 萬貓學社/
效果如下圖:
其中在路徑表示時, 一個半形句號(.
)表示當前目錄,例如路徑./one/more
等同於one/more
;兩個半形句號(..
)表示上級目錄,例如路徑/one/more/../society
等同於/one/society
,其中more和society目錄同級。
cd
命令的預設引數為~
,符號~
表示當前使用者的家目錄。當root使用者登入時,命令cd
、cd ~
和cd /root
執行效果相同。
ls
ls
命令用於顯示指定工作目錄下的內容。
命令格式:ls [引數] [目錄名]
引數說明:
引數 | 說明 |
---|---|
-a | 顯示所有檔案及目錄(包括隱藏檔案) |
-l | 將檔案的許可權、擁有者、檔案大小等詳細資訊列出(ll 等同於ls -l ) |
-r | 將檔案反序列出(預設按英文字母正序) |
-t | 將檔案按建立時間正序列出 |
-R | 遞迴遍歷目錄下檔案 |
使用示例:
- 檢視當前目錄下的所有檔案(包括隱藏檔案)。
ll -a
效果如下圖:
- 檢視Linux系統上的檔案、目錄和裝置的許可權。
ls -l
效果如下圖:
上圖顯示的第一列就是檔案許可權資訊,共11位字元,分5部分。
第1位表示存檔型別,d表示目錄,-表示一般檔案。
第2~4位表示當前使用者的許可權。
第5~7位表示同使用者組的使用者許可權。
第8~10位表示不同使用者組的使用者許可權。
第11位是一個半形句號.,表示SELinux安全標籤。
使用者許可權每組三位,rwx分別表示讀、寫、執行許可權,對應八進位制表示為4、2、1。
例如onemore目錄的root使用者許可權為drwxr-xr-x,則表示:
該目錄對root使用者具有讀寫和執行所有許可權,該目錄對root組其他使用者有讀和執行許可權,該目錄對其他使用者有讀和執行許可權。
所以該許可權表示對應八進位制許可權表示為:755(當前使用者的許可權:4+2+1=7,同使用者組的使用者許可權:4+1=5,不同使用者組的使用者許可權:4+1=5)。
chmod
chmod
命令用於修改檔案許可權,-R
引數以遞迴方式對子目錄和檔案進行修改。
命令格式:chmod 許可權設定字串 檔名
其中,許可權設定字串的格式為:
[ugoa...][[+-=][rwxX]...][,...]
其含義為:
u
表示該檔案的擁有者,g
表示與該檔案的擁有者屬於同一使用者組的使用者,o
表示其他以外的人,a
表示這三者皆是。+
表示增加許可權、-
表示取消許可權、=
表示唯一設定許可權。r
表示可讀取,w
表示可寫入,x
表示可執行,X
表示只有當該檔案是個子目錄或者該檔案已經被設定過為可執行。
使用示例:
新建名為onemore.sh
的Shell指令碼,該指令碼將會輸出萬貓學社
。
echo "echo '萬貓學社'" > onemore.sh
用ll
命令可以看到onemore.sh
沒有執行許可權,直接執行會報Permission denied
錯誤。
效果如下圖:
將onemore.sh
檔案增加當前使用者的執行許可權。
chmod u+x onemore.sh
有了執行許可權之後就可以直接執行了。
效果如下圖:
將onemore.sh
檔案撤銷當前使用者的執行許可權。
chmod u-x onemore.sh
效果如下圖:
tree
tree
命令用於檢視建立後的目錄結構。
使用示例:
tree
效果如下圖:
touch
touch
命令用於修改檔案或者目錄的時間屬性,包括存取時間和更改時間。若檔案不存在,系統會建立一個新的檔案。
命令格式:touch [引數] [檔案]
引數說明:
引數 | 說明 |
---|---|
-c | 如果指定檔案不存在,不會建立新檔案 |
-r | 使用參考檔案的時間記錄 |
-t | 設定檔案的時間記錄 |
使用示例:
建立4個空檔案。
touch 萬.txt 貓.txt 學.txt 社.txt
效果如下圖:
mkdir
mkdir
命令用於新建子目錄。-p
引數確保目錄名稱存在,不存在的就新建一個。
使用示例:
新建目錄o/n/e/m/o/r/e/
,並使用tree
命令檢視建立後的目錄結構。
mkdir -p o/n/e/m/o/r/e/
tree
效果如下圖:
cp
cp
命令主要用於複製檔案或目錄。
命令格式:cp [引數] [原始檔] [目標檔案]
引數說明:
引數 | 說明 |
---|---|
-d | 複製時保留連結 |
-f | 覆蓋已經存在的目標檔案而不給出提示 |
-i | 覆蓋前詢問 |
-p | 除複製檔案的內容外,還把修改時間和訪問許可權也複製到新檔案中 |
-r | 複製目錄及目錄內的所有專案 |
使用示例:
首先建立目錄o/n/e/
和m/o/r/e/
mkdir -p o/n/e/
mkdir -p m/o/r/e/
效果如下圖:
再將目錄m
中的所有內容複製到目錄o/n/e/
中。
cp -r m o/n/e/
效果如下圖:
rm
rm
命令用於刪除一個檔案或者目錄。
命令格式:rm [引數] [檔案]
引數說明:
引數 | 說明 |
---|---|
-i | 刪除前逐一詢問確認 |
-f | 無需確認,直接刪除 |
-r | 刪除目錄下所有檔案 |
使用示例:
- 無需確認直接刪除以
.txt
結尾的檔案。
rm -rf *.txt
效果如下圖:
- 無需確認直接刪除目錄o及其目錄下所有子目錄和檔案。
rm -rf o
效果如下圖:
mv
mv
命令用來為檔案或目錄改名、或將檔案或目錄移入其它位置。
命令格式:mv [引數] [原始檔] [目標檔案]
引數說明:
引數 | 說明 |
---|---|
-i | 若指定目錄已有同名檔案,則先詢問是否覆蓋舊檔案 |
-f | 如果目標檔案已經存在,不會詢問而直接覆蓋 |
使用示例:
- 將檔名
萬貓學社.txt
改為onemore.txt
。
touch 萬貓學社.txt
mv 萬貓學社.txt onemore.txt
效果如下圖:
- 先建立目錄
o/n/e/
和m/o/r/e/
,將目錄m
中的所有內容移動到目錄o/n/e/
中。
mkdir -p o/n/e/
mkdir -p m/o/r/e/
mv m o/n/e/
效果如下圖:
rename
rename
命令用字串替換的方式批量改變檔名。
命令格式:rename 原字串 目標字串 檔案列表
使用示例:
先建立4個空檔案,再將當前目錄下所有.txt
檔案字尾都改為.log
。
touch 萬.txt 貓.txt 學.txt 社.txt
rename .txt .log *
效果如下圖:
竟然已經看到這裡了,你我定是有緣人,留下你的點贊和關注,他日必成大器。
微信公眾號:萬貓學社
微信掃描二維碼
關注後回覆「電子書」
獲取12本Java必讀技術書籍