大部分人都只知道,基本指令 ls
cd
等等,但其實還有很多好用的指令
- permission - sudo, su, chown, chmod
- screen
- top
- ps
- df
- du
- find
- jobs
- curl
- tar
- readlink
- ln
- awk
- /dev/null
- 2>&1
- scp
- xargs
- > & >>
- envsubst
- getent
- nohub
- grep
permission - sudo, su, chown, chmod
- sudo - 暫時切到最高權限
- su - 切換身份
- chown - 更改檔案/資料夾的擁有者和群組
1 2 3 |
|
- chmod - 更改檔案權限
1
|
|
screen
可以讓一個終端機當成好幾個來使用
參數
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
指令
1 2 |
|
top
能夠即時顯示系統中各個進程的資源佔用狀況
- 每天一個linux命令(44):top命令
- htop 觀測系統的狀態 - 取代 top 指令
- 為什麼 Linux 的 htop 命令完勝 top 命令
- Linux 用 ps 與 top 指令找出最耗費 CPU 與記憶體資源的程式
ps
Process Status的縮寫。用來列出系統中當前運行的那些進程。
ps命令列出的是當前那些進程的快照,就是執行ps命令的那個時刻的那些進程,如果想要動態的顯示進程信息,就可以使用top命令。
1 2 3 4 |
|
df
用來檢查linux伺服器的檔案系統的磁碟空間佔用情況。
1 2 |
|
du
顯示目錄或是檔案的大小,與df命令不同的是 du 是對文件和目錄磁盤使用的空間的查看。
1 2 |
|
- 每天一個linux命令(34):du 命令
- Linux系統中df與du命令查看分區大小不一致問題分析
- [科普] df 和 du 指令為何有時候顯示不同和如何解決
- Linux 的 sort 排序指令教學與常用範例整理
- linux如何找出佔用較大空間的檔案
find
支援非常多的搜尋選項,可以依照權限、擁有者、群組、檔案類型、日期與大小等條件來搜尋
1 2 |
|
一次刪除多個檔案
1
|
|
- Unix/Linux 的 find 指令使用教學、技巧與範例整理
- Questions Tags Users Unanswered Jobs How to delete files with the same extension in one go using rm?
jobs
可以看到背景目前有的指令狀況
1 2 3 4 5 6 |
|
參考文件:
curl
能夠通過http、ftp等方式下載文件,也能夠上傳文件。
1 2 3 |
|
tar
壓縮,解壓縮
x
解壓縮j
bzip2z
bzipJ
xzv
verbosef
後指定要解的檔案,或是壓縮後的指定檔名
1
|
|
下載 + 解壓縮
1
|
|
linux ffmpeg 下載流程
先將原本的 /usr/local/bin/ffmpeg
移除
- 下載
curl -O https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-64bit-static.tar.xz
- 解壓縮
tar xf ffmpeg-release-64bit-static.tar.xz
- 將 ffmpeg 移到 bin/
mv ffmpeg-4.0.2-64bit-static/ffmpeg /usr/local/bin/
更改權限
chmod +x /usr/local/bin/ffmpeg
- GNU / Linux 各種壓縮與解壓縮指令
readlink
用來找出符號鏈接所指向的位置,如果是 symbolic link 加上 -f
可以一直查下去直到最後一個
1
|
|
ln
ln 建立的連結分為 “硬連結” (hard link) 及 “軟連結” (symbolic link), 預設 ln 會使用 hard link。
1 2 3 |
|
1 2 3 |
|
awk
文本分析工具,它是 Linux 中功能強大的數據處理引擎之一。相對於 grep 的查找,sed 的編輯
1 2 3 4 5 6 7 |
|
另外也提供了一些 func
1 2 3 4 |
|
/dev/null
/dev/null
在 Unix 或 Linux 就像黑洞, 會將任何導入的東西吃掉, 簡單來說就是程式會照常執行, 但不會輸出任何執行結果
所以當要清空 file 內容時也可以執行
1 2 |
|
2>&1
>/dev/null 2>&1
代表將左邊執行的結果丟給 /dev/null
而 >
是重新導向的意思,當左右兩邊沒有數字時,代表它會讀取左方程式的標準輸出 (也就是 fd=1) 重新導向給右邊的東西
因此 2>&1
代表將標準錯誤輸出導向給 &1 (fd)
,而為什麼後面要加 &
因為如果沒有加的話系統會誤以為是檔案名稱,而不是 fd.
- 標準輸入 stdin (fd 是 0)
- 標準輸出 stdout (fd 是 1)
- 標準錯誤輸出 stderr (fd 是 2)
fd: file descriptor, 檔案描述子
參考文件
scp
複製本機檔案到遠端機器,也可以反向
1 2 3 4 5 6 7 |
|
xargs
xargs 這個指令會標準輸入(standard input)讀取資料,並以空白字元或換行作為分隔,將輸入的資料切割成多個字串,並將這些字串當成指定指令(預設為 /bin/echo)執行時的參數。
1 2 3 4 5 6 |
|
1 2 3 4 |
|
> & >>
1 2 |
|
envsubst
The envsubst program substitutes the values of environment variables.
利用環境變數(environment variables)搭配 envsubst 來產生設定檔。
1 2 3 |
|
1 2 3 |
|
重新導向產生設定檔案
1
|
|
如果只想替換某個變數
1
|
|
getent
查看系統的數據庫中的相關記錄
1
|
|
nohub
讓程式可以在離線或登出系統後繼續執行
開頭 nohup
結尾 &
1 2 3 4 5 6 7 8 |
|
grep
find all files
1 2 3 4 5 6 |
|
netstat
列出所有 listening
1 2 3 4 |
|
列出 TCP, UDP
1 2 3 4 5 |
|
列出統計數據
1
|
|
查出程式
1 2 3 |
|
不要解析 DNS
1
|
|