快轉到主要內容

Ubuntu系統指令

·346 字·2 分鐘
Luca
作者
Luca

快捷鍵
#

ctrl + S : 畫面凍結 ctrl + Q : 解除畫面凍結

指令手冊與確認執行狀態
#

–help 不能使用時 可以在指令前加上 man

man echo
# 按Q 脫離手冊

# 確認上一個執行的指令,是否正確,0為正確,1以上都是失敗
echo $?

系統基本資訊
#

alt text

# 顯示作業系統與核心版本資訊
uname -a

# 顯示主機名稱
hostname

# 設定主機名稱 (這裡設定為 ubuntu-71)
sudo hostnamectl set-hostname ubuntu-71

# 顯示作業系統版本資訊
lsb_release -a

硬體使用資訊
#

可以開啟系統監控(window的工作管理員相同功能)

alt text

alt text

# 查看記憶體 (-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

權限
#

alt text

# 查看資料夾內的詳細資訊
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