Web開發學習筆記17 — Terminal、Shell指令


Posted by Teagan Hsu on 2021-01-07

Terminal與Shell

Terminal與Shell就像ATM機器與ATM裡的軟體,我們可以通過一些指令(commands)來操作,執行想要的動作。

常見指令

cd => 切換資料夾

cd 相對路徑/絕對路徑
  • Change Directory
    • . 表示此層目錄
    • .. 表示上層目錄
    • ~ 表示家目錄 = /Users/xxxx/
    • ~[名字] 代表到[名字]的家目錄
      範例:
      1.家目錄

      2.從~/Desktop/form/data1/data1-1到~/Desktop/HTML
      (先回到上上上層的桌面資料夾,再選擇下層的HTML資料夾)

pwd => 顯示目前資料夾

  • Print Working Directory

ls => 顯示檔案清單

  • List
    • -a 連同隱藏檔,顯示全部檔案
    • -l 列出檔案細節

mkdir => 建立資料夾

  • Make Directory
    • -m mode 改權限
    • -p 自動把目錄遞迴建立起來(例如:mkdir -p ./data/js)data資料夾與js資料夾都不存在,使用-p後都會幫我們自動建立起來)

Permissions:

Owner Group Other
Read 400 040 004
Write 200 020 002
Execute 100 010 001

rm => 刪檔/資料夾

  • Remove
    • -d 刪除資料夾,或是用rmdir
      (注意只能刪除空資料夾,如果要連裡面的檔案一起全刪要加-r)
    • -f 刪除檔案,無視權限,且不會提醒"確認刪除"
    • -i 刪除檔案,會提醒要同意"確認刪除"
    • -r 刪除植根於資料夾中的每個檔案層次結構。(刪到裡面都沒東西的意思)

mv => 移動檔案/資料夾

mv 原檔案/新檔案 or 原路徑/新路徑
  • Move
    • -n 不去覆蓋已存在的檔案/資料夾
    • -i 覆蓋檔案/資料夾前會提醒"是否同意"
    • -f 強制覆蓋檔案/資料夾,不會提醒

touch => 新建檔案/修改檔案時間

touch 路徑+檔案名
  • touch
    • -f 強制更新檔案,無視權限
    • 檔案原本不存在 => 建立新檔
    • 檔案原本就在 => 更新檔案時間

cp => 複製檔案/資料夾

cp Source_file Target_file
cp Source_file(s) Target_Folder
  • Copy
    • -r 複製資料夾和subtree(遞歸)(即使檢測到錯誤,也會繼續複製)
    • -f 覆蓋重複的檔案/資料夾,不會提醒,無視權限
    • -i 覆蓋現有檔案/資料夾前,提示"確認覆蓋"
    • -n 不要覆蓋現有檔案/資料夾
      範例:
      1.複製data1到同個位置,並改名成data2

      2.複製data1到文件底下

      3.複製data1到文件底下,並改名成data2

      4.複製所有結尾為.jpg的檔案至文件底下

      5.複製檔名有空格的文件到檔名有空格的資料夾(有空格的話,記得用雙引號包起來)

man => 顯示手冊

man command

clear/command+K => 清空螢幕


參考資料:
An A-Z Index of the Apple macOS command line (macOS bash)
Terminal 指令


#terminal #shell







Related Posts

利用 Shell Scripts 寫一支小程式

利用 Shell Scripts 寫一支小程式

Day 28 - Tomato Timer Project

Day 28 - Tomato Timer Project

自動駕駛產業趨勢觀察

自動駕駛產業趨勢觀察


Comments