Time of Update: 2017-01-18
用shell指令碼對系統進行自動化維護,簡單,便捷而且可移植性好. 但shell指令碼是可讀寫的,很有可能會泄露敏感資訊,如使用者名稱,密碼,路徑,IP等. 同樣,在shell指令碼運行時會也泄露敏感資訊. shc是一個加密shell指令碼的工具.它的作用是把shell指令碼轉換為一個可執行檔二進位檔案. 這就很好的解決了上述問題. shc 安裝 yum -y install shc 使用方法: shc -r -f script-name 注意:要有-r選項, -f 後跟要加密的指令碼名.
Time of Update: 2017-01-18
文本終端的顏色可以使用“ANSI非常規字元序列”來產生。舉例: echo -e "\033[44;37;5m ME \033[0m COOL" 以上命令設定背景成為藍色,前景白色,閃爍游標,輸出字元“ME”,然後重新設定螢幕到預設設定,輸出字元 “COOL”。“e”是命令 echo 的一個可選項,它用於啟用特殊字元的解析器。“\033”引導非常規字元序列。“m”意味著設定屬性然後結束非常規字元序列,這個例子裡真正有效字元是 “44;37;5” 和“0”。
Time of Update: 2017-01-18
linux shell 可以使用者定義函數,然後在shell指令碼中可以隨便調用。下面說說它的定義方法,以及調用需要注意那些事項。一、定義shell函數(define function)文法:[ function ] funname [()]{action;[return int;]}說明: 1、可以帶function fun() 定義,也可以直接fun() 定義,不帶任何參數。 2、參數返回,可以顯示加:return 返回,如果不加,將以最後一條命令運行結果,作為傳回值。
Time of Update: 2017-01-18
svn 刪除所有的 .svn檔案複製代碼 代碼如下:find . -name .svn -type d -exec rm -fr {} \; linux之cp/scp命令+scp命令詳解 名稱:cp使用許可權:所有使用者使用方式:cp [options] source destcp [options] source... directory說明:將一個檔案拷貝至另一檔案,或將數個檔案拷貝至另一目錄。把計-a 儘可能將檔案狀態、許可權等資料都照原狀予以複製。-r 若
Time of Update: 2017-01-18
功能說明:告知shell取出eval的參數,重新運算求出參數的內容。語 法:eval [參數]補充說明:eval可讀取一連串的參數,然後再依參數本身的特性來執行。參 數:參數不限數目,彼此之間用分號分開。1.執行命令列之前掃描它兩次,再次運算求出參數的內容。複製代碼 代碼如下:[root@localhost blue]# a="ls |more"[root@localhost blue]# $a &
Time of Update: 2017-01-18
最近一段時間,在處理Shell 指令碼時候,遇到時間的處理問題。 時間的加減,以及時間差的計算。一、時間加減這裡處理方法,是將基礎的時間轉變為時間戳記,然後,需要增加或者改變時間,變成 秒。如:1990-01-01 01:01:01 加上 1小時 20分處理方法:a.將基礎時間轉為時間戳記 time1=$(date +%s -d '1990-01-01 01:01:01')echo $time1631126861
Time of Update: 2017-01-18
如何計算目前的目錄下的檔案數和目錄數 # ls -l * |grep "^-"|wc -l ---- to count files # ls -l * |grep "^d"|wc -l ----- to count dir 如何只列子目錄? ls -F | grep /$ 或者 alias sub = "ls
Time of Update: 2017-01-18
在之前的部落格中,曾經寫了自動化測試程式的實現方法,現在開發人員需要知道被測試的進程(在此指運行在LINUX上的主進程的)在異常退出之前的進程的運行狀態,例如記憶體的使用率、CPU的使用率等。現用shell指令碼實現指定進程的運行狀態。直接上代碼。#!/bin/shecho "`date`"echo "Start $0---------"echo ""#每十秒監視一下sec=10#取得指定進程名為mainAPP,記憶體的使用率,進程運行狀態,進程名稱eval $(ps | grep
Time of Update: 2017-01-18
先來看一段錯誤的代碼。複製代碼 代碼如下:#!/bin/bashfor x in `ls */.*/.*`cat $x|do echo $xwhile read line do c=`echo $line|awk -F'(' '{print $1}'` #echo $c i=$((i+$c)) done echodoneecho
Time of Update: 2017-01-18
我說過了,shell是我的常規武器,目前雖然還不純熟,但是我愛shell這門語言,在Linux下面混,總要寫指令碼。程式員是有基因,對程式設計語言是有偏好的,你讓我寫C代碼,我會覺得很爽,會有困難,會有痛苦的摸索和學習,但是,我願意;學習shell/python,我也很樂意,甚至Lisp這種冷門的語言我也充滿了好奇,雖然現在Go和Erlang我一點也不懂,但是我按耐不住對這兩種語言的興趣,只要我抽出手來,一定會和他們纏綿一番。有愛就會有恨,我痛苦地意識到到自己是個很情緒化的程式員,哪怕我一遍遍地
Time of Update: 2017-01-18
================================================= 本文為khler原作,轉載必須確保本文完整並完整保留原作者資訊及本文原始連結 Author: HeYuanHui E-mail: khler@163.com QQ: 23381103 MSN: pragmac@hotmail.com =================================================
Time of Update: 2017-01-18
標準輸入/輸出和重新導向,Linux發行版Fedora Core Linux,而Red Hat公司原來Red Hat Linux的Team Dev也將繼續參與這一發行版本的開發工作。 標準輸入與輸出
Time of Update: 2017-01-18
提取oralce當天的alert log的shell指令碼複製代碼 代碼如下:#/bin/sh#get alert of everyday#then name of file is everyday_alert.shdir="/oracle/admin/bbdz/bdump"num=$(cat -n ${dir}/alert_bbdz.log | grep "`date|cut -c 1-10`"|head -n 1 |awk '{print $1}')tail +${num}
Time of Update: 2017-01-18
在將windows上的jsp網頁移植到linux環境中時,發現一個個的轉換編碼及修改預設編碼類別型太慢,寫此指令碼進行嘗試檔案遍曆~好久不寫,手生了。複製代碼 代碼如下:#!/bin/bash##SPATH="/root/chengji/WebRoot"DPATH="/web"# 函數開始部分CYCLING(){ filelist=`ls -1 $SPATH` for filename in $filelist ; doif [ -f $filename ] ;
Time of Update: 2017-01-18
if 語句格式if 條件then Commandelse Commandfi 別忘了這個結尾If語句忘了結尾fitest.sh: line 14: syntax error: unexpected end of fi if 的三種條件運算式ifcommandthen if 函數then 命令執行成功,等於返回0 (
Time of Update: 2017-01-18
今天遇到的問題,如何一個使用者如www的許可權複製給我的使用者?目錄的許可權表示:dwrxr--r-- 其中第一個字元 d代表目錄, -代表字元 w代表可寫,r代表可讀 x代表可執行 數字為4,2,1其中第一組是檔案或者目錄所有者許可權,第二組代表目前使用者所在使用者組,第三組是其他使用者組的許可權所以控制檔案的許可權是精確到組的用 chmod 許可權 目錄複製代碼 代碼如下:chmod 777 testchmod u+w test
Time of Update: 2017-01-18
今天在寫一個shell指令碼的時候發現需要設定使用者的密碼,而設定密碼是互動,這樣在指令碼中顯然是不太好的,因此上網尋找資料,發現了以下兩種常見的非互動式設定密碼的方式:1:使用chpasswdchpasswd其實是通過使用者輸入'使用者名稱:密碼'來更改一組使用者的密碼,還是一個可以批量修改密碼的工具,具體的用法詳見chpasswd用法,這裡只做簡單的介紹格式:# echo 使用者名稱:密碼 | chpasswd執行個體:添加一個doiido的帳號,密碼為123456複製代碼 代碼如下:#
Time of Update: 2017-01-18
一、常用技巧複製代碼 代碼如下:ssh user@server bash < /path/to/local/script.sh#ssh到遠程伺服器執行一個指令碼,此命令可以避免將指令碼上傳到遠程伺服器ssh user@host cat /path/to/remotefile | diff /path/to/localfile -#比較遠程檔案和本地檔案的差異vim scp://username@host//path/to/somefile#vi一個遠程檔案curl ifconfig.me#
Time of Update: 2017-01-18
這裡簡單介紹一個自己寫的檢測某個進程是否存在的bash小指令碼。直接上代碼。複製代碼 代碼如下:#!/bin/bashps_out=`ps -ef | grep $1 | grep -v 'grep' | grep -v $0`result=$(echo $ps_out | grep "$1")if [[ "$result" != "" ]];then echo "Running"else echo "Not
Time of Update: 2017-01-18
最近對linux批量執行的指令碼高度興趣,在網上到處找有關expect批量執行指令碼,今天就給大家共用一個批量修改密碼的指令碼.指令碼內容:複製代碼 代碼如下:#!/usr/bin/expectif { $argc<2 } { send_user "usage: $argv0 <host file> <cmd file> \n" exit} # 機器列表資料格式: