Shell 常用命令詳解-上
- 1.目錄查閱相關命令
- 2.文件操作相關命令
1.目錄查閱相關命令
ll 命令
命令描述:ll命令用于顯示指定工作目錄下的內容。
命令格式:ll [參數] [目錄名]。
參數說明:
參數 | 說明 |
---|---|
-a | 顯示所有文件及目錄(包括隱藏文件) |
-l | 將文件的權限、擁有者、文件大小等詳細信息列出 |
-r | 將文件反序列出(默認按英文字母正序) |
-t | 將文件按創建時間正序列出 |
-R | 遞歸遍歷目錄下文件 |
命令使用示例:
ll -a
cd 命令
命令描述:cd命令用于切換工作目錄。
命令格式:cd[參數] 。
參數說明:
參數 | 說明 |
---|---|
. | 表示當前目錄 |
… | 表示上級目錄 |
…/… | 表示上兩級目錄 |
無參數 | 表示當前用戶的家目錄(home) |
命令使用示例:
cd .
cd ..
cd ../..
cd
2.文件操作相關命令
mkdir 命令
命令描述:mkdir命令用于新建子目錄。-p參數確保目錄名稱存在,不存在的就新建一個。
命令使用示例:
mkdir -p a/b/c/d
rm 命令
命令描述:rm命令用于刪除一個文件或者目錄。
命令格式:rm [參數] [文件]。
參數說明:
參數 | 說明 |
---|---|
-i | 刪除前逐一詢問確認 |
-f | 無需確認,直接刪除 |
-r | 刪除目錄下所有文件 |
命令使用示例:
無需確認直接刪除文件。
rm -rf temp*
無需確認直接刪除目錄a及其目錄下所有子目錄和文件。
rm -rf a
cp 命令
命令描述:cp命令主要用于復制文件或目錄。
命令格式:cp [參數] [源文件] [目標文件]。
參數說明:
參數 | 說明 |
---|---|
-d | 復制時保留鏈接 |
-f | 覆蓋已經存在的目標文件而不給出提示 |
-i | 覆蓋前詢問 |
-p | 除復制文件的內容外,還把修改時間和訪問權限也復制到新文件中 |
-r | 復制目錄及目錄內的所有項目 |
命令使用示例:
將目錄c中的所有內容復制到目錄a/b下。
cp -r c a/b/
touch 命令
命令描述:創建文件
命令格式:mv [文件名]
命令使用示例:(創建文件:a.txt)
touch a.txt
mv 命令
命令描述:mv命令用來為文件或目錄改名、或將文件或目錄移入其它位置。
命令格式:mv [參數] [源文件] [目標文件]
參數說明:
參數 | 說明 |
---|---|
-i | 若指定目錄已有同名文件,則先詢問是否覆蓋舊文件 |
-f | 如果目標文件已經存在,不會詢問而直接覆蓋 |
命令使用示例:(將文件名a.txt改為b.txt。)
mv a.txt b.txt
命令使用示例:(將當前目錄內容全部移動到/tmp目錄中。)
mv ./* /tmp
rename 命令
命令描述:rename命令用字符串替換的方式批量改變文件名。
命令使用示例:(將當前目錄下所有文件名中的字符串demo改為大寫的字符串DEMO。)
rename demo DENO *
命令使用示例:(將當前目錄下所有.txt文件后綴都改為text。)
rename .txt .text *
chmod 命令
命令描述:chmod命令用于修改文件權限mode,-R參數以遞歸方式對子目錄和文件進行修改。
擴展:(文件權限)
共11位字符,分5部分。
· 第1位表示存檔類型,d表示目錄,-表示一般文件。
· 第2~4位表示當前用戶的權限(屬主權限)。
· 第5~7位表示同用戶組的用戶權限(屬組權限)。
· 第8~10位表示不同用戶組的用戶權限(其他用戶權限)。
· 第11位是一個半角句號.,表示SELinux安全標簽。
用戶權限每組三位,rwx分別表示讀、寫、執行權限,對應八進制表示為4、2、1。
例如efi目錄的root用戶權限為drwxr-xr-x.。
· 該目錄對root用戶具有讀寫和執行所有權限。
· 該目錄對root組其他用戶有讀和執行權限。
· 該目錄對其他用戶有讀和執行權限
所以該權限表示對應八進制權限表示為:
· 屬主權限:4+2+1=7。
· 屬組權限:4+1=5。
· 其他用戶權限:4+1=5。
即755。
其中,u+x表示增加屬主的執行權限,u表示屬主,g表示屬組,o表示其他,a表示所有用戶。
命令使用示例:(將hello.sh文件增加屬主的執行權限。)
chmod u+x hello.sh
命令使用示例:(將hello.sh文件撤銷屬主的執行權限。)
chmod u-x hello.sh
命令使用示例:(將hello.sh文件權限修改為八進制表示的744權限。)
chmod 744 hello.sh
命令使用示例:(將hello.sh文件撤銷屬主的執行權限。。)
chmod u-x hello.sh