- ベストアンサー
ddコマンド
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
>何をしてしまったでしょう?? sudo ddはroot権限でファイルのコピーを実行するものです。 if=でコピー元のファイルを、of=でコピー先のファイルを指定します。 bs=はバイト数を、count=はブロック数(bs=で指定したバイト数を何個コピーするかを指定する) しかし、if=/dev/zeroは0バイトのファイルなので結果として0バイトのtestと言うファイルが/home/piに作成されるはずです。 >実は >sudo dd if=/dev/zero bs=8k count=50k of=の指定が無いのでコンソールへ出力されていると思います。 従って、モニター(端末画面)に表示されるだけだったのでしょう。 >消そうと思っても、どこにコピーされたか、わかりません。 前述のようにof=でコピー先を指定していないのでddコマンドは標準出力のコンソール(モニター)へ出力している筈です。(モニターへはファイルを作成できませんので実行結果が表示されたのでは?) 端末でコマンドを使うときはヘルプで動作を確認してから実行すべきでしょう。 特にsudo(root権限)で実行するのは大変危険です。
その他の回答 (4)
- kteds
- ベストアンサー率42% (1875/4423)
No.2です。 >・・・消えたのでしょうか? of= を省略するとモニターに表示されます。 今回は/dev/zero(つまり何もないデータ)を出力していますので、モニターに出力されているのですが、何も無いので何も見えません。 --- 確認のためには、例えば、/home/pi/kakunin.txtファイルとして確認のためのテキストデータを作成しておいて下記のように of= を指定しなければ sudo dd if=/home/pi/kakunin.txt bs=8k count=50k kakunin.txtの内容がモニターに表示されます。
- nan93850673
- ベストアンサー率32% (179/553)
>sudo dd if=/dev/zero bs=8k count=50k of=を省略した場合、標準出力へ出力され、ファイルは作成されません。 >またdev/zeroとは何のことでしょうか?す、すみません。。 https://ja.wikipedia.org/wiki//dev/zero
- kteds
- ベストアンサー率42% (1875/4423)
>何をしてしまったでしょう? /home/pi フォルダに、中身が何もない(NULLデータ)testという名前のファイルを作成して、続けてtestファイルを削除しています。 したがって、testファイルはすでに消えています。 --- /dev/zero とはNULLデータという意味です。 --- 一般論ですが、どんな結果になるのか、自分でもわからないコマンドを実行するのは、やめたほうがいいですよ。 たとえば /dev/zero の意味もわからないで重要なファイルに出力すると、ファイル内容はすべて消えてしまいます。
補足
ありがとうございます。以後気を付けます; sudo dd if=/dev/zero bs=8k count=50k この場合は、データを作成しているのが判ったのですが、 testという名前も付いていません。500MB位が作られた気がするのですが、 /home/pi/以下には入っておらず、デフォルト?の場所かもしれないと思い、どこに作られたか知りたかったのですが、消えたのでしょうか??
- ballville
- ベストアンサー率47% (233/487)
もう一回やって大丈夫です。 元の、 sudo dd if=/dev/zero of=/home/pi/test bs=8k count=50k conv=fsync; sudo rm -f /home/pi/test はpiユーザのホームフォルダにゼロ埋めしたtestという名前のファイルを生成し、そのあとで消すコマンドラインです。 sudo rm -f /home/pi/test の部分をあとから打ち込めばゴミファイルは消えます。
補足
本当にそそっかしくですみません! 実は sudo dd if=/dev/zero bs=8k count=50k このように打ってしまい、home/pi以下に無くて混乱しました。 どこを消せばよいのでしょうか? またdev/zeroとは何のことでしょうか?す、すみません。。
関連するQ&A
- ddコマンドについて
% dd if=/dev/zero of=zero.dat count=1000 ⇒ 512*1000 バイトの zero.dat が生成される % dd if=/dev/zero of=zero.dat count=2048 bs=1 ⇒ ブロックサイズを 1 に指定。2048 バイトの zero.dat が生成される http://x68000.q-e-d.net/~68user/unix/pickup?dd とのことですが、では/dev/zeroが50バイトだった場合ファイルサイズはどのようになり、もし増えた分はなにが中に入っているのでしょうか。 ご存知の方、アドバイスをお願いします。
- ベストアンサー
- Linux系OS
- ddの前後にマウント、アマウント
for i in 1 2 3 4 5 6 7 do umount /fome tunefs -a $i /home mount /home dd if=/dev/zero of=/home/EMPTY bs=8k count=1000 umount /home; mount /home time dd of=/dev/null if=/home/EMPTY bs=8k done これはトラックバッファを活かすために連続的に割り当てるブロックの数を1から7まで変えて読み書きの速度を調べるshスクリプトなんですが、ddの前後でマウント、アマウントするのは、dd実行中にifの内容が変化すると一貫性がとれなくなるからだと思うんですが、timeの直前でアマウントしてまたすぐにマウントして元に戻しているのは、どういう意図なんでしょうか。
- ベストアンサー
- Linux系OS
- ddについて教えてください
RedHatLinux7.3を使っている者ですが、コマンド dd if=/dev/zero of=vm1.image bs=1 count=1 seek=1G とはどういう意味ですか?
- ベストアンサー
- その他(OS)
- Ubuntu9.04でのddコマンド使用について
Ubuntu9.04を使用しています。 そこにUserModeLinux起動させようと考えています。 そこで、空のファイルを作ろうと、 ~$ dd if=/dev/zero of=uml-root-hardy bs=4096 seek=1M count=1 とコマンド入力しました。 その後しばらく放っておいても反応がありません。 ddコマンドを使用するには、何か事前操作などが必要なのでしょうか。 お返事お願いします。
- 締切済み
- その他(プログラミング・開発)
- ddコマンドでイメージをコピーしているのですが、めちゃめちゃ遅いです。
dd if=/dev/sdd of=/test としているのですが、めちゃめちゃ遅いです。 何かパラメータをつけて早くなる方法はあるのでしょうか?
- ベストアンサー
- Linux系OS
- DDコマンド
FreeBSDでDDコマンドがあまりうまくいかなかったのでturbo linux 10(評価版) を別のパーテションにインストールしてDDコマンドを試しました。 4Gのturbo linuxでDDコマンドを使おうとすると領域が足りず圧縮するのが面倒そうだったので 40Gー(windows 10G(hda1) + FreeBSD 4G(hda2))=26G をturbo linuxにあててDDコマンドで d if=/dev/hda2 of=hda2 を実行すると4Gのファイルができました。 これをISOイメージにしてバックアップCDをつくりバックアップCDをつくりたいのですがどうすればいいでしょうか?#dd if=/dev/cdrom of=cdrom.isoというコマンドを おしえていただいたのですがどうやってつかえばいいか わかりません。よろしくおねがいします。
- ベストアンサー
- その他(OS)
- ddコマンドの使い方
こんにちは、 テスト環境のフルバックアップに挑戦しており /dev/hda(テスト環境os)150G(使用10Gほど) /dev/sda(コピ先)80G と、容量の異なるふたつのハードディスクがあり /dev/hdaのテスト環境osを /dev/sdaにコピーしたいと考えています。 シングルユーザーモードで、 dd if=/dev/hda of=/dev/sda で試して見たのですが、一時間しても終わらなかったので 強制終了して/dev/sdaの中身を見てみたら いろいろとファイルが 出来上がってはいたのですが、ファイルサイズは小さすぎる気がしました。 コマンドはこれで正しいのでしょうか?
- ベストアンサー
- Linux系OS
- 1Gのddがなぜ一瞬で終わる?
どこかに書いていたことですが、 $ time dd if=/dev/zero of=1G.img seek=1G bs=1 count=1 とやるとコマンド実行は一瞬で終わって 1G のイメージファイルが生成されるのですが、 なぜ一瞬で終わるのかよく理解できません。 まず、bs*count がコピーされるデータ量なので そもそも生成されるイメージファイルは1バイトになりそうな気がしまして、 なぜ1G になるのか分かりません。 それに、seek は出力の開始位置をずらすだけなので、 このコマンド実行が一瞬で終わるなら 最後の1バイト以外は 元々そこのメモリ領域にあったデータがそのまま残っているならわかるのですが、 $ hexdump -n 1073741825 1G.img 0000000 0000 0000 0000 0000 0000 0000 0000 0000 * 40000001 ちゃんと全領域にゼロが書き込まれているようで、不思議です。 どういうことなのか、どなたか教えて下さい。 よろしくお願いします。
- ベストアンサー
- Linux系OS
- ddコマンドを使ったバックアップについて教えてください。
ランレベル5でddコマンドでdd if=/dev/hda1 of=/dev/hdb1と したところ再起動するとhdaでランレベル5で起動できなくなりました。 hdbのディスクを取り外したところ、ランレベル5で起動できるようになりました。どこがまずかったのかとどう行えばよいか教えていただけないでしょうか?
- ベストアンサー
- Linux系OS
お礼
なんとなく分かりました。噛み砕いた説明、ありがとうございました!他の方もありがとうございました!