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

2021-10-07 01:28:27 字數 3310 閱讀 5532

#!/bin/bash

# 一鍵配置 vnc 遠端桌面伺服器(無密碼版本)

# 指令碼配置的 vnc 伺服器,客戶端無需密碼即可連線

# 客戶端僅有檢視遠端桌面的許可權,沒有滑鼠和鍵盤的操作許可權

rpm --quiet -q tigervnc‐serverif[

$? -ne 0 ]

;then

yum -y tigervnc‐server

fix0vncserver acceptkeyevents=0 alwaysshared=1 \

acceptpointerevents=0 securitytypes=none rfbport=5908

#!/bin/bash

# 關閉 selinux

sed -i '/^selinux/s/=.*/=disabled/' /etc/selinux/config

setenforce 0

#!/bin/bash

# 檢視所有虛擬機器磁碟使用量以及cpu使用量資訊

virt‐df

read -n1 "按任意鍵繼續" key

virt‐top

#!/bin/bash

# 根據計算機當前時間,返回問候語,可以將該指令碼設定為開機啟動

# 00‐12 點為早晨,12‐18 點為下午,18‐24 點為晚上

# 使用 date 命令獲取時間後,if 判斷時間的區間,確定問候語內容

tm=$(

date +%h)if[

$tm -le 12 ]

;then

msg=

"good morning $user"

elif

[$tm -gt 12 -a $tm -le 18 ]

;then

msg=

"good afternoon $user"

else

msg=

"good night $user"

fiecho

"當前時間是:$(

date +"%y‐%m‐%d %h:%m:%s")"

echo -e "\033[34m$msg\033[0m"

#!/bin/bash

# 讀取使用者輸入的賬戶名稱,將賬戶名寫入到陣列儲存

# 定義陣列名稱為 name,陣列的下標為 i,小標從 0 開始,每輸入乙個賬戶名,下標加 1,繼續存下乙個賬戶

# 最後,輸入 over,指令碼輸出總結性資訊後指令碼退出

i=0while:do

read -p "請輸入賬戶名,輸入 over 結束:" key

if[$key

=="over"];

then

break

else

name[$i]

=$key

let i++

fidone

echo

"總賬戶名數量:$"

echo

"$"

#!/bin/bash

# 判斷檔案或目錄是否存在

if[ $# -eq 0 ] ;then

echo

"未輸入任何引數,請輸入引數"

echo

"用法:$0 [檔名|目錄名]"

fiif

[ -f $1];

then

echo

"該檔案,存在"

ls -l $1

else

echo

"沒有該檔案"

fiif

[ -d $1];

then

echo

"該目錄,存在"

ls -ld $2

else

echo

"沒有該目錄"

fi

#!/bin/bash

# 列印各種時間格式

echo

"顯示星期簡稱(如:sun)"

date +%a

echo

"顯示星期全稱(如:sunday)"

date +%a

echo

"顯示月份簡稱(如:jan)"

date +%b

echo

"顯示月份全稱(如:january)"

date +%b

echo

"顯示數字月份(如:12)"

date +%m

echo

"顯示數字日期(如:01 號)"

date +%d

echo

"顯示數字年(如:01 號)"

date +%y echo

"顯示年‐月‐日"

date +%f

echo

"顯示小時(24 小時制)"

date +%h

echo

"顯示分鐘(00..59)"

date +%m

echo

"顯示秒"

date +%s

echo

"顯示納秒"

date +%n

echo

"組合顯示"

date +"%y%m%d %h:%m:%s"

#!/bin/bash

# 使用 egrep 過濾 mac 位址

# mac 位址由 16 進製組成,如 aa:bb:cc:dd:ee:ff

# [0‐9a‐fa‐f]表示一段十六進製制數值,表示連續出現5組前置:的十六進製制

egrep

"[0‐9a‐fa‐f](:[0‐9a‐fa‐f])"

$1

#!/bin/bash

# 生成簽名私鑰和證書

read -p "請輸入存放證書的目錄:"

dirif

[! -d $dir];

then

echo

"該目錄不存在"

exit

firead -p "請輸入金鑰名稱:" name

# 使用 openssl 生成私鑰

openssl genrsa -out $/$.key

# 使用 openssl 生成證書 #subj 選項可以在生成證書時,非互動自動填寫 common name 資訊

openssl req -new -x509 -key $/$.key -subj "/cn=common" -out $/$.crt

未還待續~~持續更新!

站長常用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指令碼整理分享31 40

bin bash 顯示當前計算機中所有賬戶的使用者名稱 下面使用3種不同的方式列出計算機中所有賬戶的使用者名稱 指定以 為分隔符,列印 etc passwd 檔案的第 1 列 awk f etc passwd 指定以 為分隔符,列印 etc passwd 檔案的第 1 列 cut d f1 etc ...