このコマンドは何をしますか?

このコマンドは何をしますか?

Linux Kaliでこのコマンドを使用していますが、2番目のコマンドを実行すると、「ファイルまたはディレクトリが見つかりません」というエラーが発生し続けます。

end=7gb
read start _ < <(du -bcm kali-linux-1.0.8.amd64.iso | tail -1); echo $start
parted /dev/sdb mkpart primary $start $end

これは、永続性を得るために使用するより大きな命令セットのいくつかの命令です。私は実際にこれが何を意味するのか分かりません。

私の要求は、エラーを修正できるように各コマンドの機能の説明です。

答え1

read start _

これは入力行の最初の単語(by $IFS)を変数に割り当てますstart

du -bcm kali-linux-1.0.8.amd64.iso | tail -1

ファイルサイズを次のメガバイトに丸める奇妙な方法です。

parted /dev/sdb mkpart primary $start $end

isoファイルに必要なスペースの後に開始し(partedの基本単位がメガバイトであると仮定して確認しない)、7 GBで終わるsdbにパーティションを作成します。

答え2

申し訳ありません。私も同じ状況にあります。したがって、これはKaliページの指示を補完します。

  • 各コマンドは独自の行にあります。

  • end=7gb最終変数を7gbとして定義します。

  • read start _ < <(du -bcm kali-linux-1.0.8.amd64.iso | tail -1); echo $start

問題の核心はKali isoをダウンロードし、ダウンロードしたISOがあるディレクトリに永続パーティションを作成する必要があります。したがって、新しいパーティションの開始はISOの終わりとして定義され、バイト単位でUSBにコピーされます。

du -bcm kali-linux-1.0.8.amd64.iso DiskあなたISOファイルセージ、第二はい、完了し、1メガバイトブロックサイズ

tail -1前のコマンドは、次のような複数行の結果を提供しました。

3269    kali-linux-2019.2-i386.iso
3269    total

ただし、合計の前の数字にのみ興味があるので、最初の最後の(2番目の)行を削除して次のようにします。

3269 total

read start _最後のヒントは、最初のスペース、最初のタブ、または最初の新しい行(デフォルトの内部フィールド区切り文字)がそこで停止するまで(下線)行を読み、その単語を変数の先頭に割り当てることです。

echo $start等号で定義されていないので、その数値を $start 変数に変更します。

  • parted /dev/sdb mkpart primary $start $end

ISOファイルのメガバイトサイズ(3269mb、約3gb)から7gb程度まで、実際にパーティションを作成する部分です。これが永続パーティションになります。一部のメガバイトが失われても、プログラムの開始ブロックの選択に同意すると仮定します。

sdXをシステムに合った文字に変更することを忘れないでください。通常、bよりはるかに高く(g、d、eにあります)、私たちの多くは2つのハードドライブを持っているので、例ではbを使用しないでください。

関連情報