GNU/Linux >> Linux Esercitazione >  >> Linux

Concatenazione di file in un file virtuale su Linux

Puoi farlo combinando dispositivi loop e device mapper, grazie a "tutto è un file". Ma con una limitazione:la dimensione del file non può essere modificata (poiché non è possibile aumentare i dispositivi a blocchi scrivendo su di essi). Quindi, se vuoi aggiungere dati, devi creare un dispositivo a blocchi più grande e sovrascrivere i dati fittizi aggiunti.

# for testing, Create 4 files
echo foo | dd of=block0 cbs=512 conv=block
echo bar | dd of=block1 cbs=512 conv=block
echo bat | dd of=block2 cbs=512 conv=block
echo baz | dd of=block3 cbs=512 conv=block
# Create a loop device for each of the 4 files
losetup /dev/loop0 block0
losetup /dev/loop1 block1
losetup /dev/loop2 block2
losetup /dev/loop3 block3
# Create a device map named "test" using those loop devices
(
    echo "0 1 linear /dev/loop0 0"
    echo "1 1 linear /dev/loop1 0"
    echo "2 1 linear /dev/loop2 0"
    echo "3 1 linear /dev/loop3 0"
) | dmsetup create test
$EDITOR /dev/mapper/test # use overwrite mode only

Per estendere il file puoi creare un grosso file sparse e usarlo come dispositivo aggiuntivo.


Linux
  1. Spostare file su Linux senza mv

  2. Come creare un file di scambio in Linux

  3. Usa il comando fallocate per creare file di dimensioni specifiche in Linux

  4. Crea file utilizzando la riga di comando in Linux

  5. Come creare file sparsi in Linux usando il comando 'dd'

Comando Cp in Linux (copia file)

Come rinominare uno o più file in Linux

4 modi per creare un nuovo file in Linux

Crea un volume del disco rigido virtuale (VHD) utilizzando un file in Linux

Come comprimere un file in Linux

Come creare file zip o directory protetti da password in Linux