linux建立指定大小的檔案

2021-09-08 20:12:56 字數 1557 閱讀 2735

一、生成檔案大小和實際佔空間大小一樣的檔案

dd if=/dev/zero of=50m.file bs=1m count=50

dd if=/dev/zero of=20g.file bs=1g count=20

bs=1m表示每一次讀寫1m資料,count=50表示讀寫 50次,這樣就指定了生成檔案的大小為50m。bs引數還可以進一步細分為ibs和obs兩種,為讀操作與寫操作分別指定不同的buffer大小。

二、生成檔案大小固定,但實際不佔空間命令

dd if=/dev/zero of=1g.img bs=1m seek=1000 count=0

這裡用了乙個新的命令seek,表示略過1000個block不寫(這裡block按照bs的定義是1m),count=0表示寫入0個block。用ls(檢視檔案大小)命令看新生成的檔案,大小可以看出是1000m。但是再用du(檢視檔案占用空間)一看,實際占用硬碟大小只有0m。

三、命令詳解

dd命令用法:

dd [選項]

if =輸入檔案(或裝置名稱)。

of =輸出檔案(或裝置名稱)。

ibs = bytes 一次讀取bytes位元組,即讀入緩衝區的位元組數。

skip = blocks 跳過讀入緩衝區開頭的ibs*blocks塊。

obs = bytes 一次寫入bytes位元組,即寫入緩衝區的位元組數。

bs = bytes 同時設定讀/寫緩衝區的位元組數(等於設定ibs和obs)。

cbs = byte 一次轉換bytes位元組。

count=blocks 只拷貝輸入的blocks塊。

conv = ascii 把ebcdic碼轉換為ascil碼。

conv = ebcdic 把ascil碼轉換為ebcdic碼。

conv = ibm 把ascil碼轉換為alternate ebcdic碼。

conv = block 把變動位轉換成固定字元。

conv = ublock 把固定位轉換成變動位。

conv = ucase 把字母由小寫轉換為大寫。

conv = lcase 把字母由大寫轉換為小寫。

conv = notrunc 不截短輸出檔案。

conv = swab 交換每一對輸入位元組。

conv = noerror 出錯時不停止處理。

conv = sync 把每個輸入記錄的大小都調到ibs的大小(用nul填充)。

iconv命令用法:

iconv [選項...] [檔案...]

輸入/輸出格式規範:

-f, --from-code=原始文字編碼

-t, --to-code=輸出文字編碼

資訊:-l, --list 列舉所有已知的字符集

輸出控制:

-c 從輸出中忽略無效的字元

-o, --output=file 輸出檔案

-s, --silent 關閉警告

--verbose 列印進度資訊

-?, --help 給出該系統求助列表

--usage 給出簡要的用法資訊

-v, --version 列印程式版本號

linux建立指定大小的檔案

一 生成檔案大小和實際佔空間大小一樣的檔案 dd if dev zero of 50m.file bs 1m count 50 dd if dev zero of 20g.file bs 1g count 20 bs 1m表示每一次讀寫1m資料,count 50表示讀寫 50次,這樣就指定了生成檔案...

linux 建立多個指定大小的檔案

先上code seq 1000 xargs i dd if dev urandom of test testfile cache bs 1k count 1024 seq 1000 遍歷1000 xargs i 傳遞遍歷引數 dd linux內建命令 轉換和複製檔案用 if input file 沒...

Linux 建立指定空間大小的檔案目錄

目的 建立乙個指定儲存大小的目錄 在當前目錄建立乙個映象檔案,分配空間是102m 塊大小1m,10塊 定義檔名 檔案對應單個塊大小變數blocksize 塊數量blocknum filename customsizefile blocksize 102m 這裡的m為單位兆b blocknum 10 ...