Linux C 常用shell指令碼

2021-07-24 17:43:03 字數 2267 閱讀 6434

1.列出所有目錄使用量,並按大小排序。

**如下:

ls|xargs du -h|sort -rn 

#不遞迴下級目錄使用du -sh

2.檢視檔案排除以#開關和空白行,適合檢視配置檔案。

**如下:

egrep -v "^#|^$"  filename

sed '/#.*$/d; /^ *$/d'

3.刪除空格和空行。

**如下:

sed '/^$/d' filename #刪除空行

sed 's/ //g' filename

sed 's/[[:space:]]//g' filename

4.刪除#後的注釋。

**如下:

sed -i 's/#.*$//g' filename

5.踢出登入的使用者,用who檢視終端。

**如下:

pkill -kill -t pts/0

6.刪除空檔案。

**如下:

find / -type f -size 0 -exec rm -rf {} \;

7.查詢程序pid並kill。

**如下:

pgrep nginx|xargs kill 

pidof nginx|xargs kill

8.獲取當前ip位址,強大的awk,乙個命令搞定。

**如下:

ifconfig |awk -f"[ ]+|[:]" 'nr==2 '

9.文字方式檢視wtmp日誌

**如下:

utmpdump /var/log/wtmp

10.以記憶體大小排序列出程序

**如下:

ps aux --sort=rss |sort -k 6 -rn

11.簡單web server列出當前目錄檔案,埠8000:

**如下:

12.以管道輸入方式修改使用者密碼:

**如下:

echo "password" |passwd –stdin root

12.生成ssh證書並複製到遠端伺服器:

**如下:

ssh-keygen -y -f ~/.ssh/id_rsa && cat ~/.ssh/id_rsa.pub | ssh root@host "cat - >> ~/.ssh/authorized_keys"

13.shell下新建資料夾並進入,以下加入bashrc:

**如下:

mkcd ( )

14.通過ssh快速備份檔案到另一伺服器:

**如下:

tar zcvf - back/ | ssh [email protected] tar xzf - -c /root/back/

**如下:

wget -r -p -np -k

16.kill整個程序樹:

**如下:

pstree -ap 10277|grep -op '[0-9]'|xargs kill -9

17.生成隨機字元:

**如下:

cat /dev/urandom | tr -dc 'a-za-z0-9' | fold -w 32 | head -n 1

18.使用awk匯出最後一列非空的資料:

**如下:

awk -f "|" ''

19.查詢每行大於幾位數的資料:

**如下:

awk -f '' ''

20.獲取html頁面文字內容:

**如下:

lynx -dump www.jb51.net #包含頁面的url

w3m -no-cookie -dump www.jb51.net

links -dump www.jb51.net #對中文內容支援不好

21.埠重定向:

**如下:

22.行前或行後插入:

**如下:

sed 'p;s/^.*$/--------/' file

awk '' file

23.行首或行尾插入:

**如下:

sed 's/^/new/g' file

sed 's/$/new/g' file

24.逐字換行:

**如下:

awk -f "" ''

25.目錄中大量檔案刪除:

**如下:

ls | xargs rm

shell指令碼常用指令碼

go指令碼總結 shell指令碼在我們工作過程中會起到相當重要的作用,下面是我在一年工作中儲存下來的常用的指令碼。在某個程式需要完成多機部署,並且路徑一致的時候,通過指令碼來完成部署,啟動,終止是一件很方便的事情。bin bash author zhaoyixing breif 程式部署指令碼 br...

linux C程式中獲取shell指令碼輸出

本文使用docbook書寫,您可以在這裡獲得xml 檔案 abstract 本文描述了從linux程式中執行 shell 程式 指令碼 並獲得輸出結果的方法。table of contents 1.前言 2.使用臨時檔案 3.使用匿名管道 4.使用popen 5.小結 unix界有一句名言 一行sh...

linux c程式中獲取shell指令碼輸出

1.前言 unix界有一句名言 一行shell指令碼勝過萬行c程式 雖然這句話有些誇張,但不可否認的是,借助指令碼確實能夠極大的簡化一些程式設計工 作。比如實現乙個ping程式來測試網路的連通性,實現ping函式需要寫上200 300行 為什麼不能直接呼叫系統的ping命令呢?通常在程式 中通過 s...