概述
介紹下平時工作中一些指令,有些很實用,不過卻比較偏僻,大家可以看一下。
工作常用指令
1. 監控指令(每2秒運作一次)
watch "ls -larth"

2. 限制以下指令的記憶體使用
ulimit -Sv 1000 # 1000 KBs = 1 MBulimit -Sv unlimited # Remove limit
假設有這樣一種情況,當一台 Linux 主機上同時登陸了 10 個人,在系統資源無限制的情況下,這 10 個使用者同時打開了 500 個文檔,而假設每個文檔的大小有 10M,這時系統的記憶體資源就會受到巨大的挑戰。
而實際應用的環境要比這種假設複雜的多,例如在一個嵌入式開發環境中,各方面的資源都是非常緊缺的,對于開啟檔案描述符的數量,配置設定堆棧的大小,CPU 時間,虛拟記憶體大小,等等,都有非常嚴格的要求。資源的合理限制和配置設定,不僅僅是保證系統可用性的必要條件,也與系統上軟體運作的性能有着密不可分的聯系。這時,ulimit 可以起到很大的作用,它是一種簡單并且有效的實作資源限制的方式。
ulimit 用于限制 shell 啟動程序所占用的資源,支援以下各種類型的限制:所建立的核心檔案的大小、程序資料塊的大小、Shell 程序建立檔案的大小、記憶體鎖住的大小、常駐記憶體集的大小、打開檔案描述符的數量、配置設定堆棧的最大大小、CPU 時間、單個使用者的最大線程數、Shell 程序所能使用的最大虛拟記憶體。同時,它支援硬資源和軟資源的限制。 如果要限制記憶體使用就可以用上面指令來做了。
3. 使用正規表達式重命名所選檔案
rename 's/.bak$/.txt/' *.bak
這個比較适合比較多的一些檔案來重命名
4. 獲得完整的檔案路徑
readlink -f file.txt
這個指令主要适用于shell腳本
5.跟蹤路由
mtr google.com
6. 查找檔案的提示
find . -size 20c # By file size (20 bytes)
find . -name "*.gz" -delete # Delete files
find . -exec echo {} ; # One file by line
find . -exec echo {} + # All in the same line
7. 輸出結果前置行号
ls | nl
8. 檢查每個目錄中的檔案的的權限
檢測權限錯誤是很有用的,例如在配置web伺服器時。
namei -l /path/to/file.txt
9. 每次修改檔案時都會執行指令
這個主要是在shell腳本中可以使用,編輯檔案時加上補充說明之類。格式如下:
while inotifywait -e close_write document.texdo makedone
10. 檢查資源的使用情況
/usr/bin/time -v ls
11.背景運作
如果程式不需要任何互動:
nohup ./script.sh &
背景運作是基本的需求,不過我一般是輸
nohup ./abc.sh 2> error.out &1&
12. 在檔案中分割長檔案,使用相同數量的行
split -l LINES -d file.txt output_prefix
13. 重新整理交換分區
如果一個程式消耗了太多的記憶體,交換分區就會被剩餘的記憶體填滿,當你回到正常的時候,一切都是緩慢的。隻需重新啟動交換分區來修複它:
sudo swapoff -a
sudo swapon -a
14.. 建立給定大小的空檔案
fallocate -l 1G test.img
15. 根據生成的輸出監視進度
15.1、安裝pv指令
/etc/yum.repos.d/ivarch.repo:
[ivarch]name=RPMs from ivarch.combaseurl=http://www.ivarch.com/programs/rpms/$basearch/enabled=1gpgcheck=1
import my public key forgpgcheck=1 (signature checking) to work:
rpm --import http://www.ivarch.com/personal/public-key.txt
安裝pv
yum install pv -y
15.2、根據生成的輸出監視進度
cat /dev/urandom | base64 | pv -lbri2 > /dev/null
# pv options:
# -l, lines
# -b, total counter
# -r, show rate
pv這個指令是通過管道顯示資料處理進度的資訊。這些資訊包括已經耗費的時間,完成的百分比(通過進度條顯示),目前的速度,全部傳輸的資料,以及估計剩餘的時間。
後面再單獨整一個關于pv方面的内容,應用的還是很廣的。
篇幅有限,主要介紹這幾個偏僻但還有點用的指令了,後面會分享更多關于devops和DBA方面的内容,感興趣的朋友可以關注下!!