Time of Update: 2018-12-08
複製代碼 代碼如下:#!/bin/sh# desc: setup linux system security# author:coralzd # powered by www.freebsdsystem.org# version 0.1.2 written by 2011.05.03#account setuppasswd -l xfspasswd -l newspasswd -l nscdpasswd -l dbuspasswd -l vcsapasswd -l gamespasswd -l
Time of Update: 2018-12-08
================================================= 本文為khler原作,轉載必須確保本文完整並完整保留原作者資訊及本文原始連結 Author: HeYuanHui E-mail: khler@163.com QQ: 23381103 MSN: pragmac@hotmail.com =================================================
Time of Update: 2018-12-08
複製代碼 代碼如下:#!/bin/bash if [ ! -f /tmp/down_count ];then echo "0" > /tmp/down_count fi curl -I tomcat-host -o "/tmp/status" >/dev/null 2>&1 code=`awk 'NR==1 {print $2}' /tmp/status` if [ "$[code]" -ge 500 ];then down=`expr
Time of Update: 2018-12-08
shell也有一個真實的偵錯模式。如果在指令碼"strangescript" 中有錯誤,您可以這樣來進行調試: sh -x strangescript 這將執行該指令碼並顯示所有變數的值。 shell還有一個不需要執行指令碼只是檢查文法的模式。可以這樣使用: sh -n your_script 這將返回所有語法錯誤。 linux/unix shell l指令碼調試方法 Shell提供了一些用於調試指令碼的選項,如下所示: -n
Time of Update: 2018-12-08
複製代碼 代碼如下:#include <iostream> using namespace std; void ShellQin(int A[],int n) { int gap=n/2; int i,j; for(;gap>0;gap=gap/2)//設定初始gap,按照gap進行分組,gap按照gap/2遞減 {
Time of Update: 2018-12-08
Shell指令碼:1、#! 指定指令碼執行的shell2、# 注釋 3、命令或文法結構echo "輸入內容"echo 輸出空行執行:1、shell 指令碼 sh example2、給shell指令碼執行許可權 chmod u+x example案例:example sysinfo.sh 3abc x 不能以數字開頭abc3ABC3環境變數-大寫 命令執行結果賦值變數使用 命令替換符 ``PATH=$PATH:/root/shell.examplels -l
Time of Update: 2018-12-08
這種email警示指令碼遍地都是,很多用的sendmail、postfix,感覺有些大材小用了;也有些用perl的NET::SMTP和Authen::SASL模組發信的,不過我perl用的不好,老發出些莫名其妙的郵件來(比如if(a>1){print(a);},最後郵件裡的顯示的是0.99……);最後採用sendEmail這個成型的perl程式發信警示,而即時監控部分迴歸shell,終於完成。複製代碼 代碼如下:wget <a
Time of Update: 2018-12-08
方法一:複製代碼 代碼如下:echo `echo {a..z}``echo {A..Z}` > /tmp/letterfilewhile read -p "please input a letter: " letterdo ((`awk -v var="$letter" 'BEGIN{print length(var)}'` == 1)) && grep -q $letter /tmp/tmpfile && breakdonerm -f
Time of Update: 2018-12-08
標準輸入/輸出和重新導向,Linux發行版Fedora Core Linux,而Red Hat公司原來Red Hat Linux的Team Dev也將繼續參與這一發行版本的開發工作。 標準輸入與輸出
Time of Update: 2018-12-08
比如比較字串、判斷檔案是否存在及是否可讀等,通常用"[]"來表示條件測試。注意:這裡的空格很重要。要確保方括弧的空格。筆者就曾因為空白格缺少或位置不對,而浪費好多寶貴的時間。if ....; then....elif ....; then....else....fi[ -f "somefile" ] :判斷是否是一個檔案[ -x "/bin/ls" ] :判斷/bin/ls是否存在並有可執行許可權[ -n "$var" ] :判斷$var變數是否有值[ "$a" = "$b" ] :判斷$a和$
Time of Update: 2018-12-08
複製代碼 代碼如下:#!/bin/sh# 判斷檔案是否存在# link:www.jb51.net# date:2013/2/28myPath="/var/log/httpd/"myFile="/var /log/httpd/access.log"# 這裡的-x 參數判斷$myPath是否存在並且是否具有可執行許可權if [ ! -x "$myPath"]; then mkdir "$myPath"fi# 這裡的-d 參數判斷$myPath是否存在if [ ! -d "$myPath"];
Time of Update: 2018-12-08
shell指令碼讀取資料有以下幾種方式:1.鍵盤輸入,預設2.從檔案中讀取3.通過管道命令傳遞echo的功能:\c :不換行\f :進紙\t :跳格\n :換行\表示轉義,例如:"\"/dev/rmt0"\"翻譯為,"/dev/rmt0"read:從鍵盤或檔案的某一行文本中讀取資訊,並將其賦給一個變數。複製代碼 代碼如下:[jb51]/>read namehello i am a regular user[jb51]/>echo $namehello i am a regular
Time of Update: 2018-12-08
&&命令1 && 命令2:如果這個命令執行成功&&那麼執行這個命令。[jb]/usr/xxxx/ytcclb>ls -l test.sql-rwxr--r-- 1 xxxx group 225 Nov 15 14:12 test.sql[jb]/usr/xxxx/ytcclb>cp test.sql test.bak && echo "coping file ok!"coping file
Time of Update: 2018-12-08
1、原始暴力的方法複製代碼 代碼如下:myLinux:/home/zhanhailiang/public_html # killall nginx2、溫柔點的方法尋找指定進程的pid,並kill|kill -USR1 掉複製代碼 代碼如下:myLinux:/home/zhanhailiang/public_html # ps -ef|grep tcpServer|grep -v grep|awk '{print $2}'|xargs kill -9等價方法:複製代碼 代碼如下:myLinux:/
Time of Update: 2018-12-08
複製代碼 代碼如下:#!/bin/sh# 擷取所在季度的第一天,到昨天的日期間隔# link:www.jb51.net# date:2013/2/28day=`date -d "1 days ago " "+%Y%m%d"`;year=`expr substr ${day} 1 4`;month=`expr substr ${day} 5 2`;s_date=$year"0101"if [ "$month" == "01" ] || [ "$month" == "02" ] || [
Time of Update: 2018-12-08
說明:shell中數組的下標預設是從0開始的1、將字串放在數組中,擷取其長度複製代碼 代碼如下:#!/bin/bashstr="a b --n d"array=($str)length=${#array[@]}echo $lengthfor ((i=0; i<$length; i++))doecho ${array[$i]}done執行結果:[oracle@99bill-as9 array]$ sh length.sh4a--nd2)、列印字串:複製代碼
Time of Update: 2018-12-08
bash shell只支援一維數組,但參數個數沒有限制。聲明一個數組:declare -a array(其實不用聲明,按數組方式直接賦值給變數即可,BASH就知道那是數組)數組賦值:(1) array=(var1 var2 var3 ... varN)(2) array=([0]=var1 [1]=var2 [2]=var3 ... [n]=varN)(3) array[0]=var1 arrya[1]=var2 ...
Time of Update: 2018-12-08
讀取一個檔案,把每一行賦值給一個數組的變數,然後用for迴圈列印出來複製代碼 代碼如下:#!/bin/shi=1SUM=`sed -n '$=' tmp.txt` #計算檔案的總行數echo "$SUM"while read linedo arr[$i]="$line" i=`expr $i + 1`done < tmp.txtecho "$i"i=1for i in `seq $SUM` ;do echo "${arr[$i]}"done附:shell數組補充知識一、
Time of Update: 2018-12-08
代碼一:複製代碼 代碼如下:#!/bin/bash# 統計網卡流量# link:www.jb51.net# date:2013/2/26n=10daterm -rf /tmp/ifconfig_logwhile (( $n >= 0 ))do n=$(($n - 1)); date >> /tmp/ifconfig_log ifconfig eth1 >> /tmp/ifconfig_log sleep 1donegrep "RX bytes:"
Time of Update: 2018-12-08
複製代碼 代碼如下:#!/usr/bin/expect -fset ipaddress [lindex $argv 0]set passwd [lindex $argv 1]set timeout 30spawn ssh root@$ipaddress#expect "yes/no"#send "yesr"expect "password:"send "$passwdr"expect "]*"send "mkdir -p /tmp/haha/haha2r"send "exitr"********