分享15個比較偏僻但是卻實用有效的linux命令

Linux 腳本語言 Line 中央處理器 軟件 波波說運維 2019-05-22

概述

介紹下平時工作中一些命令,有些很實用,不過卻比較偏僻,大家可以看一下。


工作常用命令

1. 監控命令(每2秒運行一次)

watch "ls -larth"

分享15個比較偏僻但是卻實用有效的linux命令

2. 限制以下命令的內存使用

ulimit -Sv 1000 # 1000 KBs = 1 MB
ulimit -Sv unlimited # Remove limit

假設有這樣一種情況,當一臺 Linux 主機上同時登陸了 10 個人,在系統資源無限制的情況下,這 10 個用戶同時打開了 500 個文檔,而假設每個文檔的大小有 10M,這時系統的內存資源就會受到巨大的挑戰。

而實際應用的環境要比這種假設複雜的多,例如在一個嵌入式開發環境中,各方面的資源都是非常緊缺的,對於開啟文件描述符的數量,分配堆棧的大小,CPU 時間,虛擬內存大小,等等,都有非常嚴格的要求。資源的合理限制和分配,不僅僅是保證系統可用性的必要條件,也與系統上軟件運行的性能有著密不可分的聯繫。這時,ulimit 可以起到很大的作用,它是一種簡單並且有效的實現資源限制的方式。

ulimit 用於限制 shell 啟動進程所佔用的資源,支持以下各種類型的限制:所創建的內核文件的大小、進程數據塊的大小、Shell 進程創建文件的大小、內存鎖住的大小、常駐內存集的大小、打開文件描述符的數量、分配堆棧的最大大小、CPU 時間、單個用戶的最大線程數、Shell 進程所能使用的最大虛擬內存。同時,它支持硬資源和軟資源的限制。 如果要限制內存使用就可以用上面命令來做了。

3. 使用正則表達式重命名所選文件

rename 's/\.bak$/.txt/' *.bak

這個比較適合比較多的一些文件來重命名

分享15個比較偏僻但是卻實用有效的linux命令

4. 獲得完整的文件路徑

readlink -f file.txt

這個命令主要適用於shell腳本

分享15個比較偏僻但是卻實用有效的linux命令

5.跟蹤路由

mtr google.com

分享15個比較偏僻但是卻實用有效的linux命令

6. 查找文件的提示

find . -size 20c # By file size (20 bytes)

find . -name "*.gz" -delete # Delete files

find . -exec echo {} \; # One file by line

分享15個比較偏僻但是卻實用有效的linux命令

find . -exec echo {} \+ # All in the same line

分享15個比較偏僻但是卻實用有效的linux命令

7. 輸出結果前置行號

ls | nl

分享15個比較偏僻但是卻實用有效的linux命令

8. 檢查每個目錄中的文件的的權限

檢測權限錯誤是很有用的,例如在配置web服務器時。

namei -l /path/to/file.txt

分享15個比較偏僻但是卻實用有效的linux命令

9. 每次修改文件時都會執行命令

這個主要是在shell腳本中可以使用,編輯文件時加上補充說明之類。格式如下:

while inotifywait -e close_write document.tex
do
make
done

10. 檢查資源的使用情況

/usr/bin/time -v ls

分享15個比較偏僻但是卻實用有效的linux命令

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

分享15個比較偏僻但是卻實用有效的linux命令

14.. 創建給定大小的空文件

fallocate -l 1G test.img

分享15個比較偏僻但是卻實用有效的linux命令

15. 根據生成的輸出監視進度

15.1、安裝pv命令

/etc/yum.repos.d/ivarch.repo:

[ivarch]
name=RPMs from ivarch.com
baseurl=http://www.ivarch.com/programs/rpms/$basearch/
enabled=1
gpgcheck=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個比較偏僻但是卻實用有效的linux命令

15.2、根據生成的輸出監視進度

cat /dev/urandom | base64 | pv -lbri2 > /dev/null

# pv options:

# -l, lines

# -b, total counter

# -r, show rate

分享15個比較偏僻但是卻實用有效的linux命令

pv這個命令是通過管道顯示數據處理進度的信息。這些信息包括已經耗費的時間,完成的百分比(通過進度條顯示),當前的速度,全部傳輸的數據,以及估計剩餘的時間。

後面再單獨整一個關於pv方面的內容,應用的還是很廣的。


篇幅有限,主要介紹這幾個偏僻但還有點用的命令了,後面會分享更多關於devops和DBA方面的內容,感興趣的朋友可以關注下!!

分享15個比較偏僻但是卻實用有效的linux命令

相關推薦

推薦中...