505 votes

Comment créer un fichier sous Linux à partir de la fenêtre du terminal ?

Quel est le moyen le plus simple de créer un fichier dans un terminal Linux ?

2 votes

$>newfile peut également créer un fichier.

640voto

Eugen Rieck Points 33670

En fonction de ce que vous voulez que le fichier contienne :

  • touch /path/to/file pour un fichier vide

  • somecommand > /path/to/file pour un fichier contenant la sortie d'une commande.

      eg: grep --help > randomtext.txt
          echo "This is some text" > randomtext.txt
  • nano /path/to/file ou vi /path/to/file (ou any other editor emacs,gedit etc )
    Il ouvre le fichier existant pour le modifier ou crée et ouvre le fichier vide à saisir, s'il n'existe pas.

58 votes

Également, printf "some long message\nwith newlines\n" > file . Bonne chance à tous.

1 votes

UNIX n'est pas un environnement de ligne de commande, mais une famille de systèmes d'exploitation (très différents). Cela dit : Oui, cela devrait fonctionner sur la plupart des Unices

5 votes

touch fonctionnera sous UNIX, car c'est un outil standard. Le site somecommand fonctionnera car il utilise une syntaxe standard. Le site nano peut ne pas fonctionner parce qu'un éditeur nommé nano peut ne pas être installé (nano n'est pas standardisé). L'éditeur standard est ed et pourrait être utilisé à la place de nano ou vous pouvez utiliser $EDITOR pour utiliser l'éditeur de texte par défaut configuré par l'utilisateur ou le système, s'il en existe un.

145voto

Secator Points 9827

Utilice touchez

touch filename

115voto

raffian Points 7210

Créez le fichier en utilisant cat

$ cat > myfile.txt

Maintenant, il suffit de taper ce que tu veux dans le fichier :

Hello World!

CTRL-D pour sauvegarder et quitter

1 votes

Je préfère utiliser cat car il offre un moyen facile et pratique d'éditer le fichier immédiatement.

0 votes

Vous pouvez également ne rien taper.

0 votes

Quand j'ai essayé cat /etc/systemd/system/sample.service il a dit "no such file or directory" au lieu de créer un nouveau fichier sample.service.

50voto

Sorpigal Points 10412

Il existe plusieurs solutions possibles :

Créer un fichier vide

touch file

>file

echo -n > file

printf '' > file

En echo ne fonctionnera que si votre version de echo soutient le -n pour supprimer les nouvelles lignes. Il s'agit d'un ajout non standard. Les autres exemples fonctionneront tous dans un shell POSIX.

Créer un fichier contenant une nouvelle ligne et rien d'autre

echo '' > file

printf '\n' > file

Il s'agit d'un "fichier texte" valide car il se termine par un saut de ligne.

Écrire du texte dans un fichier

"$EDITOR" file

echo 'text' > file

cat > file <<END \
text
END

printf 'text\n' > file

Ceux-ci sont équivalents. Le site $EDITOR suppose que vous disposez d'un éditeur de texte interactif défini dans la variable d'environnement EDITOR et que vous saisissez interactivement le texte équivalent. La commande cat suppose un saut de ligne littéral après l'élément \ et après chaque ligne. A part cela, tout cela fonctionnera dans un shell POSIX.

Bien entendu, il existe également de nombreuses autres méthodes d'écriture et de création de fichiers.

26voto

andreapier Points 1395

Créez également un fichier vide :

touch myfile.txt

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X