使用工作站進行程式開發或執行時,確保每一個執行中的程式是有效和必要的是相當重要的。殭屍程式或意外無窮迴圈等問題都可能消耗大量的伺服器資源,影響到其他使用者,例如: 背景持續執行(e.g. virtuoso &)的程式。這裡,我們會介紹一些方法來幫助你有效監控、管理及終止不必要的程式。
透過本篇文章你會學到...
監控自己的程式狀態
處理殭屍程式或不必要的背景程式
其他有用的技巧
遇到困難時尋求幫助
cat /etc/passwd
cat /etc/group
cat /etc/sudoers
cat /etc/csh.cshrc
vim /RAID2/cad/full-custom.cshrc
vim /RAID2/cad/cell-based.cshrc
dnf install neofetch -y
neofetch
lscpu
cat /proc/cpuinfo
free -g
cat /proc/meminfo
dmidecode --type memory
cat /etc/redhat-release
top
htop
glances
df -h
du -sh ./*
top
htop
df -h
du -sh ./*
chsh -l = cat /etc/shells
chsh -s /bin/bash
find /home -name gtwang.txt
scp myuser@192.168.0.1:/path/file2 /path/file1
使用 mkdir 於現在目錄下創建test資料夾
> mkdir test
> rmdir test
使用 cd 進入test資料夾
> cd test (一層一層進入)
> cd ~/your_path/test (使用路徑直接進入)
使用 cd 返回資料夾
> cd .. (返回上一層資料夾)
> cd - (返回剛剛所在資料夾)
> cd (返回家目錄資料夾)
列出檔案與資料夾
> ls (僅列出資料夾下的檔案)
> ls –al (列出資料夾下詳細的檔案資訊與隱藏檔案)
更改檔案權限chmod Link
# 以數字表示
> chmod abc file
其中a,b,c各為一個數字,分別表示User、Group、及Other的權限。
r=4,w=2,x=1
若要 rwx 屬性則 4+2+1=7;
若要 rw- 屬性則 4+2=6;
若要 r-x 屬性則 4+1=5。
# 代表檔案權限對所有人全開
> chmod 777 file
# 代表檔案權限對所有人、同群組開放讀寫,但無法更改檔案
> chmod 755 file
# 代表檔案權限對所有人、同群組關閉
> chmod 700 file
使用 cp 複製 file_A 並貼上到目的地 Dest
> cp file_A Dest
使用 cp 複製 file_A file_B file_N 到 Dir_A 裡
> cp file_A file_B file_N Dir_A
如果要複製一個資料夾,就得加上 ” -r ” 這個參數
使用 cp 複製目錄 Dir_A 並命名為 Dir_C
(如果 Dir_C 原來不存在)
> cp -r Dir_A Dir_C
複製 Dir_A 裡的所有檔案到 Dir_B 裡
> cp -r Dir_A/* Dir_B
參考資料: link
使用rm 刪除 filename 檔案
> rm filename
使用 -r 參數代表 recursive 遞迴刪除資料夾 dirname
> rm -r dirname/
使用 -rf 強制遞迴刪除, 不會有任何警告, 使用時要小心
> rm -rf filename or dirname/
參考資料: link
cat 將檔案 filename 輸出至終端機
> cat filename
cat [選項] [檔案] ...
說明:cat 很適合用在快速檢視文件,將檔案資訊輸出至終端機
選項:
-A, --show-all:等價於-vET。
-b, --number-nonblank:從1開始對每一行編號,空白行跳過。
-E, --show-ends:在每一行末端加入$。
-n, --number:從1開始對每一行編號。
more / less
> more filename:
一頁一頁翻動,可使用space往下翻一頁或者是enter往下翻一行。
> less filename:
一頁一頁翻動,與more不一樣的地方在less可以前後翻閱,而more不能向前翻,只能向後翻。可利用pageup、pagedown前後翻閱。
vim 文字編輯器
> vim filename
參考資料: link
語法
mv [options] source dest
mv [options] source... directory
將文件aaa重新命名為bbb
> mv aaa bbb
將 info 目錄放入 logs 目錄中。
注意,如果 logs 目錄不存在,則該指令將 info 改名為 logs。
> mv info/ logs
將 /usr/runoob 下的所有檔案和目錄移到目前目錄下,命令行為:
> mv /usr/runoob/* .
參考資料: link
語法
find [path] [expression]
expression選項:
-name pattern:依檔案名稱尋找,支援使用萬用字元 * 和 ?。
-type type:依檔案類型查找,可以是 f(普通檔案)、d(目錄)、l(符號連結)等。
-size [+-]size[cwbkMG]:依檔案大小找出,支援使用+ 或- 表示大於或小於指定大小,單位可以是c(位元組)、w(字數)、b(區塊數)、k( KB)、M(MB)或G(GB)。
-mtime days:按修改時間查找,支援使用 + 或 - 表示在指定天數前或後,days 是一個整數表示天數。
-user username:按檔案擁有者尋找。
-group groupname:按文件所屬群組尋找。
使用 find 指令找當下目錄有 “foo” 關鍵字的 “檔案”
> find ./ -name "*foo*" -type f
# -type f 找檔案
# -type d 找目錄
# 不加 -type 就是兩種結果都會列出來
使用 find 指令找出單檔大於2G的檔案
> find ./ -size +2G
使用 find 指令找出單檔大於500Mb的.fsdb波形檔案並且刪除.
> find ./ -name "*.fsdb" -size +500M -delete (大於)
> find ./ -name "*.jpg" -size -160k -delete (小於)
使用 find 指令尋找當前目錄下在 5 分鐘以內變動過的所有檔案
> find ./ -type f -mmin -5
尋找當前目錄中所有文件長度為 0 的普通文件,並列出它們的完整路徑
> find ./ -type f -size 0 -exec ls -l {} \;
計算找到的檔案數量
> find ./ -name "*.jpg" | wc -l
參考資料: link