GNU/Linux >> Tutoriels Linux >  >> Linux

Concaténer des fichiers dans un fichier virtuel sous Linux

Vous pouvez le faire en combinant les périphériques de boucle et le mappeur de périphériques, grâce à "tout est un fichier". Mais avec une limitation :la taille du fichier ne peut pas être modifiée (car vous ne pouvez pas augmenter les périphériques de bloc en y écrivant). Donc, si vous souhaitez ajouter des données, vous devez créer un périphérique de bloc plus grand et écraser les données factices ajoutées.

# 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

Pour étendre le fichier, vous pouvez créer un gros fichier fragmenté et l'utiliser comme périphérique supplémentaire.


Linux
  1. Utilisez la commande fallocate pour créer des fichiers de taille spécifique sous Linux

  2. Créer un fichier d'échange Linux

  3. Comment créer des fichiers Linux Proc dans le programme C à l'aide de LKM

  4. Comment créer des fichiers fragmentés sous Linux à l'aide de la commande "dd"

  5. Pourquoi ne puis-je pas créer de fichiers de plus de 2 Go sous Linux ?

Commande Cp sous Linux (Copier des fichiers)

Comment renommer un ou plusieurs fichiers sous Linux

4 façons de créer un nouveau fichier sous Linux

Créer un volume de disque dur virtuel (VHD) à l'aide d'un fichier sous Linux

Comment compresser un fichier sous Linux

Comment créer un fichier zip ou des répertoires protégés par mot de passe sous Linux