記錄一些常用的 Linux指令或工具
echo
將字串或變數輸出到終端機的指令
echo "Hello World!"
輸出字串
echo $HOME
輸出變數
cat
concatenate,主要功能為將檔案內容輸出到終端機或另一個檔案
cat a.txt
輸出 a.txt的檔案內容
cat a.txt b.txt
將 a.txt和 b.txt的檔案內容串接輸出到終端機
cat a.txt b.txt > ab.txt
將 a.txt和 b.txt的檔案內容串接寫到新檔案 ab.txt中
cat b.txt >> a.txt
將 b.txt的檔案內容串接寫到 a.txt後
pwd
print working directory,輸出當前終端機的目錄
pwd
ls
list,用來輸出目錄的內容或資訊
| ls command options | |
| -l | Long format。顯示詳細資訊。 |
| -a | All file。顯示隱藏檔案。 |
| -h | Human-readable。將檔案容量大小顯示為人類可讀格式。 |
| -t | Sort by time。以修改時間來將檔案排序,由新到舊。 |
| -R | Recursive。列出所有包含子目錄中的檔案。 |
ls -l
-rw-rw-r-- 1 goyour123 goyour123 182 Feb 28 00:08 a.txt
- -rw-rw-r-- 檔案類型與權限,一共有10個字元。
- 第一個字元代表檔案類型
- [-] 檔案
- [d] 目錄
- [l] 連結檔(symbolic link)
- [b] 塊設備(block device)
- [c] 字符設備(charater device)
- 剩下九個字元以三個為一組,分別代表檔案擁有者(Owner)、群組(Group)及其他使用者(Others)的權限
- [r] 代表可讀(read)
- [w] 代表可寫(write)
- [x] 代表可執行(execute)
- 1 代表檔案的硬連結(hard link)數量
- goyour123 檔案的擁有者
- goyour123 檔案的群組
- 182 檔案的容量大小(bytes)
- Feb 28 00:08 檔案最近修改日期
- a.txt 檔案名稱
cd
change directory,切換目錄
cd
cd ~
切換到家目錄
cd /
切換到根目錄
cd ..
切換到上一層目錄
cd -
切換到上一次所在的目錄
cd /path/to/dir
使用絕對路徑切換目錄
cd dir
切換到當前目錄下的子目錄
mkdir
make directory,建立目錄
mkdir dir
在當前目錄下建立目錄
mkdir -p /path/to/dir
建立多個層級的目錄
mkdir -m 777 dir
建立目錄並設定權限
mkdir dir1 dir2 dir3
建立多個目錄
mv
move,用來重新命名或移動檔案和目錄
| mv command options | |
| -i | interactive。檔案覆蓋前跳出提示。 |
| -f | force。強制覆蓋已存在的檔案。 |
| -n | no-clobber。不覆蓋已存在的檔案。 |
| -u | update。當來源檔案較新或是目的檔案不存在才移動。 |
| -v | verbose。顯示命令執行詳細過程。 |
mv a.txt /path/to/dir
mv a.txt b.txt c.txt /path/to/dir
移動檔案
mv a.txt b.txt
重新命名檔案
cp
copy,複製檔案和目錄
| cp command options | |
| -r | recursive。遞迴地複製檔案,用來複製目錄。 |
| -i | interactive。檔案覆蓋前跳出提示。 |
| -p | preserve。保留檔案的權限及時間戳。 |
| -u | update。當來源檔案較新或是目的檔案不存在才複製。 |
| -a | preserve all。遞迴地複製檔案,並且保留檔案權限及時間戳。 |
| -v | verbose。顯示命令執行詳細過程。 |
cp a.txt b.txt
複製檔案
cp a.txt /path/to/dir
複製檔案到目錄
man
manual,用來查看命令、系統呼叫、函式庫或設定檔的使用方法。
| man 操作方法 | |
| / | 搜尋關鍵字 |
| q | 離開 |
man ls
查詢 ls的使用方法
rm
remove,用來刪除檔案或目錄。
| cp command options | |
| -f | force。強制刪除。 |
| -r | recursive。遞迴地刪除目錄及其中的檔案。 |
| -i | interactive。刪除檔案前跳出提示。 |
| -v | verbose。顯示命令執行詳細過程。 |
rm a.txt
刪除檔案
rm -rf /path/to/dir
強制刪除目錄及其中檔案
touch
用來建立空檔案或是更新檔案的時間戳。
touch a.txt
touch a.txt b.txt c.txt
建立空檔案,如果檔案存在則更新時間戳為現在。
touch -t 202604201000 a.txt
指定更新時間,格式為 [[CC]YY]MMDDhhmm[.ss]。
touch -r reference.txt target.txt
參考其他檔案的時間來更新。
touch -a a.txt
只更新 atime(access time)。
touch -m a.txt
只更新 mtime(modify time)。
chmod
change mode。用來變更檔案或目錄的存取權限。
- 使用者分類
- u (user/owner)
- g (group)
- o (others)
- a (all)
- 權限分類
- r, 4 (read)
- w, 2 (write)
- x, 1 (execute)
chmod 777 a.txt
給予所有人讀寫及執行權限。
chmod 755 a.txt
給予檔案擁有者所有權限,其他人讀取及執行權限。
chmod 644 a.txt
給予檔案擁有者讀寫權限,其他人只有讀取權限。
chmod +x a.txt
給予所有人執行權限。
chmod u+x a.txt
給予擁有者寫入權限。
chmod g-x,o-w a.txt
取消群組及其他人的寫入權限。
chmod a=r a.txt
所有人設定為只能讀取權限。
沒有留言:
張貼留言