La creazione di file o directory temporanei è un'attività comune eseguita da molti utenti della riga di comando di Linux. Ma sai che esiste uno strumento da riga di comando dedicato, chiamato mktemp, che ti consente di farlo?
In questo tutorial, discuteremo le basi del comando mktemp usando alcuni esempi di facile comprensione. Ma prima di farlo, vale la pena ricordare che tutti gli esempi qui presenti sono stati testati su una macchina Ubuntu 20.04 LTS e su Debian 10.
Comando Linux mktemp
Il comando mktemp in Linux consente agli utenti di creare un file o una directory temporanea. Di seguito è riportata la sua sintassi:
mktemp [OPTION]... [TEMPLATE]
Ed ecco come lo spiega la pagina man dello strumento:
Create a temporary file or directory, safely, and print its name. TEM?
PLATE must contain at least 3 consecutive 'X's in last component. If
TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.
Files are created u+rw, and directories u+rwx, minus umask restric?
tions.
Di seguito sono riportati alcuni esempi in stile domande e risposte che dovrebbero darti una buona idea di come funziona il comando mktemp.
Q1. Come creare un file temporaneo utilizzando mktemp?
Semplice. Basta eseguire 'mktemp' senza alcuna opzione. Vedrai che verrà creato un file temporaneo nella cartella /tmp/.
mktemp
Ad esempio, nel mio caso, è stato prodotto il seguente output:
/tmp/tmp.Ko6d1aX84B
Q2. Come creare una directory temporanea usando mktemp?
Questo può essere fatto usando l'opzione della riga di comando -d.
mktemp -d
Ad esempio, nel mio caso, è stato prodotto il seguente output:
/tmp/tmp.Y8pySTB9ml
Quindi vedi, il nome non riflette il fatto che è una directory, ma in realtà lo è.
Q3. Come dare un nome personalizzato al tuo file/directory temporanea?
Come avrai già notato, mktemp assegna un nome casuale al file o alla directory temporanea che crea. Tuttavia, se lo desideri, puoi fornire un nome personalizzato.
Lo strumento offre un modello che puoi utilizzare. Tutto quello che devi fare è fornire un nome, seguito da tre o più X in continuazione. Queste X sono sostituite da mktemp con caratteri casuali in modo che il nome finale del file o della directory risulti univoco.
Ad esempio, ho eseguito il seguente comando:
mktemp tempfileXXX
Ed è stato prodotto il seguente file:
tempfileEgh
Nota che i file prodotti in questo modo si trovano nella directory di lavoro corrente, invece della directory /tmp/ (che è il comportamento predefinito).
Q4. Come aggiungere un suffisso alla fine del nome del file/della directory?
Nella sezione precedente, abbiamo discusso di come avere un nome personalizzato quando si usa mktemp. Ma in questo modo, puoi avere solo la parte iniziale del nome come desideri. E se volessi anche un suffisso a tua scelta?
Sarai felice di sapere che anche questo è possibile. Devi solo usare l'opzione --suffix. Segue un esempio:
mktemp tempfileXXX --suffix=HTF
Ed ecco il nome del file prodotto dal suddetto comando:
tempfilecVkHTF
Quindi puoi vedere che il suffisso che hai fornito è stato aggiunto al nome del file.
Q5. Come eseguire solo una corsa a secco con mktemp?
Se vuoi solo che mktemp visualizzi un nome e non crei un file/directory, puoi farlo usando l'opzione -u della riga di comando.
mktemp -u
Conclusione
A seconda del tipo di lavoro che svolgi sulla riga di comando di Linux, il comando mktemp può rivelarsi uno strumento utile e che ti fa risparmiare tempo. Qui, in questo tutorial, abbiamo discusso diverse opzioni della riga di comando offerte dallo strumento. Per saperne di più, vai alla sua pagina man.