Sappiamo già come creare file di una certa dimensione in Linux. La creazione di file con le dimensioni indicate può essere utile in molte occasioni. Ad esempio, dopo aver distribuito un nuovo file server, potresti voler controllare il limite di caricamento, la dimensione massima di caricamento e la velocità di download dei file ecc. In questi casi, puoi creare file di dimensioni specifiche e testarli sul tuo file server. C'è anche uno strumento da riga di comando dedicato chiamato "mktemp" è disponibile per creare file e directory temporanei. Il comando mktemp crea un file o una directory temporanea in modo sicuro e ne stampa il nome. Tutti i file e le directory verranno salvati nella directory temporanea del sistema, ovvero /tmp . Quindi non è necessario pulirli manualmente. Una volta riavviato il sistema, i file temporanei saranno spariti.
Esercitazione sui comandi mktemp con esempi
Mktemp fa parte di coreutils GNU pacchetto. Quindi non preoccuparti dell'installazione. Vedremo ora alcuni esempi pratici.
Per creare un nuovo file temporaneo, esegui semplicemente:
$ mktemp
Vedrai un output come di seguito:
/tmp/tmp.U0C3cgGFpk

Crea un file temporaneo usando il comando mktemp
Come vedi nell'output, un nuovo file temporaneo con nome casuale "tmp.U0C3cgGFpk" viene creato nella directory /tmp. Questo file è solo un file vuoto.
Puoi anche creare un file temporaneo con un suffisso specificato. Il comando seguente creerà un file temporaneo con estensione ".txt":
$ mktemp --suffix ".txt" /tmp/tmp.sux7uKNgIA.txt
Che ne dici di una directory temporanea? Sì, è anche possibile! Per creare una directory temporanea, utilizza -d opzione.
$ mktemp -d
Questo creerà una directory vuota casuale nella cartella /tmp.
Risultato di esempio:
/tmp/tmp.PE7tDnm4uN

Crea una directory temporanea usando il comando mktemp
Tutti i file verranno creati con u+rw permesso e directory con u+rwx , meno le restrizioni umask. In altre parole, il file risultante avrà autorizzazioni di lettura e scrittura per l'utente corrente, ma nessuna autorizzazione per il gruppo o altri. E la directory risultante avrà autorizzazioni di lettura, scrittura ed eseguibili per l'utente corrente, ma nessuna autorizzazione per gruppi o altri.
Puoi verificare i permessi del file usando il comando "ls":
$ ls -al /tmp/tmp.U0C3cgGFpk -rw------- 1 sk sk 0 May 14 13:20 /tmp/tmp.U0C3cgGFpk
Verifica i permessi della directory usando il comando "ls":
$ ls -ld /tmp/tmp.PE7tDnm4uN drwx------ 2 sk sk 4096 May 14 13:25 /tmp/tmp.PE7tDnm4uN

Controlla i permessi di file e directory in Linux
Lettura consigliata:
- Come creare directory da un file di testo in Linux
Crea file temporanei o directory con nomi personalizzati usando il comando mktemp
Come ho già detto, tutti i file e le directory vengono creati con nomi di file casuali. Possiamo anche creare un file o una directory temporanea con un nome personalizzato. Per farlo, aggiungi semplicemente almeno 3 "X" consecutive alla fine del nome del file come di seguito.
$ mktemp ostechnixXXX ostechnixq70
Allo stesso modo, per creare una directory, esegui:
$ mktemp -d ostechnixXXX ostechnixcBO
Tieni presente che se scegli un nome personalizzato, i file/le directory verranno creati nella directory di lavoro corrente, non nella posizione /tmp . In questo caso, devi pulirli manualmente.
Inoltre, come avrai notato, le X nel nome del file vengono sostituite con caratteri casuali. Puoi comunque aggiungere qualsiasi suffisso a tua scelta.
Ad esempio, voglio aggiungere "blog" alla fine del nome del file. Quindi, il mio comando sarebbe:
$ mktemp ostechnixXXX --suffix=blog ostechnixZuZblog
Ora abbiamo il suffisso "blog" alla fine del nome del file.
Se non vuoi creare alcun file o directory, puoi semplicemente eseguire un dry run come di seguito.
$ mktemp -u /tmp/tmp.oK4N4U6rDG
Per assistenza, esegui:
$ mktemp --help
Perché abbiamo effettivamente bisogno di mktemp?
Potresti chiederti perché abbiamo bisogno di "mktemp" mentre possiamo facilmente creare file vuoti usando il comando "touch filename". Il comando mktemp viene utilizzato principalmente per creare file/directory temporanei con nomi casuali . Quindi, non dobbiamo preoccuparci di capire i nomi. Poiché mktemp randomizza i nomi, non ci sarà alcuna collisione di nomi. Inoltre, mktemp crea file in modo sicuro con autorizzazione 600(rw) e directory con autorizzazione 700(rwx), quindi gli altri utenti non possono accedervi. Per maggiori dettagli, controlla le pagine man.
$ man mktemp