1. 程式人生 > >linux/unix命令詳解之sed

linux/unix命令詳解之sed

ps:我只能說別說你會sed。。。這篇綜合很多sed文件寫成。

1. 功能說明:利用script來處理文字檔案。
語  法:sed [-hnV][-e(script)][-f (script檔案) ][文字檔案]
補充說明:sed可依照script的指令,來處理、編輯文字檔案。

2. 定址

可以通過定址來定位你所希望編輯的行,該地址用數字構成,用逗號分隔的兩個行數表示以這兩行為起止的行的範圍(包括行數表示的那兩行)。如1,3表示1,2,3行,美元符號($)表示最後一行。範圍可以通過資料,正則表示式或者二者結合的方式確定 。

3. sed命令(並非引數)
呼叫sed命令有兩種形式:
sed [options] ‘command’ file(s)
sed [options] -f scriptfile file(s)
a\ 在當前行後面加入一行文字。
b lable 分支到指令碼中帶有標記的地方,如果分支不存在則分支到指令碼的末尾。
c\ 用新的文字改變本行的文字。
d 從模板塊(Pattern space)位置刪除行。
D 刪除模板塊的第一行。
i\ 在當前行上面插入文字。
h 拷貝模板塊的內容到記憶體中的緩衝區。
H 追加模板塊的內容到記憶體中的緩衝區
g 獲得記憶體緩衝區的內容,並替代當前模板塊中的文字。
G 獲得記憶體緩衝區的內容,並追加到當前模板塊文字的後面。
l 列表不能列印字元的清單。
n 讀取下一個輸入行,用下一個命令處理新的行而不是用第一個命令。
N 追加下一個輸入行到模板塊後面並在二者間嵌入一個新行,改變當前行號碼。
p 列印模板塊的行。
P(大寫)列印模板塊的第一行。
q 退出Sed。
r file 從file中讀行。
t label if分支,從最後一行開始,條件一旦滿足或者T,t命令,將導致分支到帶有標號的命令處,或者到指令碼的末尾。
T label 錯誤分支,從最後一行開始,一旦發生錯誤或者T,t命令,將導致分支到帶有標號的命令處,或者到指令碼的末尾。
w file 寫並追加模板塊到file末尾。
W file 寫並追加模板塊的第一行到file末尾。
! 表示後面的命令對所有沒有被選定的行發生作用。
s/rep/string/ 用string替換正則表示式re匹配的內容。
= 列印當前行號碼。
# 把註釋擴充套件到下一個換行符以前。

以下的是替換標記:
g表示行內全面替換。
p表示列印行。
w表示把行寫入一個檔案。
x表示互換模板塊中的文字和緩衝區中的文字。
y表示把一個字元翻譯為另外的字元(但是不用於正則表示式)

4. 選項
-e command, –expression=command 允許多臺編輯。
-h, –help 列印幫助,並顯示bug列表的地址。
-n, –quiet, –silent 取消預設輸出。
-f, –filer=script-file  引導sed指令碼檔名。
-V, –version 列印版本和版權資訊。

5. 元字符集(熟悉正則就清楚多了)
^ 錨定行的開始 如:/^sed/匹配所有以sed開頭的行。
$ 錨定行的結束 如:/sed$/匹配所有以sed結尾的行。
. 匹配一個非換行符的字元 如:/s.d/匹配s後接一個任意字元,然後是d。
* 匹配零或多個字元 如:/*sed/匹配所有模板是一個或多個空格後緊跟sed的行。
[] 匹配一個指定範圍內的字元,如/[Ss]ed/匹配sed和Sed。
[^] 匹配一個不在指定範圍內的字元,如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一個字母開頭,緊跟ed的行。
.

. 儲存匹配的字元,如s/ love able/\1rs,loveable被替換成lovers。
& 儲存搜尋字元用來替換其他字元,如s/love/**&**/,love這成**love**。
\< 錨定單詞的開始,如:/\<love 匹配包含以love開頭的單詞的行。
\> 錨定單詞的結束,如/love\>/匹配包含以love結尾的單詞的行。
x\{m\} 重複字元x,m次,如:/0\{5\}/匹配包含5個o的行。
x\{m,\} 重複字元x,至少m次,如:/o\{5,\}/匹配至少有5個o的行。
x\{m,n\} 重複字元x,至少m次,不多於n次,如:/o\{5,10\}/匹配5–10個o的行。

6. 例項
刪除:d命令
$ sed '2d' #刪除檔案的第二行。
$ sed '2,$d' #刪除檔案的第二行到末尾所有行。
$ sed '$d’ #刪除檔案的最後一行。
$ sed 'N;$!P;$!D;$d' # 刪除檔案中的最後兩行
# 刪除檔案中的最後10行
$ sed -e :a -e '$d;N;2,10ba' -e 'P;D'   # 方法1
$ sed -n -e :a -e '1,10!{P;N;D;};N;ba'  # 方法2

# 刪除8的倍數行
$ gsed '0~8d'                           # 只對GNU sed有效
$ sed 'n;n;n;n;n;n;n;d;'                # 其他sed

# 刪除檔案中的所有空行(與“grep '.' ”效果相同)
$ sed '/^$/d'                           # 方法1
$ sed '/./!d'                           # 方法2

# 只保留多個相鄰空行的第一行並且刪除檔案頂部和尾部的空行。模擬“cat -s”
$ sed '/./,/^$/!d'        #方法1,刪除檔案頂部的空行,允許尾部保留一空行
$ sed '/^$/N;/\n$/D'      #方法2,允許頂部保留一空行,尾部不留空行

$ sed '/^$/N;/\n$/N;//D'# 只保留多個相鄰空行的前兩行。
$ sed '/./,$!d'# 刪除檔案頂部的所有空行

# 刪除檔案尾部的所有空行
$ sed -e :a -e '/^\n*$/{$d;N;ba' -e '}'  # 對所有sed有效
$ sed -e :a -e '/^\n*$/N;/\n$/ba'        # 同上,但只對 gsed 3.02.*有效

$ sed 's/^[ \t]*//;s/[ \t]*$//'#將每一行中的前導和拖尾的空白字元刪除
$ sed '/test/d' #刪除檔案所有包含test的行。
$ sed '/test/!d' #刪除檔案未包含test的行。
$ sed -n '/^$/{p;h;};/./{x;/./p;}'# 刪除每個段落的最後一行
$ sed '/Iowa/,/Montana/d'# 刪除兩個正則表示式之間的內容

# 刪除檔案中相鄰的重複行(模擬“uniq”)只保留重複行中的第一行,其他行刪除
$ sed '$!N; /^ . \n\1$/!P; D' 

#刪除檔案中的重複行,不管有無相鄰。注意hold space所能支援的快取大小,或者使用GNU sed。
$ sed -n 'G; s/\n/&&/; /^ Undefined control sequence \n .*\n\1/d; s/\n//; h; P'

$ sed '$!N; s/^ . \n\1$/\1/; t; D'   # 刪除除重複行外的所有行(模擬“uniq -d”)

替換:s命令
$ sed ‘s/test/mytest/g’ example—–在整行範圍內把test替換為mytest。如果沒有g標記,則只有每行第一個匹配的test被替換成mytest。
*
$ sed 's/foo/bar/4' # 只替換每一行中的第四個“foo”字串
*
$ sed 's/ . foo .foo/\1bar\2/' # 替換倒數第二個“foo”
*
$ sed -n ‘s/^test/mytest/p’ example—–(-n)選項和p標誌一起使用表示只打印那些發生替換的行。也就是說,如果某一行開頭的test被替換成mytest,就列印它。
*
$ sed '/baz/s/foo/bar/g'# 只在行中出現字串“baz”的情況下將“foo”替換成“bar”
*
$ sed '/baz/!s/foo/bar/g'# 將“foo”替換成“bar”,並且只在行中未出現字串“baz”的情況下替換
*
# 不管是“scarlet”“ruby”還是“puce”,一律換成“red”
$ sed 's/scarlet/red/g;s/ruby/red/g;s/puce/red/g'  #對多數的sed都有效
$ gsed 's/scarlet\|ruby\|puce/red/g'               # 只對GNU sed有效
*
$ sed ‘s/^192.168.0.1/&localhost/’ example—–&符號表示替換換字串中被找到的部份。所有以192.168.0.1開頭的行都會被替換成它自已加 localhost,變成192.168.0.1localhost。
*
$ sed -n ‘s/ love able/\1rs/p’ example—–love被標記為1,所有loveable會被替換成lovers,而且替換的行會被打印出來。
*
$ sed 's/^M$//' # 在bash/tcsh中,將按Ctrl-M改為按Ctrl-V。Unix環境:轉換DOS的新行符(CR/LF)為Unix格式
*
$ sed ‘s#10#100#g’ example—–不論什麼字元,緊跟著s命令的都被認為是新的分隔符,所以,“#”在這裡是分隔符,代替了預設的“/”分隔符。表示把所有10替換成100。

選定行的範圍:逗號
*
$ sed -n ‘/test/,/check/p’ example—–所有在模板test和check所確定的範圍內的行都被列印。
*
$ sed -n ’5,/^test/p’ example—–列印從第五行開始到第一個包含以test開始的行之間的所有行。
*
$ sed ‘/test/,/check/s/$/sed test/’ example—–對於模板test和check之間的行,每行的末尾用字串sed test替換。$變成^當然就是行頭了。

多點編輯:e命令
*
$ sed -e ’1,5d’ -e ‘s/test/check/’ example—–(-e)選項允許在同一行裡執行多條命令。如例子所示,第一條命令刪除1至5行,第二條命令用check替換test。命令的執 行順序對結果有影響。如果兩個命令都是替換命令,那麼第一個替換命令將影響第二個替換命令的結果。
*
$ sed –expression=’s/test/check/’ –expression=’/love/d’ example—–一個比-e更好的命令是–expression。它能給sed表示式賦值。

從檔案讀入:r命令
*
$ sed ‘/test/r file’ example—–file裡的內容被讀進來,顯示在與test匹配的行後面,如果匹配多行,則file的內容將顯示在所有匹配行的下面。

寫入檔案:w命令
*
$ sed -n ‘/test/w file’ example—–在example中所有包含test的行都被寫入file裡。

追加命令:a命令
*
$ sed ‘/^test/a\\—>this is a example’ example<—–’this is a example’被追加到以test開頭的行後面,sed要求命令a後面有一個反斜槓。
*

追加命令:G命令 獲得記憶體緩衝區的內容,並追加到當前模板塊文字的後面。
sed G # 在每一行後面增加一空行
# 將原來的所有空行刪除並在每一行後面增加一空行。
sed '/^$/d;G'  # 這樣在輸出的文字中每一行後面將有且只有一空行。
sed 'G;G'  # 在每一行後面增加兩行空行
sed '/regex/G' # 在匹配式樣“regex”的行之後插入一空行
sed '/regex/{x;p;x;}'# 在匹配式樣“regex”的行之前插入一空行
sed '/regex/{x;p;x;G;}'# 在匹配式樣“regex”的行之前和之後各插入一空行
# 在每5行後增加一空白行 (在第5,10,15,20,等行後增加一空白行)
gsed '0~5G'                      # 只對GNU sed有效
sed 'n;n;n;n;G;'                 # 其他sed

插入:i命令
$ sed ‘/test/i\\
new line
————————-’ example
如果test被匹配,則把反斜槓後面的文字插入到匹配行的前面。

下一個:n命令
*
$ sed ‘/test/{ n; s/aa/bb/; }’ example—–如果test被匹配,則移動到匹配行的下一行,替換這一行的aa,變為bb,並列印該行,然後繼續。

變形:y命令
*
$ sed ’1,10y/abcde/ABCDE/’ example—–把1–10行內所有abcde轉變為大寫,注意,正則表示式元字元不能使用這個命令。

退出:q命令
*
$ sed ’10q’ example—–列印完第10行後,退出sed。
*
sed -e :a -e '$q;N;11,$D;ba'# 顯示檔案中的最後10行 (模擬“tail”)

保持和獲取:h命令和G命令
$ sed -e ‘/test/h’ -e ‘$G example—–在sed處理檔案的時候,每一行都被儲存在一個叫模式空間的臨時緩衝區中,除非行被刪除或者輸出被取消,否則所有被處理的行都將 列印在螢幕上。接著模式空間被清空,並存入新的一行等待處理。在這個例子裡,匹配test的行被找到後,將存入模式空間,h命令將其複製並存入一個稱為保 持快取區的特殊緩衝區內。第二條語句的意思是,當到達最後一行後,G命令取出保持緩衝區的行,然後把它放回模式空間中,且追加到現在已經存在於模式空間中 的行的末尾。在這個例子中就是追加到最後一行。簡單來說,任何包含test的行都被複制並追加到該檔案的末尾。

保持和互換:h命令和x命令
*
$ sed -e ‘/test/h’ -e ‘/check/x’ example —–互換模式空間和保持緩衝區的內容。也就是把包含test與check的行互換。

編號:
# 為檔案中的每一行進行編號(簡單的左對齊方式)。這裡使用了“製表符”
# (tab,見本文末尾關於'\t'的用法的描述)而不是空格來對齊邊緣。
sed = filename | sed 'N;s/\n/\t/'
*
# 對檔案中的所有行編號(行號在左,文字右端對齊)。
sed = filename | sed 'N; s/^/     /; s/ * .{6,} \n/\1  /'
*
# 對檔案中的所有行編號,但只顯示非空白行的行號。
sed '/./=' filename | sed '/./N; s/\n/ /'
*
# 計算行數 (模擬 "wc -l")
sed -n '$='

顯示特定行:
# 顯示檔案中的前10行 (模擬“head”的行為)
sed 10q

  # 顯示檔案中的第一行 (模擬“head -1”命令)
sed q

  # 顯示檔案中的最後10行 (模擬“tail”)
sed -e :a -e '$q;N;11,$D;ba'

  # 顯示檔案中的最後2行(模擬“tail -2”命令)
sed '$!N;$!D'

  # 顯示檔案中的最後一行(模擬“tail -1”)
sed '$!d'                        # 方法1
  sed -n '$p'                      # 方法2

  # 顯示檔案中的倒數第二行
sed -e '$!{h;d;}' -e x              # 當檔案中只有一行時,輸入空行
sed -e '1{$q;}' -e '$!{h;d;}' -e x  # 當檔案中只有一行時,顯示該行
sed -e '1{$d;}' -e '$!{h;d;}' -e x  # 當檔案中只有一行時,不輸出

# 只顯示匹配正則表示式的行(模擬“grep”)
sed -n '/regexp/p'               # 方法1
  sed '/regexp/!d'                 # 方法2

  # 只顯示“不”匹配正則表示式的行(模擬“grep -v”)
sed -n '/regexp/!p'              # 方法1,與前面的命令相對應
sed '/regexp/d'                  # 方法2,類似的語法

# 查詢“regexp”並將匹配行的上一行顯示出來,但並不顯示匹配行
sed -n '/regexp/{g;1!p;};h'

  # 查詢“regexp”並將匹配行的下一行顯示出來,但並不顯示匹配行
sed -n '/regexp/{n;p;}'

  # 顯示包含“regexp”的行及其前後行,並在第一行之前加上“regexp”所
# 在行的行號 (類似“grep -A1 -B1”)
sed -n -e '/regexp/{=;x;1!p;g;$!N;p;D;}' -e h

  # 顯示包含“AAA”、“BBB”或“CCC”的行(任意次序)
sed '/AAA/!d; /BBB/!d; /CCC/!d'  # 字串的次序不影響結果

# 顯示包含“AAA”、“BBB”和“CCC”的行(固定次序)
sed '/AAA.*BBB.*CCC/!d'

  # 顯示包含“AAA”“BBB”或“CCC”的行 (模擬“egrep”)
sed -e '/AAA/b' -e '/BBB/b' -e '/CCC/b' -e d    # 多數sed
  gsed '/AAA\|BBB\|CCC/!d'                        # 對GNU sed有效

# 顯示包含“AAA”的段落 (段落間以空行分隔)
# HHsed v1.5 必須在“x;”後加入“G;”,接下來的3個指令碼都是這樣
sed -e '/./{H;$!d;}' -e 'x;/AAA/!d;'

  # 顯示包含“AAA”“BBB”和“CCC”三個字串的段落 (任意次序)
sed -e '/./{H;$!d;}' -e 'x;/AAA/!d;/BBB/!d;/CCC/!d'

  # 顯示包含“AAA”、“BBB”、“CCC”三者中任一字串的段落 (任意次序)
sed -e '/./{H;$!d;}' -e 'x;/AAA/b' -e '/BBB/b' -e '/CCC/b' -e d
  gsed '/./{H;$!d;};x;/AAA\|BBB\|CCC/b;d'         # 只對GNU sed有效

# 顯示包含65個或以上字元的行
sed -n '/^.\{65\}/p'

  # 顯示包含65個以下字元的行
sed -n '/^.\{65\}/!p'            # 方法1,與上面的指令碼相對應
sed '/^.\{65\}/d'                # 方法2,更簡便一點的方法

# 顯示部分文字——從包含正則表示式的行開始到最後一行結束
sed -n '/regexp/,$p'

  # 顯示部分文字——指定行號範圍(從第8至第12行,含8和12行)
sed -n '8,12p'                   # 方法1
  sed '8,12!d'                     # 方法2

  # 顯示第52行
sed -n '52p'                     # 方法1
  sed '52!d'                       # 方法2
  sed '52q;d'                      # 方法3, 處理大檔案時更有效率

# 從第3行開始,每7行顯示一次
gsed -n '3~7p'                   # 只對GNU sed有效
sed -n '3,${p;n;n;n;n;n;n;}'     # 其他sed

  # 顯示兩個正則表示式之間的文字(包含)
sed -n '/Iowa/,/Montana/p'       # 區分大小寫方式

更多複雜組合用法:
# 以79個字元為寬度,將所有文字右對齊
sed -e :a -e 's/^.\{1,78\}$/ &/;ta'  # 78個字元外加最後的一個空格
*
# 以79個字元為寬度,使所有文字居中。在方法1中,為了讓文字居中每一行的前
# 頭和後頭都填充了空格。 在方法2中,在居中文字的過程中只在文字的前面填充
# 空格,並且最終這些空格將有一半會被刪除。此外每一行的後頭並未填充空格。
sed  -e :a -e 's/^.\{1,77\}$/ & /;ta'                     # 方法1
sed  -e :a -e 's/^.\{1,77\}$/ &/;ta' -e 's/ \1/\1/'  # 方法2
*
# 倒置所有行,第一行成為最後一行,依次類推(模擬“tac”)。
# 由於某些原因,使用下面命令時HHsed v1.5會將檔案中的空行刪除
sed '1!G;h;$!d'               # 方法1
sed -n '1!G;h;$p'             # 方法2
*
# 將行中的字元逆序排列,第一個字成為最後一字,……(模擬“rev”)
sed '/\n/!G;s/ . Undefined control sequence \n /&\2\1/;//D;s/.//'
*
sed '$!N;s/\n/ /'# 將每兩行連線成一行(類似“paste”)
*
#如果當前行以反斜槓“\”結束,則將下一行併到當前行末尾並去掉原來行尾的反斜槓
sed -e :a -e '/\\$/N; s/\\\n//; ta'
*
# 如果當前行以等號開頭,將當前行併到上一行末尾並以單個空格代替原來行頭的“=”
sed -e :a -e '$!N;s/\n=/ /;ta' -e 'P;D'
*
# 為數字字串增加逗號分隔符號,將“1234567”改為“1,234,567”
gsed ':a;s/\B[0-9]\{3\}\>/,&/;ta'                     # GNU sed
sed -e :a -e 's/ .[09] [09]{3} /\1,\2/;ta'  # 其他sed
*
# 為帶有小數點和負號的數值增加逗號分隔符(GNU sed)
gsed -r ':a;s/(^|[^0-9.])([0-9]+)([0-9]{3})/\1\2,\3/g;ta'
*

特殊應用:
--------

# 移除手冊頁(man page)中的nroff標記。在Unix System V或bash shell下使
# 用'echo'命令時可能需要加上 -e 選項。
sed "s/.`echo \\\b`//g"    # 外層的雙括號是必須的(Unix環境)
sed 's/.^H//g'             # 在bash或tcsh中, 按 Ctrl-V 再按 Ctrl-H
  sed 's/.\x08//g'           # sed 1.5,GNU sed,ssed所使用的十六進位制的表示方法

# 提取新聞組或 e-mail 的郵件頭
sed '/^$/q'                # 刪除第一行空行後的所有內容

# 提取新聞組或 e-mail 的正文部分
sed '1,/^$/d'              # 刪除第一行空行之前的所有內容

# 從郵件頭提取“Subject”(標題欄欄位),並移除開頭的“Subject:”字樣
sed '/^Subject: */!d; s///;q'

  # 從郵件頭獲得回覆地址
sed '/^Reply-To:/q; /^From:/h; /./d;g;q'

  # 獲取郵件地址。在上一個指令碼所產生的那一行郵件頭的基礎上進一步的將非電郵
# 地址的部分剃除。(見上一指令碼)
sed 's/ *(.*)//; s/>.*//; s/.*[:<] *//'

  # 在每一行開頭加上一個尖括號和空格(引用資訊)
sed 's/^/> /'

  # 將每一行開頭處的尖括號和空格刪除(解除引用)
sed 's/^> //'

  # 移除大部分的HTML標籤(包括跨行標籤)
sed -e :a -e 's/<[^>]*>//g;/

  # 將分成多卷的uuencode檔案解碼。移除檔案頭資訊,只保留uuencode編碼部分。
# 檔案必須以特定順序傳給sed。下面第一種版本的指令碼可以直接在命令列下輸入;
# 第二種版本則可以放入一個帶執行許可權的shell指令碼中。(由Rahul Dhesi的一
# 個指令碼修改而來。)
sed '/^end/,/^begin/d' file1 file2 ... fileX | uudecode   # vers. 1
  sed '/^end/,/^begin/d' "[email protected]" | uudecode                    # vers. 2

  # 將檔案中的段落以字母順序排序。段落間以(一行或多行)空行分隔。GNU sed使用
# 字元“\v”來表示垂直製表符,這裡用它來作為換行符的佔位符——當然你也可以
# 用其他未在檔案中使用的字元來代替它。
sed '/./{H;d;};x;s/\n/={NL}=/g' file | sort | sed '1s/={NL}=//;s/={NL}=/\n/g'
  gsed '/./{H;d};x;y/\n/\v/' file | sort | sed '1s/\v//;y/\v/\n/'

  # 分別壓縮每個.TXT檔案,壓縮後刪除原來的檔案並將壓縮後的.ZIP檔案
# 命名為與原來相同的名字(只是副檔名不同)。(DOS環境:“dir /b”
# 顯示不帶路徑的檔名)。
echo @echo off >zipup.bat
  dir /b *.txt | sed "s/^ . \.TXT/pkzip -mo \1 \1.TXT/" >>zipup.bat

7. 指令碼

Sed指令碼是一個sed的命令清單,啟動Sed時以-f選項引導指令碼檔名。Sed對於指令碼中輸入的命令非常挑剔,在命令的末尾不能有任何空白或文字,如果在一行中有多個命令,要用分號分隔。以#開頭的行為註釋行,且不能跨行。

8. 小技巧

在sed的命令列中引用shell變數時要使用雙引號,而不是通常所用的單引號。下面是一個根據name變數的內容來刪除named.conf檔案中zone段的指令碼:name=’zone\ “localhost”‘
sed “/$name/,/};/d” named.conf

9. 速度優化:當由於某種原因(比如輸入檔案較大、處理器或硬碟較慢等)需要提高
命令執行速度時,可以考慮在替換命令(“s/.../.../”)前面加上地址表示式來
提高速度。舉例來說:
sed 's/foo/bar/g' filename         # 標準替換命令
sed '/foo/ s/foo/bar/g' filename   # 速度更快
sed '/foo/ s//bar/g' filename      # 簡寫形式

當只需要顯示檔案的前面的部分或需要刪除後面的內容時,可以在指令碼中使用“q”
命令(退出命令)。在處理大的檔案時,這會節省大量時間。因此:
sed -n '45,50p' filename           # 顯示第45到50行
sed -n '51q;45,50p' filename       # 一樣,但快得多

相關推薦

linux/unix命令sed

ps:我只能說別說你會sed。。。這篇綜合很多sed文件寫成。 1. 功能說明:利用script來處理文字檔案。 語  法:sed [-hnV][-e(script)][-f (script檔案) ][文字檔案] 補充說明:sed可依照script的指令,來處理、編輯文字檔

linux命令(at)

關閉 服務啟動 安全問題 分隔 sta 設定 tmp 指示 命令的使用 在Linux下,有兩個命令可以用來作為計劃任務而執行,at:一次性定時任務計劃執行crontab :每天定時任務計劃執行以下僅說一下一次性任務計劃執行(at)要使用一次性任務計劃,linux必須要有負責

linux命令df(6/19)

AS true 設置 符號鏈接 disk var aci 實例 logs df命令作用是列出文件系統的整體磁盤空間使用情況。可以用來查看磁盤已被使用多少空間和還剩余多少空間。 df命令顯示系統中包含每個文件名參數的磁盤使用情況,如果沒有文件名參數,則顯示所有當前已掛載文件系

Linux 命令 stat 命令

Linux 命令詳解之 stat 命令【updating…】 1. 簡介 NAME stat - display file or file system status 2. 引數 3. 實戰 stat test.sh File: ‘test.sh

linux命令ls命令

ls命令概述 ls命令用於顯示檔案目錄列表,和Windows系統下DOS命令dir類似。當執行ls命令時,預設顯示的只有非隱藏檔案的檔名、以檔名進行排序及檔名代表的顏色顯示。當不加引數時,預設列出當前

Linux netstat命令,高級面試必備

bytes tool head osi ngs 進行 pen 通信 詳細信息 簡介 Netstat 命令用於顯示各種網絡相關信息,如網絡連接,路由表,接口狀態 (Interface Statistics),masquerade 連接,多播成員 (Multicast Mem

linux top 命令

ctrl+ 一次 所有 使用方法 ase 隱藏 統計 ini 前臺 top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源占用狀況,類似於Windows的任務管理器。下面詳細介紹它的使用方法。top - 01:06:48 up 1:22, 1 user

【轉】linux awk命令

column 環境變量 最後一行 工作流程 初始 文本文件 for循環 其中 cti 簡介 awk是一個強大的文本分析工具,相對於grep的查找,sed的編輯,awk在其對數據分析並生成報告時,顯得尤為強大。簡單來說awk就是把文件逐行的讀入,以空格為默認分隔符將每行切

Linux ls命令

-c 目錄 輸出 限制 普通 排序 當前 ls -l sna ls 命令可以說是Linux下最常用的命令之一。 -a 列出目錄下的所有文件,包括以 . 開頭的隱含文件。(後有詳解)-b 把文件名中不可輸出的字符用反斜杠加字符編號(就象在c語言裏一樣)的形式列出。-c 輸出

linux lsof命令

open 日誌 文件和目錄 delete 數據報 正在 某個文件 alt targe 簡介 lsof(list open files)是一個列出當前系統打開文件的工具。在linux環境下,任何事物都以文件的形式存在,通過文件不僅僅可以訪問常規數據,還可以訪問網絡連接和硬件

linux tail 命令

基本 linux中 file tail命令 方式 sed 缺省 顯示 有效 linux ---tail命令 linux中tail命令---用於查看文件內容 最基本的是cat、more和less。 1. 如果你只想看文件的前5行,可以使用head命令,如: head -5 /

linux screen 命令

文本 常用 小時 遠程終端 參考 編輯 load 調整 長時間 一、背景 系統管理員經常需要SSH 或者telent 遠程登錄到Linux 服務器,經常運行一些需要很長時間才能完成的任務,比如系統備份、ftp 傳輸等等。通常情況下我們都是為每一個這樣的任務開一個遠程終端窗口

[轉載]linux awk命令

基本 特定 收集 comm rip 解釋 文本 工作流程 復制代碼 簡介 awk是一個強大的文本分析工具,相對於grep的查找,sed的編輯,awk在其對數據分析並生成報告時,顯得尤為強大。簡單來說awk就是把文件逐行的讀入,以空格為默認分隔符將每行切片,切開的部分再進行各

top命令深入了CPU

綁核 top cpu top tasksettop命令之你不一定懂的cpu顯示信息http://www.cnblogs.com/wjoyxt/p/4918742.html理解CPU steal timehttp://blog.csdn.net/jessysong/article/details/7

Linux crontab命令

條件 nta mman minute 使用 1-1 同時 刪除用戶 設置 1.crontab命令概覽      命令參數:   -u user:用來設定某個用戶的crontab服務,例如,“-u ixdba”表示設定ixdba用戶的crontab服務,此參數一般有root用

linux top命令

swa mem img 針對 alt 線程 opp 分區 緩存 Linux系統可以通過top命令查看系統的CPU、內存、運行時間、交換分區、執行的線程等信息。通過top命令可以有效的發現系統的缺陷出在哪裏。是內存不夠、CPU處理能力不夠、IO讀寫過高。

Linux netstat命令

訪問 ast osi cmp internet mtu www unix ngs Linux netstat命令詳解 簡介 Netstat 命令用於顯示各種網絡相關信息,如網絡連接,路由表,接口狀態 (Interface Statistics),masquerade 連

linux awk命令

列數 才會 遍歷數組 文本文件 信息 shell腳本 == game 入門 簡介 awk是一個強大的文本分析工具,相對於grep的查找,sed的編輯,awk在其對數據分析並生成報告時,顯得尤為強大。簡單來說awk就是把文件逐行的讀入,以空格為默認分隔符將每行切片,切開的部分

Linux route命令和使用,以及網卡命令

linux 路由 網卡一 路由的基礎知識:1)路由概念路由: 跨越從源主機到目標主機的一個互聯網絡來轉發數據包的過程路由器:能夠將數據包轉發到正確的目的地,並在轉發過程中選擇最佳路徑的設備路由表:在路由器中維護的路由條目,路由器根據路由表做路徑選擇直連路由:當在路由器上配置了接口的IP地址,並且接口狀態為

[linux]vmstat命令-顯示虛擬內存狀態

span 並不是 增加 OS 表現 如果 2個 blog IT 本文轉載於http://man.linuxde.net/vmstat vmstat命令的含義為顯示虛擬內存狀態(“Viryual Memor Statics”),但是它可以報告關於進程、內存、I/O等系統整