GNU/Linux >> Tutoriels Linux >  >> Linux

Comment diviser un gros fichier d'archive en plusieurs petits fichiers à l'aide de la commande Split sous Linux

Bien que l'une des principales raisons de la création d'archives soit la facilité de manipulation et de transfert, le fichier compressé lui-même est parfois si volumineux qu'il devient un cauchemar de le transférer sur le réseau, en particulier lorsque la vitesse du réseau est lente.

Alors, que faut-il faire dans des cas comme ceux-ci ? Y at-il une solution à ce problème? Eh bien, oui, une solution consiste à diviser le fichier compressé en petits morceaux, qui peuvent facilement être transférés sur le réseau. À destination, vous pouvez les rejoindre pour obtenir l'archive d'origine.

Si la solution semble intéressante et que vous souhaitez comprendre exactement comment cela peut être fait sous Linux, vous serez heureux de savoir que nous discuterons de tous les détails importants étape par étape dans ce didacticiel.

Avant de poursuivre, veuillez noter que toutes les instructions et commandes mentionnées dans cet article ont été testées sur Ubuntu 14.04.

Comment diviser des archives volumineuses

Il existe un utilitaire de ligne de commande - appelé Split - qui vous aide à diviser les fichiers en morceaux. Il est installé prêt à l'emploi sur la plupart des distributions Linux, vous n'avez donc pas à effectuer d'étapes supplémentaires pour le télécharger et l'installer. Voici la syntaxe de cette commande :

split [OPTION]... [INPUT [PREFIX]]

Ici, INPUT représente le nom du fichier qui doit être divisé en plus petits bits, et PREFIX est le texte que vous souhaitez voir préfixé au nom des fichiers de sortie. OPTION, dans notre cas, sera -b afin que nous puissions spécifier la taille des fichiers de sortie.

Pour comprendre l'utilisation de Split à travers un exemple, vous devez d'abord disposer d'un fichier compressé que vous souhaitez diviser. Par exemple, j'avais le fichier .zip de 60 Mo suivant dans mon cas :

Voici la commande Fractionner en action :

Donc, comme vous pouvez le voir, en utilisant l'option -b, j'ai demandé à la commande Split de diviser le gros fichier .zip en morceaux égaux de 20 Mo chacun, en fournissant le nom complet du fichier compressé ainsi que le texte du préfixe.

Voici comment j'ai vérifié que la commande Split a bien fait ce qu'on lui a demandé :

Comme le montre la sortie de la capture d'écran ci-dessus, trois fichiers avec des noms comprenant le préfixe que j'ai fourni et pesant 20 Mo chacun ont été produits dans la sortie.

Bien sûr, outre les fichiers .zip, vous pouvez également utiliser la méthode susmentionnée pour diviser d'autres types de fichiers compressés. Par exemple, voici comment j'ai utilisé la même commande dont nous avons parlé précédemment pour diviser un fichier .tar.xz :

Comme vous l'avez compris maintenant, si vous souhaitez diviser un fichier en plusieurs morceaux qui doivent être dimensionnés en Mo, vous devez utiliser la lettre M avec le chiffre que vous fournissez sur la ligne de commande. Et si - comme dans le cas dont nous venons de discuter - les fichiers doivent être dimensionnés en Ko, vous devez utiliser la lettre K .

Jusqu'à présent, nous n'avons utilisé que le -b option offerte par la commande Fractionner ; c'est parce qu'il fait ce que nous voulons - dites à la commande de diviser le fichier d'entrée en fonction de la taille qui suit cette option sur la ligne de commande. Cependant, selon votre cas et vos besoins, vous souhaiterez peut-être utiliser certaines des autres options fournies par la commande Fractionner.

Voici la liste des options avec une brève explication de ce qu'elles font :

  • -a , --suffix-length=N :génère des suffixes de longueur N (2 par défaut)
  • --additional-suffix=SUFFIX  :ajouter un SUFFIXE supplémentaire aux noms de fichiers.
  • -b , --bytes=SIZE :mettre SIZE octets par fichier de sortie
  • -C , --line-bytes=TAILLE :mettre au plus SIZE octets de lignes par fichier de sortie
  • -d , --suffixes-numériques[=FROM] :utilisez des suffixes numériques au lieu d'alphabétiques. FROM modifie la valeur de départ (0 par défaut).
  • -e , --elide-empty-files :ne génère pas de fichiers de sortie vides avec '-n'
  • --filter=COMMANDE :écrire dans le shell COMMAND ; le nom du fichier est $FILE
  • -l , --lines=NUMBER  :mettre NUMBER lignes par fichier de sortie
  • -n , --number=CHUNKS :génère des fichiers de sortie CHUNKS.
  • -u , --sans tampon :copie immédiatement l'entrée vers la sortie avec '-n r/...'

Jusqu'à présent, nous avons seulement discuté de la façon de diviser une grande archive en plusieurs parties plus petites. Inutile de dire que cela ne sert à rien tant que vous ne savez pas comment les joindre pour récupérer le fichier compressé d'origine. Alors, voici comment vous pouvez le faire :

Il n'y a pas d'utilitaire de ligne de commande spécial pour joindre les plus petits morceaux, car la bonne vieille commande Cat est capable de gérer cette tâche. Par exemple, voici comment j'ai récupéré le fichier Kaku-linux32.zip fichier via la commande Cat :

Vous pouvez extraire l'archive récupérée et la comparer avec l'originale pour vérifier que rien n'a changé.

Conclusion

Si vous êtes un utilisateur Linux et que votre travail quotidien consiste à jouer avec de gros fichiers compressés et à les partager avec d'autres sur le réseau, il y a de bonnes chances que vous souhaitiez diviser une archive dans certains cas. Bien sûr, la solution mentionnée dans ce tutoriel n'est peut-être pas la seule disponible, mais c'est certainement l'une des plus simples et des moins exigeantes.

Si vous utilisez une approche différente pour diviser de grandes archives, puis les rejoignez, et que vous souhaitez partager votre solution avec d'autres, vous pouvez le faire dans les commentaires ci-dessous.


Linux
  1. Comment diviser une grande archive 'tar' en plusieurs fichiers d'une certaine taille

  2. Comment effectuer une comparaison ligne par ligne de fichiers sous Linux à l'aide de la commande diff

  3. Comment diviser et combiner des fichiers à partir de la ligne de commande sous Linux

  4. Comment diviser un iso ou un fichier à l'aide de la commande 'split' sous Linux

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

Comment diviser de gros fichiers audio sous Linux

Comment diviser un gros fichier d'archive en plusieurs petits fichiers à l'aide de la commande Split sous Linux

Comment partager des fichiers localement sur Linux en utilisant NitroShare

Comment créer un lien symbolique sous Linux à l'aide de la commande Ln

Comment verrouiller un fichier texte sous Linux à l'aide de la commande flock

Comment joindre/fusionner plusieurs fichiers audio en un seul sous Linux