[20171124]xxd與萬用字元.txt

lfree發表於2017-11-24

[20171124]xxd與萬用字元.txt

--//linux 上許多命令都支援萬用字元,比如
$ ls -l *.txt
-rw-r--r-- 1 oracle oinstall 44801024 2017-11-24 09:16:38 c01.txt
-rw-r--r-- 1 oracle oinstall 44801024 2017-11-24 09:16:43 c02.txt
-rw-r--r-- 1 oracle oinstall    60168 2017-11-24 09:18:02 c03.txt
--//顯示字尾為txt的檔案.

$ md5sum control0*
12e501eabc3bd85f922a7df9b5d21282  control01.ctl
115df6fe8408aba742e63b12ce369299  control02.ctl
--//檔名開頭control0的md5.

--//但是今天在使用xxd時我犯了一個錯誤.
xxd -c 16 -g 4 /mnt/ramdisk/book/control0[12].ctl | grep '01404010'

--//檢查發現/mnt/ramdisk/book/control02.ctl檔案破壞了.看看前面的md5sum輸出就明白了.

$ file control0*
control01.ctl: data
control02.ctl: ISO-8859 text

--//如果你看xxd的man文件就明白了:
XXD(1)                                                                  XXD(1)

NAME
       xxd - make a hexdump or do the reverse.

SYNOPSIS
       xxd -h[elp]
       xxd [options] [infile [outfile]]
       xxd -r[evert] [options] [infile [outfile]]
--//輸入檔案在前,輸出檔案在後.這樣control02.ctl就變成了輸出檔案.

SYS@book> shutdown immediate ;
ORA-00227: corrupt block detected in control file: (block 1, # blocks 1)
ORA-00202: control file: '/mnt/ramdisk/book/control02.ctl'
--//可以發現控制檔案損壞了.只能shutdown abort關機.

--//看來以後工作要注意..^_^.

--//以後切記xxd命令不要使用萬用字元.包括多個檔案的寫法….

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2147702/,如需轉載,請註明出處,否則將追究法律責任。

相關文章