這篇文章主要為大家展示了“l(fā)inux中dd命令有什么用”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“l(fā)inux中dd命令有什么用”這篇文章吧。
dd 命令
由來(全稱):本來應(yīng)根據(jù)其功能描述“Convert an copy”命名為“cc”,但“cc”已經(jīng)被用以代表“CComplier”,所以命名為“dd”
開篇例子:
1. dd if=infile.log of=outfile.log bs=1M count=1
拷貝 infile.log內(nèi)容 到 outfile.log. 一次讀寫比特?cái)?shù)為1M , 每次讀寫一個(gè)塊(1M,由bs決定)
2. echo -n "hello world" | dd cbs=1 conv=unblock 2>/dev/null
主要演示cbs,每次轉(zhuǎn)換一個(gè)字節(jié), conv=unblock 是將cbs 大小的塊中尾部的空格替換為一個(gè)換行符 2> 是錯(cuò)誤信息輸出流 /dev/null 開頭介紹了
解讀help:
(不愿意看這么一大段,嘗試先跳過,看解讀)
用法:dd [操作數(shù)] ...
或:dd 選項(xiàng)
復(fù)制文件,依照操作數(shù)轉(zhuǎn)換并格式化。
bs=比特?cái)?shù) 一次讀寫的比特?cái)?shù)
cbs=比特?cái)?shù) 一次轉(zhuǎn)換的比特?cái)?shù)
conv=CONVS 依照每個(gè)逗號分割的標(biāo)志列表轉(zhuǎn)換文件
count=塊數(shù) 只將指定個(gè)塊數(shù)復(fù)制到塊
ibs=比特?cái)?shù) 一次讀取的比特?cái)?shù)(默認(rèn):512)
if=文件 從指定文件中讀取
iflag=符號 按照以逗號分隔的符號列表指定的方式讀取
obs=比特?cái)?shù) 一次寫入指定比特?cái)?shù)(默認(rèn):512)
of=文件 寫入到指定文件
oflag=符號 按照以逗號分隔的符號列表指定的方式寫入
seek=塊數(shù) 在輸出開始處跳過指定的塊數(shù)
skip=塊數(shù) 在輸入開始處跳過指定的塊數(shù)
status=noxfer 禁止傳輸統(tǒng)計(jì)
塊和字節(jié)數(shù)后可能帶有以下的一個(gè)或多個(gè)后綴:
c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M
GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E, Z, Y.
每個(gè) CONV 符號可能為:
ascii 由EBCDIC 碼轉(zhuǎn)換至ASCII 碼
ebcdic 由ASCII 碼轉(zhuǎn)換至EBCDIC 碼
ibm 由ASCII 碼轉(zhuǎn)換至替換的EBCDIC 碼
block 將結(jié)束字符塊里的換行替換成等長的空格
unblock 將cbs 大小的塊中尾部的空格替換為一個(gè)換行符
lcase 將大寫字符轉(zhuǎn)換為小寫
ucase 將小寫字符轉(zhuǎn)換為大寫
swab 交換每一對輸入數(shù)據(jù)字節(jié)
sync 將每個(gè)輸入數(shù)據(jù)塊以NUL 字符填滿至ibs 的大小;當(dāng)配合block
或unblock 時(shí),會以空格代替NUL 字符填充
excl fail if the output file already exists
nocreat do not create the output file
notrunc 不截?cái)噍敵鑫募?br/> noerror 讀取數(shù)據(jù)發(fā)生錯(cuò)誤后仍然繼續(xù)
fdatasync 結(jié)束前將輸出文件數(shù)據(jù)寫入磁盤
fsync 類似上面,但是元數(shù)據(jù)也一同寫入
FLAG 符號可以是:
append 追加模式(僅對輸出有意義;隱含了conv=notrunc)
direct 使用直接I/O 存取模式
directory 除非是目錄,否則 directory 失敗
dsync 使用同步I/O 存取模式
sync 與上者類似,但同時(shí)也對元數(shù)據(jù)生效
fullblock 為輸入積累完整塊(僅iflag)
nonblock 使用無阻塞I/O 存取模式
noatime 不更新存取時(shí)間
nocache 丟棄緩存數(shù)據(jù)
noctty 不根據(jù)文件指派控制終端
nofollow 不跟隨鏈接文件
解讀:
1. bs ibs obs cbs
bs: 一次 讀寫 = ibs+obs
ibs: 一次讀
obs: 一次寫
cbs: 一次轉(zhuǎn)換
2. if of
if 是讀取的文件
of 是輸出的文件
3. seek skip
skip 在從if中讀取時(shí) 跳過多少比特
seek 在寫入of時(shí), 跳過多少比特
實(shí)戰(zhàn)例子:
1. 批量生成隨機(jī)名稱的測試文件
for i in {10..10} do dd if=/dev/zero of=junk.test$i bs="$RANDOM"K count=20 done
2. 備份和恢復(fù)
備份
dd if=abc.gz of=abc.gz.bak1 bs=1k count=10000 dd if=abc.gz of=abc.gz.bak2 bs=1k skip=10000 count=70000 dd if=abc.gz of=abc.gz.bak3 bs=1k skip=80000
恢復(fù)方法如下:
dd if=abc.gz.bak1 of=abc.gz dd if=abc.gz.bak2 of=abc.gz bs=1k seek=10000 dd if=abc.gz.bak3 of=abc.gz bs=1k seek=80000
3. 轉(zhuǎn)換大小寫
生成大寫:dd if=dd.txt of=my.log bs=1M count=1 conv=ucase
生成小寫:為了不懶惰,留給讀者試試
4. 拷貝自己
代碼如下:
file_subscript=copy
dd if=$0 of=$0.$file_subscript 2>/dev/null
5.要把一張軟盤的內(nèi)容拷貝到另一張軟盤上,利用/tmp作為臨時(shí)存儲區(qū)。把源盤插入驅(qū)動器中,輸入下述命令:
$ dd if =/dev/fd0 of = /tmp/tmpfile
拷貝完成后,將源盤從驅(qū)動器中取出,把目標(biāo)盤插入,輸入命令:
$ dd if = /tmp/tmpfile of =/dev/fd0
軟盤拷貝完成后,應(yīng)該將臨時(shí)文件刪除:
$ rm /tmp/tmpfile
6. 把net.i這個(gè)文件寫入軟盤中,并設(shè)定讀/寫緩沖區(qū)的數(shù)目。
(注意:軟盤中的內(nèi)容會被完全覆蓋掉)
$ dd if = net.i of = /dev/fd0 bs = 16384
7.將文件sfile拷貝到文件 dfile中。
$ dd if=sfile of=dfile
8.創(chuàng)建一個(gè)100M的空文件
dd if=/dev/zero of=hello.txt bs=100M count=1
=============================================
/dev/null,外號叫無底洞,你可以向它輸出任何數(shù)據(jù),它通吃,并且不會撐著!
/dev/zero,是一個(gè)輸入設(shè)備,你可你用它來初始化文件。
/dev/null------它是空設(shè)備,也稱為位桶(bit bucket)。任何寫入它的輸出都會被拋棄。如果不想讓消息以標(biāo)準(zhǔn)輸出顯示或?qū)懭胛募敲纯梢詫⑾⒅囟ㄏ虻轿煌啊?br/>/dev/zero------該設(shè)備無窮盡地提供0,可以使用任何你需要的數(shù)目——設(shè)備提供的要多的多。他可以用于向設(shè)備或文件寫入字符串0。
$ dd if=/dev/zero of=./test.txt bs=1k count=1
$ ls -l
total 4
-rw-r--r-- 1 oracle dba 1024 Jul 15 16:56 test.txt
eg:
$ find / -name access_log 2>/dev/null
以上是“l(fā)inux中dd命令有什么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
當(dāng)前文章:linux中dd命令有什么用-創(chuàng)新互聯(lián)
網(wǎng)頁地址:http://chinadenli.net/article28/decgjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、響應(yīng)式網(wǎng)站、外貿(mào)建站、電子商務(wù)、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容