Introduzione
In Linux, possiamo creare un nuovo file dalla riga di comando o dal file manager desktop.
Saper creare un nuovo file è un'abilità importante per chiunque usi Linux regolarmente.
In questo tutorial, ti mostreremo vari modi per creare rapidamente un nuovo file in Linux usando la riga di comando.
Per creare un nuovo file è necessario disporre delle autorizzazioni di scrittura nella directory principale. Altrimenti, riceverai un errore di autorizzazione negata.
Se si desidera visualizzare il contenuto di una directory, utilizzare il comando ls.
Creazione di un file con il comando touch
Il comando touch ci consente di aggiornare i timestamp su file e directory esistenti, nonché di creare nuovi file vuoti.
Il modo più semplice e facile da ricordare per creare nuovi file vuoti è usare il comando touch.
Per creare un nuovo file è sufficiente eseguire il comando touch seguito dal nome del file che si desidera creare:
touch file1.txt
Se il file file1.txt
non esiste, il comando sopra lo creerà, altrimenti cambierà i suoi timestamp.
Per creare più file contemporaneamente, specificare i nomi dei file separati da spazio:
touch file1.txt file2.txt file3.txt
Creazione di un file con l'operatore di reindirizzamento
Il reindirizzamento consente di acquisire l'output da un comando e inviarlo come input a un altro comando o file. Esistono due modi per reindirizzare l'output su un file. L'operatore >
sovrascriverà un file esistente, mentre l'operatore >>
aggiungerà l'output al file.
Per creare un file vuoto di lunghezza zero è sufficiente specificare il nome del file che si desidera creare prima dell'operatore di reindirizzamento:
> file1.txt
Questo è il comando più breve per creare un nuovo file in Linux.
Quando si crea un file utilizzando un reindirizzamento, fare attenzione a non sovrascrivere un file importante esistente.
Creazione di un file con comando cat
Il comando cat viene utilizzato principalmente per leggere e concatenare i file, ma può anche essere utilizzato per la creazione di nuovi file.
Per creare un nuovo file, eseguire il comando cat seguito dall'operatore di reindirizzamento >
e dal nome del file che si desidera creare. Premere Enter
digitare il testo e, una volta terminato, premere CRTL+D
per salvare i file.
cat > file1.txt
Creazione di un file con il comando echo
Il comando echo stampa le stringhe che vengono passate come argomenti all'output standard, che possono essere reindirizzate a un file.
Per creare un nuovo file, eseguire il comando echo seguito dal testo che si desidera stampare e utilizzare l'operatore di reindirizzamento >
per scrivere l'output nel file che si desidera creare.
echo "Some line" > file1.txt
Se vuoi creare un vuoto, usa semplicemente:
echo > file1.txt
Creazione di un file tramite Heredoc
Qui document o Heredoc è un tipo di reindirizzamento che consente di passare più righe di input a un comando.
Questo metodo viene utilizzato principalmente quando si desidera creare un file contenente più righe di testo da uno script di shell.
Ad esempio, per creare un nuovo file file1.txt
è necessario utilizzare il seguente codice:
<< EOF > file1.txt
Some line
Some other line
EOF
Il corpo dell'ereditarietà può contenere variabili, caratteri speciali e comandi.
Creazione di un file di grandi dimensioni
A volte, a scopo di test, potresti voler creare un file di dati di grandi dimensioni. Ciò è utile quando si desidera testare la velocità di scrittura dell'unità o per verificare la velocità di download della connessione.
Usando il comando dd
Il comando dd
viene utilizzato principalmente per convertire e copiare file.
Per creare un file denominato 1G.test
con una dimensione di 1 GB devi eseguire:
dd if=/dev/zero of=1G.test bs=1 count=0 seek=1G
Usando il comando fallocate
fallocate
un'utilità della riga di comando per allocare spazio su disco reale per i file.
Il seguente comando creerà un nuovo file denominato 1G.test
con una dimensione di 1 GB:
fallocate -l 1G 1G.test
Conclusione
In questo tutorial, hai imparato come creare un nuovo file in Linux dalla riga di comando usando vari comandi e reindirizzamenti.