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必讀技術書籍
