Linux 常用指令
Linux 常用指令
ls 列出目錄中的文件和子目錄
ls $OPTION
-l
詳細顯示目錄內容-a
列出包括隱藏檔在內的所有文件-la
列出所有文件和子目錄的详细信息,包括隐藏文件-h
顯示文件和目錄的大小以常見單位来顯示<路徑>
列出指定目錄的內容:ls /path/directory
lshw
查詢電腦規格lscpu
查詢 CPU 規格
pwd 顯示目前工作目錄的路徑
pwd
cd 變更工作目錄
cd $PATH
cd /path/ directory
進入指定目錄cd ..
返回上級目錄cd ~
返回家目錄
mkdir 建立新目錄
mkdir $FOLDER
mkdir new_directory
創建一個名為"new_directory"的新目錄
touch 建立新文件
touch $FILE
touch new_file.txt
創建一個名為"new_file.txt"的新文件
rm 刪除文件或目錄
rm $FILE/$FOLDER
-i filename
強制刪除-r directory
刪除目錄-d directory
刪除空目錄-rf anything
刪除全部
cp 複製文件或目錄
cp $FILE $PATH
cp file.txt new_location/
將文件 file.txt 複製到 new_location/ 目錄下
scp 在不同的 Linux 主機之間複製檔案
scp $PATH $PATH
- 在不同 Linux 主機之間使用 scp 指令複製檔案時,遠端的 Linux 主機必須要開啟 SSH 遠端登入服務,否則無法使用 scp 指令複製檔案
scp [帳號@來源主機]:來源檔案 目的地
scp [user_name@riverye.com](mailto:user_name@riverye.com):/home/data/file.pdf ~/Desktop
scp ~/Desktop/file.pdf [user_name@riverye.com](mailto:user_name@riverye.com):/home/data/
mv 移動或重新命名文件或目錄
mv $FILE $FOLDER
mv old_file.txt new_location/
將文件 old_file.txt 移動到 new_location/ 目錄下mv old_file.txt new_name.txt
將文件 old_file.txt 重命名為 new_name.txt
Linux 環境管理指令
df 查看磁碟與目錄的容量
df -h
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
/dev/disk1s1s1 466Gi 9.2Gi 186Gi 5% 390k 2.0G 0% /
devfs 188Ki 188Ki 0Bi 100% 650 0 100% /dev
/dev/disk1s3 466Gi 1.9Gi 186Gi 2% 3.0k 2.0G 0% /System/Volumes/Preboot
/dev/disk1s5 466Gi 5.0Gi 186Gi 3% 5 2.0G 0% /System/Volumes/VM
/dev/disk1s6 466Gi 10Mi 186Gi 1% 18 2.0G 0% /System/Volumes/Update
/dev/disk1s2 466Gi 262Gi 186Gi 59% 1.5M 2.0G 0% /System/Volumes/Data
map auto_home 0Bi 0Bi 0Bi 100% 0 0 - /System/Volumes/Data/home
lsblk 列出系統上的所有磁碟列表
lsblk $OPTION $DEVICE
-d
僅列出磁碟本身,並不會列出該磁碟的分割資料-f
同時列出該磁碟內的檔案系統名稱-i
使用 ASCII 的線段輸出,不要使用複雜的編碼 (再某些環境下很有用)-m
同時輸出該裝置在 /dev 底下的權限資料 (rwx 的資料)-p
列出該裝置的完整檔名!而不是僅列出最後的名字而已。-t
列出該磁碟裝置的詳細資料,包括磁碟佇列機制、預讀寫的資料量大小等
mount 檔案系統掛載與卸載
mount $OPTION
-a
依照設定檔 /etc/fstab 的資料將所有未掛載的磁碟都掛載上 來-l
單純的輸入 mount 會顯示目前掛載的資訊。加上 -l 可增列 Label 名稱-t
可以加上檔案系統種類來指定欲掛載的類型mount [-t 檔案系統] LABEL='' 掛載點
mount [-t 檔案系統] UUID='' 掛載點
mount [-t 檔案系統] 裝置檔名 掛載點
umount 將裝置檔案卸載
umount $OPTIONS
-f
強制卸載!可用在類似網路檔案系統 (NFS) 無法讀取到的情況下-l
立刻卸載檔案系統,比 -f 還強-n
不更新 /etc/mtab 情況下卸載
free 顯示記憶體使用狀況
free
total used free shared buff/cache available
Mem: 977032 182528 310736 864 483768 634892
Swap: 0 0 0
du 掃描當前目錄結構,並逐一累加檔案大小
du
-h
轉成人類可讀的資料大小-m
以 MB 作為基本單位
8.0K ./.ssh
4.0K ./.cache
28K .
top 即時持續地顯示運行中的程式資訊
top
top - 06:48:27 up 5 min, 1 user, load average: 0.00, 0.05, 0.02
Tasks: 98 total, 1 running, 97 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 954.1 total, 303.5 free, 174.2 used, 476.4 buff/cache
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 624.0 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2121 ubuntu 20 0 13696 5428 3968 S 0.3 0.6 0:00.02 sshd
1 root 20 0 103732 12724 8540 S 0.0 1.3 0:04.21 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp
5 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 slub_flushwq
6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 netns
7 root 20 0 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0-events
8 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H-events_highpri
9 root 20 0 0 0 0 I 0.0 0.0 0:00.04 kworker/u30:0-events_unbound
10 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq
ps 顯示運行中的程式相關資訊
ps
ps aux
顯示所有程式,以用戶做區分ps aux | grep chrome
PID TTY TIME CMD
2122 pts/0 00:00:00 bash
2136 pts/0 00:00:00 ps
kill 強制終止程式執行
kill $PID
-9
強制刪除
lsof 列出當前被開啟的文件資訊
lsof $PATH
-u $USERNAME
列出指定使用者打開的文件訊息-d $PATH
列出目錄下被開啟的文件訊息-D $PATH
列出目錄下被開啟的文件訊息 (含底下的目錄)-p $PID
列出指定 PID 所開啟的文件訊息-i $PORT
列出指定 port 的連線訊息
cpulimit 限制 CPU 使用量
cpulimit
- MacOS、Linux 原生不支援這指令
- brew install cpulimit
- cpulimit -l 70 command 限制 CPU 使用上限為 70%
Linux 文件管理指令
cat 顯示文件內容
cat $FILE
-n
顯示行數- cat file1 > target_file 將多個文件覆蓋到目標文件中:
>
- cat file1 >> target_file 將多個文件追加到目標文件中:
>>
cat unsorted.txt | sort | uniq
uniq 用於去除連續重複,可以對文件進行排序和去除連續重複cat data.txt | awk '{print $1}’ #取出顯示每行的第一個字段
tac 反過來印出 cat 的內容
tac $FILE
head 看該檔案頭部
head $FILE
head -n 30 file
顯示前 N 行的訊息head -c 25 file
顯示前 N bytes 的字元
tail 看該檔案尾部
tail $FILE
more/less 逐頁查看文件內容
more/less $FILE
more file.txt
逐頁查看文件 file.txt 的內容less file.txt
使用 less 以分頁的方式顯示文件內容
grep 在文件中用於搜索和過濾文件資訊
grep $OPTION $WORD $FILE
-n
顯示所找到的字串位於文件的第幾行-A
顯示匹配結果的前幾行-B
顯示匹配結果的後幾行-v
顯示不符合條件的行
chmod 更改文件或目錄的權限
chmod $PERMISSION $FILE/$FOLDER
chmod 755 file.txt
將文件 file.txt 的權限設置為 755
chown - 更改文件或目錄的所有者
chown $USER:$GROUP $FILE
chown user:group file.txt
將文件 file.txt 的所有者設置為 user 並指定 group
sort 用於對文件內容進行排序
sort $FILE
sed 對檔案中的文字執行取代操作
sed
sed 's/舊文字/新文字/g' 文件
替換文字sed '/要刪除的文字/d' 文件
刪除行sed '/插入位置/a 新文字' 文件
插入文字sed -n '行號p' 文件
顯示特定行sed -e '操作1' -e '操作2' 文件
多個操作sed 's/[0-9]+/替換的數字/g' 文件
正則表達式