Tutoriel de commande Mktemp avec exemples
Nous savons déjà comment créer des fichiers d'une certaine taille sous Linux. Créer des fichiers avec la taille donnée peut être utile dans de nombreuses occasions. Par exemple, après avoir déployé un nouveau serveur de fichiers, vous souhaiterez peut-être vérifier la limite de téléchargement, la taille maximale de téléchargement et la vitesse de téléchargement des fichiers, etc. Dans de tels cas, vous pouvez créer des fichiers d'une taille spécifique et les tester sur votre serveur de fichiers. Il existe également un outil de ligne de commande dédié nommé "mktemp" qui est disponible pour créer des fichiers et répertoires temporaires.
La commande mktemp crée un fichier ou un répertoire temporaire en toute sécurité et imprime son nom. Tous les fichiers et répertoires seront enregistrés dans le répertoire temporaire du système, c'est-à-dire /tmp. Vous n’avez donc pas besoin de les nettoyer manuellement. Une fois que vous aurez redémarré votre système, les fichiers temporaires disparaîtront.
Le didacticiel de la commande mktemp
Mktemp fait partie du package GNU coreutils. Alors ne vous embêtez pas avec l'installation. Nous allons voir quelques exemples pratiques maintenant.
Pour créer un nouveau fichier temporaire, exécutez simplement :
mktempVous verrez une sortie comme ci-dessous :
/tmp/tmp.U0C3cgGFpk
Créer un fichier temporaire à l'aide de la commande mktemp
Comme vous le voyez dans le résultat, un nouveau fichier temporaire portant un nom aléatoire "tmp.U0C3cgGFpk" est créé dans le répertoire /tmp. Ce fichier est juste un fichier vide.
Vous pouvez également créer un fichier temporaire avec un suffixe spécifié. La commande suivante créera un fichier temporaire avec l'extension ".txt" :
$ mktemp --suffix ".txt"
/tmp/tmp.sux7uKNgIA.txtQue diriez-vous d'un répertoire temporaire ? Oui, c'est aussi possible ! Pour créer un répertoire temporaire, utilisez l'option -d.
mktemp -dCela créera un répertoire vide aléatoire dans le dossier /tmp.
Exemple de résultat :
/tmp/tmp.PE7tDnm4uNCréer un répertoire temporaire à l'aide de la commande mktemp
Tous les fichiers seront créés avec l'autorisation u+rw et les répertoires avec u+rwx, moins les restrictions umask. En d’autres termes, le fichier résultant aura des autorisations de lecture et d’écriture pour l’utilisateur actuel, mais aucune autorisation pour le groupe ou autres. Et le répertoire résultant aura des autorisations de lecture, d'écriture et d'exécution pour l'utilisateur actuel, mais aucune autorisation pour les groupes ou autres.
Vous pouvez vérifier les autorisations du fichier à l'aide de la commande "ls" :
$ ls -al /tmp/tmp.U0C3cgGFpk
-rw------- 1 sk sk 0 May 14 13:20 /tmp/tmp.U0C3cgGFpkVérifiez les autorisations du répertoire à l'aide de la commande "ls" :
$ ls -ld /tmp/tmp.PE7tDnm4uN
drwx------ 2 sk sk 4096 May 14 13:25 /tmp/tmp.PE7tDnm4uN
Vérifier les autorisations de fichiers et de répertoires sous Linux
Lecture suggérée :
- Comment créer des répertoires à partir d'un fichier texte sous Linux
Créez des fichiers ou des répertoires temporaires avec des noms personnalisés à l'aide de la commande mktemp
Comme je l'ai déjà dit, tous les fichiers et répertoires sont créés avec des noms de fichiers aléatoires. Nous pouvons également créer un fichier ou un répertoire temporaire avec un nom personnalisé. Pour ce faire, ajoutez simplement au moins 3 'X consécutifs à la fin du nom du fichier comme ci-dessous.
$ mktemp ostechnixXXX
ostechnixq70De même, pour créer un répertoire, exécutez simplement :
$ mktemp -d ostechnixXXX
ostechnixcBOVeuillez noter que si vous choisissez un nom personnalisé, les fichiers/répertoires seront créés dans le répertoire de travail actuel, et non dans l'emplacement /tmp. Dans ce cas, vous devez les nettoyer manuellement.
De plus, comme vous l'avez peut-être remarqué, les X dans le nom du fichier sont remplacés par des caractères aléatoires. Vous pouvez cependant ajouter n'importe quel suffixe de votre choix.
Par exemple, je souhaite ajouter « blog » à la fin du nom du fichier. Donc ma commande serait :
$ mktemp ostechnixXXX --suffix=blog
ostechnixZuZblogNous avons désormais le suffixe « blog » à la fin du nom de fichier.
Si vous ne souhaitez créer aucun fichier ou répertoire, vous pouvez simplement effectuer un essai à sec comme ci-dessous.
$ mktemp -u
/tmp/tmp.oK4N4U6rDGPour obtenir de l'aide, exécutez :
mktemp --helpPourquoi avons-nous réellement besoin de mktemp ?
Vous vous demandez peut-être pourquoi avons-nous besoin de "mktemp" alors que nous pouvons facilement créer des fichiers vides à l'aide de la commande "touch filename". La commande mktemp est principalement utilisée pour créer des fichiers/répertoires temporaires avec un nom aléatoire. Nous n’avons donc pas besoin de nous soucier de trouver les noms. Puisque mktemp randomise les noms, il n'y aura aucune collision de noms. De plus, mktemp crée des fichiers en toute sécurité avec l'autorisation 600(rw) et des répertoires avec l'autorisation 700(rwx), afin que les autres utilisateurs ne puissent pas y accéder. Pour plus de détails, consultez les pages de manuel.
man mktemp

