[指令] Command Line 操作
keywords: zsh
, iterm2
, terminal
, linux
, unix
open -a [appToOpen] [fileName] # 指定特定應用程式開啟檔案
tail -f [filename] # 從結尾開始讀檔,並且持續監控變化
history | grep [pattern] # 找出最近在 terminal 中輸入的內容
Linux Terminal Command Reference @ linux community
變數
$PATH
所有能夠在 Terminal 中直接被執行的程式,都需要放在 $PATH
內,否則需要先指定到該程式所在的資料夾後才能執行。
echo $PATH
如果想要將其他路徑添加到 $PATH
中,可以在 .bash_profile
或 .zshrc
中使用:
- 在
PATH=""
後面使用$PATH
是為了把原本已有的PATH
保留下來,否則會覆蓋掉。 - 用
:
當作不同路徑的區隔
# .zshrc
export PATH="$PATH:~/my-scrips"
$SHELL / $0
當前 Terminal 使用的 shell:
echo $SHELL # /opt/homebrew/bin/zsh
echo $0 # -zsh
$USER / $USERNAME
使用者名稱:
echo $USER # pjchender
echo $USERNAME # pjchender
操作資料夾
cd <directory> # 切換目錄
pwd # 取得目前所在的位置
ls -alpt # 列出目前的檔案列表,搭配 -a(顯示隱藏檔), -l(顯示完整資訊),
# -p(顯示較清楚),-t(根據最後修改時間排序檔案)
ls | wc -l # 顯示檔案數量
mkdir <directory> # 建立新的目錄
mkdir -p ~/Library/a_folder # 即使 Library 資料夾不存在也直接建立到 a_folder
touch # 建立檔案
cp <file> <directory> # 複製檔案
cp index.html about.html # 把檔案 index.html 複製一份成 about.html
cp -r a_folder b_bolder # 把 a_folder 資料夾複製進去 b_folder 資料夾中
mv <file-old> <file-new|directory> # 移動檔案
mv index.html info.html # 把檔案 index.html 更名成 info.html(重新命名、改名)
mv index.html a_folder/ # 把 index.html 移動到 a_folder 資料夾中
rm <file|directory> # 刪除檔案
rm *.html # 刪除目錄中的所有 html
rm -r <folder> # 刪除整個 a_folder
rm -f <file> # 刪除檔案
rm -rf [folder_name] # 刪除資料夾(不論裡面有沒有內容或其他資料夾)
sudo # 暫時取得權限
改變資料與檔案權限 chmod
$ chmod 644 * # 檔案用 644
$ chmod 755 * # 目錄用 755
# 一次修改因為檔案權限修改後,使得 git 認為檔案不同的情況
$ git ls-files -m | xargs chmod 644
# 一次修改所有資料夾底下的檔案或檔案
$ find YOUR_PATH -type d | xargs chmod 755
$ find YOUR_PATH -type f | xargs chmod 644
$ sudo find /path/to/dir -type f -exec chmod 0664 {} \; # 如果上一行出現錯誤,可試試這行
補充:
# 文件的權限類型
rwx = 111 = 7
rw- = 110 = 6
r-x = 101 = 5
r-- = 100 = 4
-wx = 011 = 3
-w- = 010 = 2
--x = 001 = 1
--- = 000 = 0
# 文件所屬群組
<擁有者> - <群組> - <其它>
讀取檔案
cat <file> # 將檔案內容輸出在終端機上
less <file> # 使用分頁的方式顯示內容
head <file> # 只顯示檔案的前 10 行
man open # 查看 open 指令說明
open # 開啟檔案
open -a [appToOpen] [fileName] # 指定特定應用程式開啟檔案
寫入檔案
# <cmd> > <file> # 將 <cmd> 的內容寫入 <file>
echo "my content" > my_file.rb # 取代原本的檔案內容
# <cmd> >> <file> # 將 <cmd> 的內容添加到 <file>
echo "my content" >> my_file.rb # 添加到原本的檔案內容