Sto solo cercando di rivedere i comandi di base del terminale. Detto questo, come posso creare un file di testo usando solo il terminale?
Sto solo cercando di rivedere i comandi di base del terminale. Detto questo, come posso creare un file di testo usando solo il terminale?
Risposte:
Non è possibile utilizzare un terminale per creare un file. È possibile utilizzare un'applicazione in esecuzione in un terminale. Basta richiamare qualsiasi editor non-GUI ( emacs -nw
, joe
, nano
, vi
, vim
, ...).
Se intendevi usare la riga di comando, stai chiedendo come creare un file usando la shell. Vedi Qual è la differenza esatta tra un 'terminale', una 'shell', una 'tty' e una 'console'?
Il modo di base per creare un file con la shell è con il reindirizzamento dell'output . Ad esempio, il comando seguente crea un file chiamato foo.txt
contenente la rigaHello, world.
echo 'Hello, world.' >foo.txt
Se vuoi scrivere più righe, qui ci sono alcune possibilità. È possibile utilizzare printf
.
printf '%s\n' 'First line.' 'Second line.' 'Third line.' >foo.txt
È possibile utilizzare una stringa letterale contenente nuove righe.
echo 'First line.
Second line.
Third line.' >foo.txt
o
echo $'First line.\nSecond line.\nThird line.' >foo.txt
Un'altra possibilità è quella di raggruppare i comandi.
{
echo 'First line.'
echo 'Second line.'
echo 'Third line.'
} >foo.txt
Sulla riga di comando, puoi farlo più direttamente con cat
. Reindirizza il suo output sul file e digita l'input riga per riga sullo cat
standard input. Premere Ctrl+ Dall'inizio della riga per indicare la fine dell'input.
$ cat> foo.txt Prima riga. Seconda linea. Terza riga. Ctrl+D
In uno script useresti un documento qui per ottenere lo stesso effetto:
cat <<EOF >foo.txt
First line.
Second line.
Third line.
EOF
Se vuoi solo creare un file vuoto, puoi usare il touch
comando: crea il file se non esiste e aggiorna solo la data dell'ultima modifica se esiste.
touch foo.txt
Equivalentemente:
>>foo.txt
vale a dire aperto foo.txt
per l'aggiunta, ma scrivere 0 byte su di esso - questo crea il file ma non lo modifica. A differenza di touch
ciò, questo non aggiorna la data dell'ultima modifica del file se esiste già.
Per creare un file vuoto e rimuovere il contenuto del file se il file esiste già, è possibile utilizzare
>foo.txt
touch ~/Desktop/something.txt
Questo creerà un txt
file vuoto .
O
echo "Hello" > ~/Desktop/somethingelse.txt
Questo creerà un txt
file che dice "Ciao".
nano ~/Desktop/anotherfile.txt
Si aprirà ~/Desktop/anotherfile.txt
in nano
, o se non esiste, si creerà e aprirlo in nano
.
Lo stesso può essere fatto semplicemente sostituendo nano
con emacs
o vim
e utilizzerà emacs
o vim
invece dinano
cat
con <<
e parlare >>
.
<<
e >>
sono discussi in Quali sono gli operatori di controllo e reindirizzamento della shell?
Tutto ciò che serve per creare un file vuoto è:
> my.txt
:> my.txt
è necessario almeno . :
è un comando vuoto.
È possibile utilizzare il programma di modifica nano, vi o emacs per creare file a livello di terminale. Se stai usando il sistema x windows dovrai dire al tuo sistema di non usare il programma nella GUI; ma comunque, userò emacs come esempio.
Dalla bash; genere:
emacs filename.txt (press enter) - it will create an empty file with the filename specified "filename.txt". It will save "filename.txt" from which ever
directory type in "emacs filename.txt" command.
tenere presente che in tutto il sistema UNIX VI viene fornito; emacs no, dovrai installare emacs. Nano d'altra parte è più popolare; nel caso in cui ciò non risponda, significa che quando si "nano nomefile.ext" e non succede nulla, è necessario installarlo.
una volta emesso vi nomefile.txt molto probabilmente finirai per creare un nuovo file. Dovresti cercare vi, emacs o nano come utilizzare su google prima di iniziare. Come scrivere un file, modificarlo, usare i suoi strumenti per cercare e sostituire il testo è diverso in quei programmi di modifica. Mi piace emacs tra tutte le scelte, ma troverai sviluppatori che sono ossessionati da o preferiscono vi e nano
Qualcosa di utile quando sei bloccato e devi creare un file di testo multilinea sulla riga di comando è qualcosa del genere:
# cat <<'EOF' > textfile
> This "should"
> prove useful, 'maybe'.
> EOF
# cat textfile
This "should"
prove useful, 'maybe'.
È possibile sostituire cat
un altro comando, ad esempio grep
e un modello , e fare in modo che grep faccia il proprio lavoro sull'input e questo verrebbe emesso su file nello stesso modo.