中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux中dd命令有什么用

發布時間:2021-08-26 14:54:04 來源:億速云 閱讀:518 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“linux中dd命令有什么用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“linux中dd命令有什么用”這篇文章吧。

dd 命令

由來(全稱):本來應根據其功能描述“Convert an copy”命名為“cc”,但“cc”已經被用以代表“CComplier”,所以命名為“dd”

開篇例子:

1.  dd if=infile.log  of=outfile.log bs=1M count=1

  拷貝 infile.log內容 到 outfile.log. 一次讀寫比特數為1M , 每次讀寫一個塊(1M,由bs決定)

2.  echo -n "hello world" | dd cbs=1 conv=unblock 2>/dev/null

  主要演示cbs,每次轉換一個字節, conv=unblock 是將cbs 大小的塊中尾部的空格替換為一個換行符  2> 是錯誤信息輸出流  /dev/null 開頭介紹了

解讀help:

(不愿意看這么一大段,嘗試先跳過,看解讀)

用法:dd [操作數] ...
或:dd 選項
 復制文件,依照操作數轉換并格式化。

  bs=比特數    一次讀寫的比特數
  cbs=比特數    一次轉換的比特數
  conv=CONVS    依照每個逗號分割的標志列表轉換文件
  count=塊數    只將指定個塊數復制到塊
  ibs=比特數    一次讀取的比特數(默認:512)
   if=文件    從指定文件中讀取
  iflag=符號    按照以逗號分隔的符號列表指定的方式讀取
  obs=比特數    一次寫入指定比特數(默認:512)
   of=文件    寫入到指定文件
  oflag=符號    按照以逗號分隔的符號列表指定的方式寫入
  seek=塊數    在輸出開始處跳過指定的塊數
  skip=塊數    在輸入開始處跳過指定的塊數
  status=noxfer    禁止傳輸統計

塊和字節數后可能帶有以下的一個或多個后綴:
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.

每個 CONV 符號可能為:

  ascii        由EBCDIC 碼轉換至ASCII 碼
  ebcdic    由ASCII 碼轉換至EBCDIC 碼
  ibm        由ASCII 碼轉換至替換的EBCDIC 碼
  block        將結束字符塊里的換行替換成等長的空格
  unblock    將cbs 大小的塊中尾部的空格替換為一個換行符
  lcase        將大寫字符轉換為小寫
  ucase        將小寫字符轉換為大寫
  swab        交換每一對輸入數據字節
  sync        將每個輸入數據塊以NUL 字符填滿至ibs 的大小;當配合block
         或unblock 時,會以空格代替NUL 字符填充
  excl        fail if the output file already exists
   nocreat    do not create the output file
   notrunc    不截斷輸出文件
  noerror    讀取數據發生錯誤后仍然繼續
  fdatasync    結束前將輸出文件數據寫入磁盤
  fsync    類似上面,但是元數據也一同寫入

FLAG 符號可以是:

  append    追加模式(僅對輸出有意義;隱含了conv=notrunc)
   direct    使用直接I/O 存取模式
  directory    除非是目錄,否則 directory 失敗
  dsync        使用同步I/O 存取模式
  sync        與上者類似,但同時也對元數據生效
  fullblock    為輸入積累完整塊(僅iflag)
   nonblock    使用無阻塞I/O 存取模式
  noatime    不更新存取時間
  nocache    丟棄緩存數據
  noctty    不根據文件指派控制終端
  nofollow    不跟隨鏈接文件

解讀:

1. bs ibs obs  cbs

bs: 一次 讀寫 = ibs+obs
ibs: 一次讀
obs: 一次寫
cbs: 一次轉換

2. if of

if 是讀取的文件
of 是輸出的文件

3. seek skip

skip 在從if中讀取時  跳過多少比特
seek 在寫入of時, 跳過多少比特

實戰例子:

1. 批量生成隨機名稱的測試文件

for i in {10..10}  
do  
dd if=/dev/zero of=junk.test$i bs="$RANDOM"K count=20  
done

2. 備份和恢復

備份

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

恢復方法如下:

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. 轉換大小寫

生成大寫: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.要把一張軟盤的內容拷貝到另一張軟盤上,利用/tmp作為臨時存儲區。把源盤插入驅動器中,輸入下述命令:

$ dd if =/dev/fd0 of = /tmp/tmpfile

拷貝完成后,將源盤從驅動器中取出,把目標盤插入,輸入命令:

$ dd if = /tmp/tmpfile of =/dev/fd0

軟盤拷貝完成后,應該將臨時文件刪除:

$ rm /tmp/tmpfile  

6. 把net.i這個文件寫入軟盤中,并設定讀/寫緩沖區的數目。

(注意:軟盤中的內容會被完全覆蓋掉)

$ dd if = net.i of = /dev/fd0 bs = 16384  

7.將文件sfile拷貝到文件 dfile中。

$ dd if=sfile of=dfile

8.創建一個100M的空文件

dd if=/dev/zero of=hello.txt bs=100M count=1

=============================================

/dev/null,外號叫無底洞,你可以向它輸出任何數據,它通吃,并且不會撐著!
/dev/zero,是一個輸入設備,你可你用它來初始化文件。

/dev/null------它是空設備,也稱為位桶(bit bucket)。任何寫入它的輸出都會被拋棄。如果不想讓消息以標準輸出顯示或寫入文件,那么可以將消息重定向到位桶。
/dev/zero------該設備無窮盡地提供0,可以使用任何你需要的數目——設備提供的要多的多。他可以用于向設備或文件寫入字符串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

以上是“linux中dd命令有什么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

始兴县| 平泉县| 井研县| 伊宁县| 太仆寺旗| 山阴县| 获嘉县| 万安县| 炎陵县| 宝应县| 洛南县| 平乐县| 梨树县| 清新县| 舟山市| 恩施市| 民勤县| 肥乡县| 桂平市| 达州市| 蓝田县| 天津市| 抚松县| 白山市| 南通市| 郧西县| 兴化市| 兴和县| 文水县| 莎车县| 庆阳市| 金川县| 肇庆市| 台州市| 健康| 吴堡县| 萨嘎县| 澄迈县| 永仁县| 固镇县| 泸水县|