站長常用Shell指令碼整理分享31 40

2021-10-07 01:28:27 字數 3517 閱讀 1456

#!/bin/bash

# 顯示當前計算機中所有賬戶的使用者名稱

# 下面使用3種不同的方式列出計算機中所有賬戶的使用者名稱

# 指定以:為分隔符,列印/etc/passwd 檔案的第 1 列

awk -f: '' /etc/passwd

# 指定以:為分隔符,列印/etc/passwd 檔案的第 1 列

cut -d: -f1 /etc/passwd

# 使用 sed 的替換功能,將/etc/passwd 檔案中:後面的所有內容替換為空(僅顯示使用者名稱)

sed's/:.*//' /etc/passwd

#!/bin/bash

# 制定目錄路徑,指令碼自動將該目錄使用 tar 命令打包備份到/data目錄

[! -d /data ]

&&mkdir /data

[ -z $1]&&

exit

if[ -d $1];

then

tar -czf /data/$1.-`

date +%y%m%d`

.tar.gz $1

else

echo

"該目錄不存在"

fi

#!/bin/bash

# 迴圈關閉區域網中所有主機

# 假設本機為 192.168.4.100,編寫指令碼關閉除自己外的其他所有主機

# 指令碼執行,需要提前給所有其他主機傳遞 ssh 金鑰,滿足無密碼連線

for i indo[

$i -eq 100 ]

&&continue

echo

"正在關閉 192.168.4.$i..."

ssh 192.168.4.$i poweroff

done

#!/bin/bash

# 獲取本機 mac 位址

ip a s |

awk'begin/^[0‐9]/}'

|grep -v lo:

# awk 讀取 ip 命令的輸出,輸出結果中如果有以數字開始的行,先顯示該行的地 2 列(網絡卡名稱),

# 接著使用 getline 再讀取它的下一行資料,判斷是否包含 link/ether

# lo 回環裝置沒有 mac,因此將其遮蔽,不顯示

#!/bin/bash

# 自動配置 rsynd 伺服器的配置檔案 rsyncd.conf

# see rsyncd.conf man page for more options.

[! -d /home/ftp ]

&&mkdir /home/ftp

echo

'uid = nobody

gid = nobody

use chroot = yes

max connections = 4

pid file = /var/run/rsyncd.pid

exclude = lost+found/

transfer logging = yes

timeout = 900

ignore nonreadable = yes

dont compress = *.gz *.tgz *.zip *.z *.z *.rpm *.deb *.bz2

[ftp]

path = /home/ftp

comment = share'

> /etc/rsyncd.conf

36、修改 linux 系統的最大開啟檔案數量

#!/bin/bash

# 修改 linux 系統的最大開啟檔案數量

# 往/etc/security/limits.conf 檔案的末尾追加兩行配置引數,修改最大開啟檔案數量為 65536

cat>> /etc/security/limits.conf <<

eof* soft nofile 65536

* hard nofile 65536

eof

齊功能

#!/bin/bash

# 設定 python 支援自動命令補齊功能

# summary:enable tab complete for python

# description:

needs import readline and rlcompleter module

#import readline

#import rlcompleter

#help(rlcompleter) display detail: readline.parse_and_bind(

'tab: complete')#

man python display detail: pythonstartup variable if

[! -f /usr/bin/tab.py ]

;then

cat>> /usr/bin/tab.py <<

eofimport readline

import rlcompleter

readline.parse_and_bind('tab: complete')

eoffi

sed -i '$a export pythonstartup=/usr/bin/tab.py' /etc/profile

source /etc/profile

#!/bin/bash

# 自動修改計畫任務配置檔案

read -p "請輸入分鐘資訊(00‐59):" min

read -p "請輸入小時資訊(00‐24):" hour

read -p "請輸入日期資訊(01‐31):"

date

read -p "請輸入月份資訊(01‐12):" month

read -p "請輸入星期資訊(00‐06):" weak

read -p "請輸入計畫任務需要執行的命令或指令碼:" program

echo

"$min

$hour

$date

$month

$weak

$program"

>> /etc/crontab

#!/bin/bash

# 找出/etc/passwd 中能登入的使用者,並將對應在/etc/shadow 中第二列密碼提出處理

user=

$(awk -f: '/bash$/' /etc/passwd)

for i in

$user

doawk -f: -v x=

$i'$1==x' /etc/shadow

done

#!/bin/bash

# 統計/etc/passwd 中 root 出現的次數

awk -f: ';i++}} end' /etc/passwd

站長常用Shell指令碼整理分享1 10

bin bash 編寫hello world指令碼 echo hello world bin bash 統計當前 linux 系統中可以登入計算機的賬戶數量 grep bash etc passwd wc l bin bash 編寫批量修改副檔名指令碼,如批量將 txt 檔案修改為 doc 檔案 執...

站長常用Shell指令碼整理分享11 20

bin bash 編寫 nginx 啟動指令碼 本指令碼編寫完成後,放置在 etc init.d 目錄下,就可以被 linux 系統自動識別到該指令碼 如果本指令碼名為 etc init.d nginx,則 service nginx start 就可以啟動該服務 service nginx sto...

站長常用Shell指令碼整理分享51 59

bin bash 一鍵配置 vnc 遠端桌面伺服器 無密碼版本 指令碼配置的 vnc 伺服器,客戶端無需密碼即可連線 客戶端僅有檢視遠端桌面的許可權,沒有滑鼠和鍵盤的操作許可權 rpm quiet q tigervnc serverif ne 0 then yum y tigervnc server...