Time of Update: 2018-12-03
#include <sys/types.h>#include <sys/wait.h>#include <stdio.h>#include <signal.h>#include <unistd.h>#define MAXARGS 20#define ARGLEN 100main(){char *arglist[MAXARGS+1];int numargs;char argbuf[ARGLEN];char
Time of Update: 2018-12-03
◆ 參數說明–b 當file存在並且是塊檔案時返回真-c 當file存在並且是字元檔案時返回真-d 當pathname存在並且是一個目錄時返回真-e 當pathname指定的檔案或目錄存在時返回真-f 當file存在並且是正規檔案時返回真-g 當由pathname指定的檔案或目錄存在並且設定了SGID位時返回為真-h 當file存在並且是符號連結檔案時返回真,該選項在一些老系統上無效-k 當由pathname指定的檔案或目錄存在並且設定了“粘滯”位時返回真-p
Time of Update: 2018-12-03
00 00 1 * * echo "" > /usr/local/apache/logs/error_log > /dev/null 2>&1>/dev/null 將輸出重新導向到/dev/null,這是個空裝置,也就是忽略其輸出。2>&1 是將錯誤輸出到標準輸出,如果在控制台調試,也就是螢幕上,方便調試。有3個預設的i/o,0是標準輸入,一般是鍵盤;1是標準輸出,一般是螢幕了;2是標準錯誤。-----------------------------
Time of Update: 2018-12-03
緣起:在老男孩進行linux培訓shell編程教學中,發現不少水平不錯的網友及同學對數組仍然很迷糊,下面就給大家分享下數組的用法小例子,希望能給大家一點協助。其實SHELL的數組很簡單,好用。我們學習都應該遵循簡單、易用的原則。shell編程中數組的簡單用法及樣本新版本的Bash支援一維數組. 數組元素可以使用符號variable[xx]等方式來初始化. 另外, 指令碼可以使用declare -a variable語句來指定一個數組等。要引用一個數組元素(也就是取值), 可以使用大括弧,
Time of Update: 2018-12-03
命令列參數,positional parameter$0 完整程式名(basename命令可去掉路徑) $1第一個參數,超出9時${10}$# 參數個數$* 命令列中的所有參數,作為一個單詞$@ 命令列中的所有參數,作為多個單詞$$ 當前shell的PID$- shell的一些屬性$! 前一個後台進程的PID echo`basename $0` #獲得程式名echo${!#} #獲得最後一個參數for((i=1;i<=$#;
Time of Update: 2018-12-03
用於if/while等作為判斷的條件; test命令test condition,在條件為true時返回0;iftest condition; then if[ condition ]; then #注意空格,TBD是否支援if 0 ... <==> ...fi fi
Time of Update: 2018-12-03
a檔案22924 183.136.221.76 200 20747 119.146.204.15 200 19563 61.182.133.37 200 19150 112.85.218.29 200 18002 113.106.128.3 200 123 113.106.128.3 200b檔案113.106.128.31.1.1.161.182.133.37各位,怎麼樣將a檔案 $2等於b檔案的$1 的記錄全部列印出來awk 'FNR==NR{a[$0]}NR>FNR{if(
Time of Update: 2018-12-03
一、shell條件陳述式(if用法)if語句結構[if/then/elif/else/fi] if 條件測試語句thenaction[elif 條件actionelseaction]fi 如果對於:條件測試語句不是很清楚,可以參考:linux shell 邏輯運算子、邏輯運算式詳解shell命令,可以按照分號分割,也可以按照分行符號分割。如果想一行寫入多個命令,可以通過“';”分割。如:[chengmo@centos5 ~]$ a=5;if [[ a -gt 4 ]] ;then echo
Time of Update: 2018-12-03
在awk編程中,千萬不要忘記awk處理正則外,還有很多內建函式,特別是字串處理函數,在處理資料的過程中,調用這些函數,將能減少很多工作量。1、格式//注意\後面不能有空格,BEGIN開始位置的“'”和END結束位置的“'”不能忘記。awk -F'&' \'BEGIN{
Time of Update: 2018-12-03
Android程式記憶體被分為2部分:native和dalvik,dalvik就是我們平常說的java堆,我們建立的對象是在這裡面分配的,而bitmap是直接在native上分配的,對於記憶體的限制是 native+dalvik 不能超過最大限制。android程式記憶體一般限制在16M,當然也有24M的。 用以下命令可以查看程式的記憶體使用量情況: adb shell dumpsys meminfo $package_name or
Time of Update: 2018-12-03
shell指令碼調試 -- 作業記錄1 本文主要描述如何輸出shell指令碼中的debug日誌. C/C++的debug日誌 在C/C++中有 __FILE__, __func__, __LINE__ 來表示 當前這行日誌來自哪個原始碼檔案的第幾行的哪個函數.如: #include<stdio.h> /* t.c */int main(){ printf("%s:%d:%s:DEBUG Hello World!\n", __FILE__, __LINE__,
Time of Update: 2018-12-03
#!/bin/sh#for exm to test# ./check.sh 12 36 25 12 453 1 2 3 RETVAL=0SRRVER_START=1SRRVER_STOP=2DNS_STATUS=1dnsCheck(){ while test "x`pidof dnsmasq`" != x ; do echo "check DNS status...................."
Time of Update: 2018-12-03
有時我們需要檢測IP輸入的正確性與網路遮罩的正確性,用shell指令碼寫的:#驗證ip地址的正確性check_ip_format(){ echo $1 | grep "^[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}$" > /dev/null if [ $? = 1 ]; thenreturn 1else a=`echo $1 | awk -F. '{print $1}'`b=`echo $1 | awk -F.
Time of Update: 2018-12-03
對於不含變數的任務簡單shell指令碼一般能勝任。但在執行一些決策任務時,就需要包含if/then的條件判斷了。shell指令碼編程支援此類運算,包括比較運算、判斷檔案是否存在等。基本的if條件命令選項有:-eq —比較兩個參數是否相等(例如,if [ 2 –eq 5 ]) -ne —比較兩個參數是否不相等 -lt —參數1是否小於參數2 -le —參數1是否小於等於參數2 -gt —參數1是否大於參數2 -ge —參數1是否大於等於參數2 -f — 檢查某檔案是否存在(例如,if [
Time of Update: 2018-12-03
shell 指令碼語言是一種解釋型語言;shell指令碼的實質是 shell命令的有序集合;1 shell編程的基本過程 1)建立shell檔案 2)賦予可執行檔許可權 chmod a+x filename 3)執行shell檔案 ./filename2 shell 變數 1)使用者自訂變數 命名規則通C語言的命名規則; 變數賦值的方式:先寫變數名,然後是 =
Time of Update: 2018-12-03
這是入門的文章,如果你已經是 shell 高手請多多指教,3ku!最近在整一個 android 項目,需要用到 linux shell 的知識??????!!還好,之前只是寫過一些簡單的 shell,也看過很多大牛寫的 shell 檔案,佩服的淚牛滿面,書到用時方恨少。只好拚命補習!還好,項目結了,感慨萬千,特此小記!ls 這個命令只要是接觸過 linux 的人,基本上都使用過它。有木有?!使用 vim 編輯器開啟 why.sh 這個檔案,編輯內容如下(你也可以任意寫,但是要按 shell
Time of Update: 2018-12-03
shell的變數: (1. 變數與變數內容以等號『=』來連結; (2. 等號兩邊不能直接接空格符; (3. 變數名稱只能是英文字母與數字,但是數字不能是開頭字元; (4. 若有空格符可以使用雙引號『 " 』或單引號『 ' 』來將變數內容結合起來,但須要特別留意,雙引號內的特殊字元可以保有變數特性,但是單引號內的特殊字元則僅為一般字元; (5. 必要時需要以跳脫字元『 / 』來將特殊符號(如Enter, $, /, 空格符, '等)變成一般符號; (6.
Time of Update: 2018-12-03
第十二章:更多的結構化命令for基本格式for var in listdo commandsdone可以通過下面幾種方式指定list列表1.羅列for var in A B C D如果羅列中的字串中有特殊字元,比如單引號,可以1)使用逸出字元2)使用雙引號2.從變數讀取列表list="A B C D"list=$list" E"for var in $list3.從命令中讀取值for var in `cat
Time of Update: 2018-12-03
第十一章:使用結構化命令 使用if-then語句if commandthen commandsfi如果if後面的命令退出狀態代碼=0,那麼就執行then 另外一種形式if command; then commandsfi if-then-else語句if commandthen commandselse commandsfi如果if後面的命令退出狀態代碼=0,那麼就執行then,否則,執行else 嵌套if(else if)if command1then
Time of Update: 2018-12-03
一部分terminal終端快速鍵:Ctrl+F前移一個字元Ctrl+B後移一個字元Ctrl+E移動到行尾Ctrl+L清屏Ctrl+D刪除當前字元Ctrl+T調換字元Ctrl+V輸入特殊字元Alt+U將所有字元改為小寫單詞Alt+L將所有字元改為大寫單詞Alt+C將當前字元改為大寫Ctrl+K剪下從游標當前位置到結束位置字元Ctrl+U剪下從游標當前位置到開始位置字元Ctrl+W剪下游標前的一個字元Ctrl+D剪下游標後的一個字元Ctrl+Y粘貼Ctrl+C刪除整行文字