簡單來說 Command Line 是一種操作電腦的方法,全名為 Command-line interface(簡稱 CLI),透過純文字的方式讓電腦知道我們要他做什麼,指令等同於一個程式,所以指令是可以創造的,例如 wget。
而平常我們看到,例如:桌面的檔案總管,是另一種呈現方式,叫做圖形化介面Graphical user interface(簡稱GUI),那 GUI 這麼方便好懂,為什麼我們要學Command Line?
因為這是工程師必備的工具!我們在寫code的很多時候,有些並不需要這麼漂亮的圖形化介面來幫助我們,只需要簡短的一行指令,就可以達成我們要電腦做的事。
以下筆記常用到的指令:
基本指令
- 印出該位置下的所有檔案 lists all files
- 後可加參數
- 參數 l:所有細節
- 參數 a:包含隱藏檔案
ls
ls -l
ls -a
ls -al (綜合技:詳細列出所有檔案,包含隱藏檔案)
- 印出現在位置 prints working directory
pwd
- 改變/移動位置 change directory
cd (目標位置)
cd .. (回到上一層)
- 使用手冊 manual(教你怎麼用指令)
按Q會跳出手冊
man (指令)
ex. man ls
- 清除版面 clear
clear
- 印出所打文字 echo
echo "打打文字"
=> 印出“打打文字”,
檔案操作相關指令
- 更改時間 (已存在檔案) / 建立檔案(尚未存在的檔案)
touch (檔案名稱)
- 刪除檔案 deletes files
rm (檔案名稱)
- 刪除資料夾 deletes directory (include all of its child directories.)
rm -r (資料夾名稱)
rmdir (資料夾名稱)
- 建立資料夾 mkdir
mkdir folder
- 移動檔案 / 改檔名 move
以下可參考相對 絕對 傻傻分不清楚
mv 檔案名稱 相對路徑
mv text.txt Desktop(相對路徑,目前在/Users/alirongrong)
mv 檔案名稱 絕對路徑
mv text.txt /Users/alirongrong/Desktop (絕對路徑)
- 複製檔案 copy
cp text.txt (新的檔名)
cp -r folder (新的資料夾名稱)
- 印出檔案內容 cat
cat 檔案名稱
- 印出檔案內容(分頁式) less
less 檔案名稱
- 抓取檔案內容指定關鍵字 grep
grep 指定文字 (目標檔案)
=> 列出含有指定關鍵字的行
其他好用指令
- 下載檔案 wget (要額外去找的指令)
wget URL網址
- curl (送出 request )
curl API網址
=> 印出 Respond
curl -I API網址
=> 印出 該 API header 的資訊
綜合技
- \ root 根目錄
- ~ 後目錄
- > 重新導向Input Output, redirection
ls -al > 123
=> 將列出ls -al 的資料存到 123 這個檔案中
----
echo "我是文字" > 123.txt
=> 將"我是文字"的資料存到 123.txt 中
但要注意 123.txt 會先被清空,再導入“我是文字”
- >> 新增內容 append to the end of the file
echo "我是文字" >> 123.txt
=>將"我是文字"的資料存到 123.txt 中
因為是 append 的方式,所以不會將 123.txt 檔案清空,則是在放面新增
| pipe 指令的組合技
左邊指令的輸出 給 右邊指令的輸入
cat text.txt | grep "我是文字" >> 123.txt
=> 在 text.txt 的檔案中,抓取 "我是文字" 這個關鍵字,並 append to 123.txt
以上為[CMD101] Command Line 超新手入門讀完筆記,
也有查到幾個還不錯的參考網頁codecademy