web-dev-qa-db-fra.com

Comment créer un simple fichier .txt (texte) à l'aide d'un terminal?

J'essaie juste de revoir les commandes de terminal de base. Cela dit, comment créer un fichier texte en utilisant le terminal uniquement?

85
Mike Wentworth

Vous ne pouvez pas utiliser de terminal pour créer un fichier. Vous pouvez utiliser une application exécutée dans un terminal. Appelez simplement un éditeur non GUI (emacs -nw, joe, nano, vi, vim,…).

Si vous vouliez utiliser la ligne de commande, vous demandez comment créer un fichier à l'aide du shell. Voir Quelle est la différence exacte entre un 'terminal', un 'Shell', un 'tty' et une 'console'?

La manière basique de créer un fichier avec le Shell est avec redirection de sortie . Par exemple, la commande suivante crée un fichier appelé foo.txt contenant la ligne Hello, world.

echo 'Hello, world.' >foo.txt

Si vous souhaitez écrire plusieurs lignes, voici quelques possibilités. Vous pouvez utiliser printf.

printf '%s\n' 'First line.' 'Second line.' 'Third line.' >foo.txt

Vous pouvez utiliser un littéral de chaîne contenant des sauts de ligne.

echo 'First line.
Second line.
Third line.' >foo.txt

ou

echo $'First line.\nSecond line.\nThird line.' >foo.txt

Une autre possibilité est de regrouper les commandes.

{
  echo 'First line.'
  echo 'Second line.'
  echo 'Third line.'
} >foo.txt

Sur la ligne de commande, vous pouvez le faire plus directement avec cat. Redirigez sa sortie vers le fichier et tapez l'entrée ligne par ligne sur l'entrée standard de cat. presse Ctrl+D au début de la ligne pour indiquer la fin de l'entrée.

 $  cat> foo.txt  Première ligne.  Deuxième ligne.  Troisième ligne. Ctrl+D

Dans un script, vous utiliseriez un ici document pour obtenir le même effet:

cat <<EOF >foo.txt
First line.
Second line.
Third line.
EOF

Si vous souhaitez simplement créer un fichier vide, vous pouvez utiliser la commande touch: elle crée le fichier s'il n'existe pas et met à jour sa date de dernière modification si elle existe.

touch foo.txt

De manière équivalente:

>>foo.txt

c'est-à-dire ouvert foo.txt pour l'ajout, mais écrivez 0 octet - cela crée le fichier mais ne le modifie pas. Contrairement à touch, cela ne met pas à jour la date de dernière modification du fichier si elle existait déjà.

Pour créer un fichier vide et supprimer le contenu du fichier s'il existait déjà, vous pouvez utiliser

>foo.txt
touch ~/Desktop/something.txt

Cela créera un fichier txt vide.

Ou

echo "Hello" > ~/Desktop/somethingelse.txt

Cela va créer un fichier txt disant "Bonjour".

nano ~/Desktop/anotherfile.txt

Cela ouvrira ~/Desktop/anotherfile.txt dans nano, ou s'il n'existe pas, il le créera et l'ouvrira dans nano.

La même chose peut être faite en remplaçant simplement nano par emacs ou vim et il utilisera emacs ou vim au lieu de nano

13
DisplayName

Pour créer un fichier vide, il suffit de:

> my.txt
9
SAM

Quelque chose d'utile lorsque vous êtes bloqué et que vous devez créer un fichier texte multiligne sur la ligne de commande est quelque chose comme ceci:

# cat <<'EOF' > textfile
> This "should"
> prove useful, 'maybe'.
> EOF
# cat textfile 
This "should"
prove useful, 'maybe'.

Vous pouvez substituer cat à une autre commande, par exemple grep et a pattern, et demander à grep de faire son travail sur votre entrée et cela produira dans un fichier de la même mode.

3
user44370

Vous pouvez utiliser un programme d'édition nano, vi ou emacs pour créer un fichier au niveau du terminal. Si vous utilisez le système x windows, vous devrez dire à votre système de ne pas utiliser le programme dans l'interface graphique; mais de toute façon, je vais utiliser emacs comme exemple.

De la bash; type:

 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.

gardez à l'esprit que tous les systèmes UNIX VI sont livrés avec; emacs ne fonctionne pas, vous devrez installer emacs. Nano en revanche est plus populaire; juste au cas où si cela ne répond pas, cela signifie que lorsque vous "nano filename.ext" et rien ne se passe, vous devrez l'installer.

une fois que vous avez lancé vi filename.txt, vous finirez probablement par créer un nouveau fichier. Vous devez rechercher vi, emacs ou nano comment utiliser sur google avant de commencer. Comment écrire un fichier, le modifier, utiliser ses outils pour rechercher et remplacer du texte est différent dans ces programmes d'édition. J'aime emacs parmi tous les choix, mais vous trouverez des développeurs obsédés par ou favorisant vi et nano

2
unixmiah