快捷鍵#
ctrl + S
: 畫面凍結
ctrl + Q
: 解除畫面凍結
指令手冊與確認執行狀態#
–help 不能使用時 可以在指令前加上 man
man echo
# 按Q 脫離手冊
# 確認上一個執行的指令,是否正確,0為正確,1以上都是失敗
echo $?
系統基本資訊#
# 顯示作業系統與核心版本資訊
uname -a
# 顯示主機名稱
hostname
# 設定主機名稱 (這裡設定為 ubuntu-71)
sudo hostnamectl set-hostname ubuntu-71
# 顯示作業系統版本資訊
lsb_release -a
硬體使用資訊#
可以開啟系統監控(window的工作管理員相同功能)
# 查看記憶體 (-h 給人看的顯示方式, --si 單位轉換)
# 預設 1024進位, si 1000進位
free -h --si
# 查看磁碟狀況 (-h 給人看的顯示方式)
df -h
# top 的進階版
htop
# 了解 CPU 執行時間
ps -ef
硬體資訊#
一些只是看看就好的指令
# 顯示 CPU 資訊
lscpu
# 查看 CPU 執行序 數量
nproc
# 顯示磁碟與分割區資訊
lsblk
網路狀態#
# 連線狀態、網路埠的使用情況、監控網路
# (-t 僅顯示TCP, -u 僅顯示UDP, -l 監聽)
ss -a
# 查看特定埠
ss -t sport = :8888
# 查看特定 IP
ss dst 192.168.1.1
# 利用watch持續監控
watch ss -lt
檔案操作#
讀取內容#
# 全部顯示
cat file.text
# 分頁顯示
less file.text
# 開頭幾行 (-n10 開頭前10行)
head -n10 file.text
# 結尾幾行 (-n10 結尾前10行)
tail -n10 file.text
# 字數 行數計算
wc file.text
wc -l file.text # 查看行數
# 排序
sort file.text
文字取代#
讀取檔案,並將舊字串取代成新字串
sed -i 's/舊字串/新字串/g' 檔案連結
檔案篩選#
# 打印第二欄
awk '{print $2}' file.txt
# 篩選包含error
awk '/error/' file.txt
# 使用cat讀取檔案 並用 awk 篩選
cat file.txt | awk '/error/'
使用者#
查看目前登入的使用者名稱
# 猜猜我是誰
whoami
# 可以先記錄 UID:使用者帳號 GID使用者群組
id
權限#
# 查看資料夾內的詳細資訊
ll
# 上一層有給資料夾權限,就可以修改資料夾內的檔案權限
# 讀(4), 寫(2), 執行(1)
chmod 744 <檔案名>
# 更改資料夾權限 (-R 遍歷底下所有檔案)
chmod 777 data/backup -R
# 更改 擁有者與群組
chown root:root <檔案名>
使用tar打包#
打包: cvf -r 檔案名稱.zip 目錄 解包: xvf 檔案名稱.zip
# 打包
tar cvf FileName.tar DirName
# 解包
tar xvf FileName.tar
# x:Extract,解壓縮檔案。
# c:Create,建立新的壓縮檔。
# v:Verbose,詳細模式,顯示操作過程中的檔案名稱。
# f:File,指定輸出的壓縮檔案名稱。
使用tar壓縮#
# 壓縮 .tar.gz = .tgz
tar zcvf FileName.tgz DirName
# 解壓縮
tar zxvf FileName.tgz -C ./移動/指定/位置
找檔案#
# 找檔名 在哪個目錄 關鍵字 (也可以指定幾分鐘內修改過)
find ~/ python
# 額外補充
# 指定檔案大小 +大於, -小於, 無符號等於
# find ~/ -size +10M
# 指定修改時間 +大於, -小於, 無符號等於
# find ~/ -mtime -7
# -exec 執行操作,後接的指令以 {} 代表檔案名,用 \; 結尾。
# find ~/ -name "*.log" -exec rm -f {} \;
# 感覺用不到的指令
# 找命令檔位置
# which apt
# 找命令檔、系統檔、手冊
# whereis apt