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-07
Shell編程中常用的檔案描述符有3個: 0:stdin,標準輸入,預設指的是鍵盤輸入 1:stdout,標準輸出,預設指的是螢幕輸出 2:stderr,標準錯誤輸出,預設值得是螢幕輸出重新導向簡單例子命令舉例含義cmd > file 把 stdout 重新導向到 file 檔案中cmd >> file 把 stdout 重新導向到 file 檔案中(追加) cmd 1> fiel 把 stdout 重新導向到 file 檔案中cmd >
Time of Update: 2018-12-07
分享一些可能你不知道的shell用法和指令碼,簡單&強大!在閱讀以下部分前,強烈建議讀者開啟一個shell實驗,這些都不是shell教科書裡的大路貨哦:)!$!$是一個特殊的環境變數,它代表了上一個命令的最後一個字串。如:你可能會這樣:$mkdir mydir$mv mydir yourdir$cd yourdir可以改成:$mkdir mydir$mv !$ yourdir$cd !$sudo !!以root的身份執行上一條命令
Time of Update: 2018-12-07
序 最近正在忙於開發豆瓣資料同步,主要原因是豆瓣介面不給力,超過一定的訪問量就抓不到它的資料。所以決定把豆瓣的資料匯入到本機伺服器,然後使用我們自己的資料。 匯入資料的指令碼我已經開發完了。現在就剩下命令列調用了。今天我就專門研究了下shell的應用,我把我的思考過程寫一下。 準備 這是要使用的php測試指令碼(並不是我的線上代碼,只是一個範例)。<?phpif ($_SERVER['argc'] < 2) { echo "調用不正確!\n"; echo
Time of Update: 2018-12-07
最簡單的調試命令當然是使用echo命令。您可以使用echo在任何懷疑出錯的地方列印任何變數值。這也是絕大多數的shell程式員要花費80%的時間來偵錯工具的原因。Shell程式的好處在於不需要重新編譯,插入一個echo命令也不需要多少時間。 shell也有一個真實的偵錯模式。如果在指令碼"strangescript" 中有錯誤,您可以這樣來進行調試:sh -x strangescript 這將執行該指令碼並顯示所有變數的值。 shell還有一個不需要執行指令碼只是檢查文法的模式。
Time of Update: 2018-12-07
文章目錄 Bash Component ArchitectureLessons from the architecture of BashReference Bash Component ArchitectureLessons from the architecture of Bashit’s vital to have detailed change logs.If it’s appropriate, extensive
Time of Update: 2018-12-07
Shell kill 與 killallkill — 向進程發送訊號(預設情況用來終止進程),只能使用PID來指定進程killall — 同kill,但可以使用進程名來指定進程,並允許使用萬用字元用法:$ kill <PID>$ killall <PID or Process Name>樣本:1. $ kill -s HUP 33092. $ kill -s TERM 3309常用訊號:編號 名稱 描述1 HUP Hang up2 INT
Time of Update: 2018-12-07
${#string} $string的長度${string:position} 在$string中,從位置$position開始提取子串${string:position:length} 在$string中,從位置$position開始提取長度為$length的子串在shell中,通過awk,sed,expr 等都可以實現,字串上述操作。下面我們進行效能比較。[chengmo@localhost ~]$ test='c:/windows/boot.ini' [chengmo@localhost
Time of Update: 2018-12-07
1. hadoop檔案系統許可權簡介2.命令簡介 3. 參考資料 <1>. hadoop檔案系統許可權簡介 hadoop檔案系統實現的檔案許可權模型和posix模型極其類似。每個檔案和目錄和一個owner和group相關聯。可以使用下面的命令來查看/tmp/目錄下的所有檔案及其許可權:xuqiang@ubuntu:~/hadoop/src/hadoop-0.21.0$ ./bin/hadoop fs -ls /tmp/11/05/10 06:42:56 INFO
Time of Update: 2018-12-07
在命令列可以一次執行多個命令,有以下幾種:1.每個命令之間用;隔開說明:各命令的執行給果,不會影響其它命令的執行。換句話說,各個命令都會執行,但不保證每個命令都執行成功。2.每個命令之間用&&隔開說明:若前面的命令執行成功,才會去執行後面的命令。這樣可以保證所有的命令執行完畢後,執行過程都是成功的。3.每個命令之間用||隔開說明:||是或的意思,只有前面的命令執行失敗後才去執行下一條命令,直到執行成功一條命令為止。
Time of Update: 2018-12-07
七、非直接引用變數: 在Shell中提供了三種為標準(直接)變數賦值的方式: 1. 直接賦值。 2. 儲存一個命令的輸出。 3. 儲存某類型計算的結果。 然而這三種方式都是給已知變數名的變數賦值,如name=Stephen。但是在有些情況下,變數名本身就是動態,需要依照啟動並執行結果來構造變數名,之後才是為該變數賦值。這種變數被成為動態變數,或非直接變數。 /> cat > test7.sh #!/bin/sh
Time of Update: 2018-12-07
七. grep家族: 1. grep退出狀態: 0: 表示成功; 1: 表示在所提供的檔案無法找到匹配的pattern; 2: 表示參數中提供的檔案不存在。 見如下樣本: /> grep 'root' /etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin /> echo $? 0
Time of Update: 2018-12-07
FS Shell 調用檔案系統(FS)Shell命令應使用 bin/hadoop fs <args>的形式。 所有的的FS
Time of Update: 2018-12-07
while do done, until do done (不定迴圈)一般來說,不定迴圈最常見的就是底下這兩種狀態了:while [ condition ] <==中括弧內的狀態就是判斷式do <==do 是迴圈的開始! 程式段落done <==done 是迴圈的結束while 的中文是『當....時』,所以,這種方式說的是『當 condition 條件成立時,就進行迴圈,直到 condition
Time of Update: 2018-12-07
條件判斷式只要講到『程式』的話,那麼條件判斷式,亦即是『 if then 』這種判別式肯定一定要學習的! 因為很多時候,我們都必須要依據某些資料來判斷程式該如何進行。if .... then這個 if .... then 是最常見的條件判斷式了~簡單的說,就是當符合某個條件判斷的時候, 就予以進行某項工作就是了。這個 if ... then 的判斷還有多層次的情況!我們分別介紹如下: 單層、簡單條件判斷式如果你只有一個判斷式要進行,那麼我們可以簡單的這樣看:if [ 條件判斷式 ]; then
Time of Update: 2018-12-07
例如我們統計sid,access 日誌如下:203.142.196.181 - - [07/Jan/2009:06:02:58 +0900] "GET /ad/queryphp.jsp?v=1.5&ct=i02&tos=A&key=%3F%3F%3F&sid=100575311&enc=SJIS HTTP/1.0" 200 944 "-" "{KDDI-SN3B UP.Browser/6.2.0.13.1.5 (GUI) MMP/2.0}" 113185
Time of Update: 2018-12-07
今天之前的同事問我一個關於awk的問題。他的意思是通過awk操作獲得的幾行資料是不定的,需要將獲得的幾行資料存到一個數組中,又不想使用迴圈。經過一下午的努力。終於實現了。最終命行eval $(ps -ef | grep tomcat | awk '{print $9}'|sed '/home/!d'|sed 's/^.*home\///g'|sed 's/\/.*$//g' | awk '{printf "line["NR"]=%s\n",$1}').需要注意的地方1.
Time of Update: 2018-12-07
在Linux下如何用Shell指令碼讀寫XML?現有一個config.xml<?xml version="1.0" encoding="UTF-8"?><config> <server-ip>192.168.1.45</server-ip> <server-port>1209</server-port> <repository-temp-path>/home/john</repository-t
Time of Update: 2018-12-07
這裡推薦幾本學習linux書籍,好的教程,可以讓學習者少走彎路。 可以把枯燥的東西變得有樂趣。不是嗎? 第一本推薦入門層級書籍:鳥哥的Linux私房菜 基礎學習篇(第3版)它對linux講解,由淺入深,一定會讓很多初學者愛不釋手的。 第二本推薦shell入門層級書籍:LINUX與UNIX SHELL編程指南這個講解了shell一些