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

449

Quelle est la façon la plus simple de créer un fichier dans un terminal Linux?

raphian
la source
1
$>newfilepeut également créer un fichier.
EsmaeelE

Réponses:

577

Selon 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/fileou 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

Eugen Rieck
la source
51
aussi printf "some long message\nwith newlines\n" > file. Bonne chance à tous.
shellter
1
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
Eugen Rieck
4
touchfonctionnera sous UNIX, car il s'agit d'un outil standard. L' somecommandexemple fonctionnera car il utilise la syntaxe standard. L' nanoexemple peut ne pas fonctionner car un éditeur nommé nanopeut ne pas être installé (nano n'est pas normalisé). L'éditeur standard est edet pourrait être utilisé à la place de nano, ou vous pouvez utiliser $EDITORpour utiliser votre éditeur de texte par défaut configuré par l'utilisateur ou le système, s'il y en a un.
sorpigal
14
De plus, vous pouvez simplement dire >/path/to/filede créer un fichier vide, même si vous n'en avez pas touch.
sorpigal
2
@EugenRieck Et si on dit la permission refusée
123
122

Utiliser le toucher

touch filename
Mariusz Jamro
la source
92

Créez le fichier en utilisant cat

$ cat > myfile.txt

Maintenant, tapez simplement ce que vous voulez dans le fichier:

Hello World!

CTRL-D pour enregistrer et quitter

raphian
la source
Je préfère utiliser cat car il offre un moyen simple et pratique de modifier le fichier immédiatement.
Delali
Vous ne pouvez également rien taper.
Bing Zhao
Quand j'ai essayé cat /etc/systemd/system/sample.service, il a dit "aucun fichier ou répertoire" plutôt que de créer un nouveau fichier sample.service.
TylerH
@TylerH cat /etc/systemd/system/sample.serviceimprime le fichier dans la console cat > /etc/systemd/system/sample.serviceredirige l'entrée standard vers le fichier (c'est pourquoi vous devez fermer l'entrée standard en appuyant sur control-d.
Jerry Jeremiah
40

Il existe plusieurs solutions possibles:

Créer un fichier vide

touch file

>file

echo -n > file

printf '' > file

La echoversion ne fonctionnera que si votre version de echoprend en charge le -ncommutateur pour supprimer les sauts de ligne. Il s'agit d'un ajout non standard. Les autres exemples fonctionneront tous dans un shell POSIX.

Créez 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 une nouvelle ligne.

Écrire du texte dans un fichier

"$EDITOR" file

echo 'text' > file

cat > file <<END \
text
END

printf 'text\n' > file

Ce sont équivalents. La $EDITORcommande suppose que vous disposez d'un éditeur de texte interactif défini dans la variable d'environnement EDITOR et que vous entrez interactivement du texte équivalent. La catversion suppose une nouvelle ligne littérale après \et après chaque ligne. En dehors de cela, ils fonctionneront tous dans un shell POSIX.

Bien sûr, il existe de nombreuses autres méthodes pour écrire et créer des fichiers.

sorpigal
la source
25

Créez également un fichier vide:

touch myfile.txt
andreapier
la source
17

Comment créer un fichier texte sous Linux:

  • Utilisation touchpour créer un fichier texte:$ touch NewFile.txt
  • Utiliser catpour créer un nouveau fichier: $ cat NewFile.txt
    Le fichier est créé, mais il est vide et attend toujours l'entrée de l'utilisateur. Vous pouvez taper n'importe quel texte dans le terminal, et une fois terminé, CTRL-D le fermera ou CTRL-C vous échappera.
  • Utiliser simplement >pour créer un fichier texte:$ > NewFile.txt
  • Enfin, nous pouvons utiliser n'importe quel nom d'éditeur de texte, puis créer le fichier, tel que:
    nano MyNewFile vi MyNewFile NameOfTheEditor NewFileName
SCIENCE DES DONNÉES
la source
16

haha! c'est facile! essaye ça:

$ touch filename
Roman Newaza
la source
1
Cela fonctionnait avec sudo, j'ai donc pu créer un nouveau fichier dans le dossier système.
Patricia
15

Vous pouvez utiliser la touchcommande, comme les autres l'ont dit:

touch filename

Pour écrire sur un fichier en ligne de commande, vous pouvez utiliser echoou printf:

echo "Foo" > filename
printf "Foo" > filename

Vous pouvez peut-être avoir des problèmes avec les autorisations. Si vous obtenez l'erreur suivante:, bash: filename: Permission deniedvous devez utiliser sudo bash -c 'echo "Foo" > filename', comme décrit ici: /ubuntu/103643/cannot-echo-hello-x-txt-even-with-sudo

user3753202
la source
14

1ère méthode

echo -n > filename.txt

2ème méthode

> filename.txt

3ème méthode

touch filename.txt

Pour afficher le contenu du fichier

vi filename.txt
shashwat gupta
la source
2 méthode est type-> "> filename.txt"
shashwat gupta
La question ne concerne pas le débordement de pile tel que défini dans le centre d'aide . Veuillez ne pas répondre à ces questions; au lieu de cela, vous devez les signaler à l'attention et ils seront fermés ou migrés de manière appropriée.
Toby Speight
12

Cela va créer un fichier vide avec l'horodatage actuel

touch filename
Christy George
la source
10

Aussi simple que cela :

> filename

IvanM
la source
10
touch filename

pour l' permission deniederreur, utilisez la sudocommande comme:

sudo touch filename
Pradeep Kumar Prabaharan
la source
6

J'aime l' éditeur de ligne de commande nano (texte):

nano filename
Sam Perry
la source
4

Dans le cas où vous essayez de créer un nouveau fichier, mais il dit:, 'File does not exist'c'est simplement parce que vous accédez également à un répertoire, qui n'existe pas encore. Vous devez d'abord créer tous les répertoires inexistants à l'aide de la mkdir /path/to/dircommande.

Sébastien
la source
0

Pour créer un fichier vierge avec propriété et autorisations à l'aide de l'installation.

sudo install -v -oUSER -gGROUP -m640 /dev/null newFile.txt
LinuxGuru
la source
Le sudoest utile dans de nombreux scénarios, mais ne fait pas directement partie de la réponse à la question du PO.
tripleee
Il est nécessaire si vous n'êtes pas le nom d'utilisateur dont vous avez besoin ou que le fichier n'appartient pas au groupe.
LinuxGuru
Oui, il y a des scénarios comme celui-là qui ne sont cependant pas à proprement parler ce que le PO a demandé.
tripleee
0

L'un des moyens les plus simples et rapides

$ vim filename

la source