La création de fichiers ou de répertoires temporaires est une tâche courante effectuée par de nombreux utilisateurs de la ligne de commande Linux. Mais savez-vous qu'il existe un outil de ligne de commande dédié - appelé mktemp - qui vous permet de faire cela ?
Dans ce didacticiel, nous aborderons les bases de la commande mktemp à l'aide d'exemples faciles à comprendre. Mais avant cela, il convient de mentionner que tous les exemples ici ont été testés sur une machine Ubuntu 20.04 LTS et sur Debian 10.
Commande Linux mktemp
La commande mktemp sous Linux permet aux utilisateurs de créer un fichier ou un répertoire temporaire. Voici sa syntaxe :
mktemp [OPTION]... [MODÈLE]
Et voici comment la page de manuel de l'outil l'explique :
Créez un fichier ou un répertoire temporaire, en toute sécurité, et imprimez son nom. TEM ?
PLATE doit contenir au moins 3 "X" consécutifs dans le dernier composant. Si
TEMPLATE n'est pas spécifié, utilisez tmp.XXXXXXXXXX, et --tmpdir est implicite.
Les fichiers sont créés u+rw, et les répertoires u+rwx, moins umask restrict ?
tions.Voici quelques exemples de style questions-réponses qui devraient vous donner une bonne idée du fonctionnement de la commande mktemp.
Q1. Comment créer un fichier temporaire à l'aide de mktemp ?
Simple. Exécutez simplement 'mktemp' sans aucune option. Vous verrez qu'un fichier temporaire sera créé dans le dossier /tmp/.
mktempPar exemple, dans mon cas, la sortie suivante a été produite :
/tmp/tmp.Ko6d1aX84B
Q2. Comment créer un répertoire temporaire avec mktemp ?
Cela peut être fait en utilisant l'option de ligne de commande -d.
mktemp -dPar exemple, dans mon cas, la sortie suivante a été produite :
/tmp/tmp.Y8pySTB9ml
Vous voyez donc que le nom ne reflète pas le fait qu'il s'agit d'un répertoire, mais il l'est en réalité.
Q3. Comment donner un nom personnalisé à votre fichier/répertoire temporaire ?
Comme vous l'avez peut-être déjà observé, mktemp donne un nom aléatoire au fichier ou au répertoire temporaire qu'il crée. Cependant, si vous le souhaitez, vous pouvez fournir un nom personnalisé.
L'outil propose un modèle que vous pouvez utiliser. Tout ce que vous avez à faire est de fournir un nom, suivi de trois X ou plus à la suite. Ces X sont remplacés par mktemp avec des caractères aléatoires afin que le nom final du fichier ou du répertoire soit unique.
Par exemple, j'ai exécuté la commande suivante :
mktemp fichiertempXXXEt le fichier suivant a été produit :
tempfileEghNotez que les fichiers produits de cette manière sont situés dans le répertoire de travail actuel, au lieu du répertoire /tmp/ (qui est le comportement par défaut).
Q4. Comment ajouter un suffixe à la fin du nom du fichier/répertoire ?
Dans la section précédente, nous avons expliqué comment avoir un nom personnalisé lors de l'utilisation de mktemp. Mais de cette façon, vous ne pouvez avoir que la partie initiale du nom comme vous le souhaitez. Et si vous voulez également un suffixe de votre choix ?
Vous serez heureux de savoir que cela est également possible. Il vous suffit d'utiliser l'option --suffix. Voici un exemple :
mktemp fichiertempXXX --suffix=HTFEt voici le nom du fichier produit par la commande susmentionnée :
tempfilecVkHTFAinsi, vous pouvez voir que le suffixe que vous avez fourni a été ajouté au nom de fichier.
Q5. Comment effectuer simplement une simulation avec mktemp ?
Si vous souhaitez simplement que mktemp affiche un nom et ne crée pas de fichier/répertoire, vous pouvez le faire à l'aide de l'option de ligne de commande -u.
mktemp -uConclusion
Selon le type de travail que vous effectuez sur la ligne de commande Linux, la commande mktemp peut s'avérer être un outil pratique et rapide pour vous. Ici, dans ce tutoriel, nous avons discuté de plusieurs options de ligne de commande proposées par l'outil. Pour en savoir plus, rendez-vous sur sa page de manuel.