Time of Update: 2018-12-05
Grep的常用命令文法1. 雙引號引用和單引號引用在g r e p命令中輸入字串參數時,最好將其用雙引號括起來。例如:”m y s t r i n g”。這樣做有兩個原因,一是以防被誤解為 s h e l l命令,二是可以用來尋找多個單片語成的字串,例如:”jet plane”,如果不用雙引號將其括起來,那麼單詞 p l a n e將被誤認為是一個檔案,查詢結果將返回”檔案不存在”的錯誤資訊。在調用變數時,也應該使用雙引號,諸如: g r e p”$ M Y VA
Time of Update: 2018-12-05
下面的內容基於Linux bash環境在unix中運行shell指令碼的方式有很多種,假設有一個可以啟動並執行指令碼叫test.sh,可以通過source加指令檔名,source test.sh(= . ./test.sh 兩個.), 也可以通過./路徑/test.sh方式運行,如果指令碼在PATH路徑下,還可以位元組通過指令碼名運行,如test.sh。它們之間的區別是:source test.sh的方式讓test.sh在當前的shell
Time of Update: 2018-12-05
有時候一個任務啟動並執行時間很長,需要將其放在後台運行,否則推出控制台後任務就會被終止,本文講解一下怎麼讓任務在後台運行。比如一個shell指令碼,longjobs.sh運行要很長時間,並且運行中有資訊列印到控制台。1,如果直接通過
Time of Update: 2018-12-05
1、PS1:(提示字元的設定)這個比較有意思,可以定製自己的提示符;當我們每次按下 [Enter] 按鍵去執行某個指令後,最後要再次出現提示字元時, 就會主動去讀取這個變數值了。預設的 bash 的 PS1 變數內的特殊符號代表意義:o \d :代表日期,格式為 Weekday Month Date,例如 "Mon Aug 1"o \H :完整的主機名稱。舉例來說,鳥哥的練習機 linux.dmtsai.tw ,那麼這個主機名稱就是 linux.dmtsai.two \h
Time of Update: 2018-12-05
1、Linux命令之exit - 退出當前shell用途說明exit命令用於退出當前shell,在shell指令碼中可以終止當前指令碼執行,不退出的話,可能會繼續執行後面的程式。 常用參數格式:exit n退出。設定退出碼為n。(Cause the shell to exit with a status of n.) 格式:exit退出。退出碼不變,即為最後一個命令的退出碼。(If n is omitted, the exit status is that ofthe last
Time of Update: 2018-12-05
!$!$是一個特殊的環境變數,它代表了上一個命令的最後一個字串。如:你可能會這樣:$mkdir mydir$mv mydir yourdir$cd yourdir可以改成:$mkdir mydir$mv !$ yourdir$cd !$直接可以利用!$ 代表上次執行的命令的最後一個字串loongson@LOonux:~$ touch 123loongson@LOonux:~$ vim 123loongson@LOonux:~$ touch 123loongson@LOonux:~$ vim !$
Time of Update: 2018-12-05
練習的小內容:判斷當前檔案夾下是否存在a.txt檔案,若存在則建立a-1.txt檔案;否則建立t.txt檔案;if 的三種條件運算式1、if 條件一;then command1else command2ficode: 1 #!/bin/bash 2 3 if ls|grep a.txt; then 4 touch a-1.txt 5 else 6 touch t.txt 7 fi
Time of Update: 2018-12-05
1、case ... in .... esaccase ... in .... esac ,他的文法如下:case $變數名稱 in"第一個變數內容")程式段;;"第二個變數內容")程式段;;*)不包含第一個變數內容與第二個變數內容的其它程式執行段exit 1;;esac要注意的是,這個文法是以 case 為開頭,而以 esac 為結尾,寫個程式:讓使用者能夠輸入 one, two, three , 並且將使用者的變數顯示到螢幕上,如果不是 one, two, three
Time of Update: 2018-12-05
2009-09-27 11:40 shell中$*與$@的區別關於$* 和 $@的 一點 認識 同是菜鳥一起學習$*所有的位置參數,被作為一個單詞.注意:"$*"必須被""引用.$@與$*同義,但是每個參數都是一個獨立的""引用字串,這就意味著參數被完整地傳遞,並沒有被解釋和擴充.這也意味著,每個參數列表中的每個參數都被當成一個獨立的單詞.注意:"$@"必須被引用.$@ $*
Time of Update: 2018-12-05
通過Qpopper2.53遠程獲得shell建立時間:2000-05-27文章屬性:原創文章提交:quack (quack_at_xfocus.org)通過Qpopper2.53遠程獲得shellby quack參考:bufferoverflow secrurity advisory #5 by prizm * 簡述 Qpopper是使用相當廣泛的POP3伺服器,允許使用者通過POP3用戶端讀他們的信件。 它通常用於標準的UNIX系統裡的郵件服務。 *
Time of Update: 2018-12-05
Term : FreeXploiT Author : ALLyeSNODate : 2005-06-21Codz: @echo off :: Ncfoever 1.0 bulid by ALLyeSNO 2005-06-13 :: 可用於tcp連接埠資料包的捕獲 cls ::/* 參數判斷以及使用說明 */ set count=1 if /i "%1"=="-look" goto nclook if /i "%1"=="-log" goto nclog echo. echo =====
Time of Update: 2018-12-05
mycommand >mylog.txt 2>&1 應該是最經典的用法了。命令的結果可以通過“%>”的形式來定向輸出,%表示檔案描述符:1為標準輸出stdout、2為標準錯誤stderr。系統預設%值是1,也就是“1>”,而1>可以簡寫為>,也就是預設為>。stdout的預設目標是終端,stderr的預設目標為也是終端。我們在批處理中執行: echo text >result.txt ,我們就可以在螢幕上會看到 echo text
Time of Update: 2018-12-05
今天寫了個統計某個目錄下原始碼行數的Shell指令碼,如下:# !/bin/bashfind . -name *.java > srcFilesPathNamecount=$(wc -l srcFilesPathName) # 記錄源檔案個數echo "源代檔案個數= $count"while read pathNamedo countAndPath=$(wc -l $pathName) echo $countAndPath >> t1done < sr
Time of Update: 2018-12-05
replace,它是mysql附帶的。 用法(匹配以比較長為準則):replace from to [from to] ... -- 檔案1 檔案2 --後邊的檔案清單也可能改成標準輸入例如:stlxv@stlxvcomputer:~/workspace/DuniyaSystem/gui/vm$ echo "clash" | replace "h" "cc" clascc所以可以很容易寫出這樣的命令,類似DOS中的copy class.*.h
Time of Update: 2018-12-05
在Bash shell中經常會見到一些比較特殊的符號,本人現收集與此,以供查閱:位置參數:詳見ABS(Advanced Bash Shell)中文翻譯版103頁第9章第一節內部變數,當然英文版ABS都一樣啦$0, $1, $2,等等...位置參數,從命令列傳遞給指令碼,或者是傳遞給函數.或者賦職給一個變數.(具體見Example 4-5 和Example 11-15)$0表示當前執行的進程名,script
Time of Update: 2018-12-05
在實行一個shell指令碼(調用java程式修改一個excel檔案)時,單獨sh可以得到想要的結果。但是放到crontab定時執行後,卻沒有得到一個新的excel檔案,log也沒有報錯。查看了路徑,檔案許可權都沒有問題,最後在網上查了一下,發現這樣可以解決問題:將crontab執行的語句進行修改: 15 11 * * * /home/loganalysis/dealexcel.sh >> /home/loganalysis/error.log 2>&1 修改為:
Time of Update: 2018-12-05
#!/bin/shd1=20111201 d2=20120625 time=$(($(date +%s -d ''$d2'') - $(date +%s -d ''$d1''))); #日期差t=`expr $time / 86400` #相差天數for ((i=0;i<=$t;i=i+1))do#echo $d1perl xx.pl $d1d1=`date -d ''$d1' UTC 86400 seconds' +"%Y%m%d"` done說明:d1=`date -d ''
Time of Update: 2018-12-05
/* *此文參考地址:*////注意:本人使用ubuntu11.4,使用sh test 運行shell指令碼報錯,需使用/bin/bash test 運行才能得到正確的結果shell中字串的截取2010-06-24 00:40str="abc123abcABC"#計算字串的長度echo ${#str} #12#位置參數有關操作echo ${#*} #位置參數的個數echo ${#@} #位置參數的個數和上面的效果一樣echo $*
Time of Update: 2018-12-05
最近做了一些Unix Shell編程的回顧,其實Unix是個非常優秀的作業系統,也許從易用性和使用者體驗上它不如Window
Time of Update: 2018-12-05
收集常用技巧,備忘。不定期更新。1. 快速鍵終端快速鍵:CTRL + C: 停止CTRL + Z: 切換到後台CTRL + D: 登出當前會話CTRL + W: 刪除游標前的命令參數CTRL + U: 刪除游標前的所有字元CTRL + K: 刪除游標後的所有字元CTRL + A: 將游標移到最前CTRL + E: 將游標移到末尾CTRL + L: 清屏CTRL + R: 搜尋曆史命令2. 檔案管理檔案搜尋:$ find . -name "*.py[co]"