天天看點

linux必學的60個指令_精心總結的15個linux實用指令概述工作常用指令

概述

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

工作常用指令

1. 監控指令(每2秒運作一次)

watch "ls -larth"

linux必學的60個指令_精心總結的15個linux實用指令概述工作常用指令

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

這個比較适合比較多的一些檔案來重命名

linux必學的60個指令_精心總結的15個linux實用指令概述工作常用指令

4. 獲得完整的檔案路徑

readlink -f file.txt

這個指令主要适用于shell腳本

linux必學的60個指令_精心總結的15個linux實用指令概述工作常用指令

5.跟蹤路由

mtr google.com

linux必學的60個指令_精心總結的15個linux實用指令概述工作常用指令

6. 查找檔案的提示

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

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

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

linux必學的60個指令_精心總結的15個linux實用指令概述工作常用指令

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

linux必學的60個指令_精心總結的15個linux實用指令概述工作常用指令

7. 輸出結果前置行号

ls | nl

linux必學的60個指令_精心總結的15個linux實用指令概述工作常用指令

8. 檢查每個目錄中的檔案的的權限

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

namei -l /path/to/file.txt

linux必學的60個指令_精心總結的15個linux實用指令概述工作常用指令

9. 每次修改檔案時都會執行指令

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

while inotifywait -e close_write document.texdo makedone
           

10. 檢查資源的使用情況

/usr/bin/time -v ls

linux必學的60個指令_精心總結的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

linux必學的60個指令_精心總結的15個linux實用指令概述工作常用指令

14.. 建立給定大小的空檔案

fallocate -l 1G test.img

linux必學的60個指令_精心總結的15個linux實用指令概述工作常用指令

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
           
linux必學的60個指令_精心總結的15個linux實用指令概述工作常用指令

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

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

# pv options:

# -l, lines

# -b, total counter

# -r, show rate

linux必學的60個指令_精心總結的15個linux實用指令概述工作常用指令

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

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

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

linux必學的60個指令_精心總結的15個linux實用指令概述工作常用指令