🐧
Unix Shell
  • Unix Shell
  • Introduction
    • Introduction
      • 🎉Installation Party
  • 💻L'invite de commandes
    • L'invite de commandes
      • Ouvrir une invite de commandes
      • L'interprète
      • Mes premières commandes
      • Exercice avec ls
      • Raccourcis bash
  • Fichiers et repertoires
    • 📂Fichiers et répertoires
      • Navigation
      • Fichiers : Exercice
      • Edition des fichiers
      • Fichiers spéciaux
  • Recherches
    • 🔍Recherches
      • find
      • Exercice avec find
  • Droits
    • 🔨Droits et permissions
      • Qui
      • Quoi
      • Préciser les droits
  • Packages / Réseau / internet
    • 🌎Le monde extérieur
      • Installer des packages supplémentaires
      • Télécharger des fichiers
      • SSH : Ouvrir un SHELL à distance
      • SCP : Transférer des fichiers
      • Parenthèse : Cryptographie
  • Gestion de la machine
    • 📈Gestion
      • Disques / partitions
      • Exercice : formater et monter une volume (mastère)
      • Les processus
      • Réseau
  • Configurer Apache
    • 🏅Exercice : configurer votre espace web
  • Pipes et redirections
    • 🌊Pipes et redirections
      • Redirections des fichiers
      • grep et les expressions régulières
      • sed : chercher et remplacer
      • awk
  • Scripts
    • 🤖Scripts
      • Exécuter un script
      • Variables
      • Conditions
      • Boucles
      • Fonctions
      • Exercice : un script CGI pour Apache
  • Git
    • 🤖GIT
      • Commandes
      • Branches
      • Déploiement automatique
  • Docker
    • 🐳Docker
      • Lancer des containers
      • Volumes
      • Docker compose
Propulsé par GitBook
Sur cette page
  • nano (ou pico)
  • vi ou vim
  • D'autres éditeurs
  1. Fichiers et repertoires
  2. Fichiers et répertoires

Edition des fichiers

PrécédentFichiers : ExerciceSuivantFichiers spéciaux

Dernière mise à jour il y a 1 an

On est souvent amené à modifier des fichiers dans Unix.

En effet, quand on maintient un serveur à distance via l'invite de commandes, notre seule façon de changer un paramètre ou configuration est de modifier un fichier du type texte qui contient ses paramètres.

Il existe plusieurs éditeurs de texte qui s'ouvrent directement dans l'invite de commandes. Ses éditeurs prennent le contrôle entier de notre invite de commandes pour qu'on puissent visionner et modifier le contenu d'un fichier.

nano (ou pico)

nano est un éditeur de text simple est intuitif, qui est aussi installé sur la plupart des distributions Unix et Linux.

En revanche, il n'est pas installé dans notre configuration VSCode. Pour l'installer :

# Installer nano (à faire une fois)
sudo apt install nano

Dans le code ci-dessus, on exécute une instruction privilégié, donc on précise d'abord de le faire en tant que super user (donc sudo). apt est le gestionnaire de packages pour la distribution Ubuntu. On dit à apt d'installer le package qui s'appelle nano.

Pour commencer l'édition d'un fichier :

nano hello.txt

On peut commencer à taper notre texte.

Voici la liste de commandes possibles pour la manipulation du fichier :

Geste clavier
Explication

Ctrl S

sauvegarder le fichier en cours

Ctrl O

sauvegarder sous … (permet de changer le nom du fichier)

Ctrl X

quitter

Maj →

sélectionner des caractères

Ctrl K

couper (une sélection, ou la ligne s’il n’y a pas de sélection)

Alt 6

copier

Ctrl U

coller

Ctrl W

rechercher

Alt W

continuer la recherche

Donc après avoir rédiger un peu de texte, appuyer sur Ctrl S pour sauvegarder, puis Ctrl X pour quitter.

Vérifiez que votre fichier a été crée :

hetic@55125d688a1a:/tmp$ ls -l
total 44
-rw-r--r-- 1 hetic hetic    17 déc.  13 14:56 hello.txt

Vérifier les contenus de votre fichier :

hetic@55125d688a1a:/tmp$ cat hello.txt 
This is a test.

vi ou vim

vi est un autre éditeur très puissant, mais qui a une courbe d'apprentissage assez élevée. Il y a, en effet, beaucoup de raccourcis clavier à apprendre, mais une fois appris, on peut aller très vite, et effectuer des opérations complexes.

Souvent, si nano n'est pas installé sur un système Unix, vous trouverez vi à sa place. Il est donc important de pouvoir au moins créer et éditer des fichiers avec vi dans le cas où vous n'avez pas suffisamment de permissions pour installer des nouveaux packages.

Pour installer vi dans notre configuration VSCode :

sudo apt install vim

Ouvrez votre fichier texte dans vi :

vi hello.txt

Dans vi, nous trouvons deux modes de fonctionnement

  • Command mode : La touche « Echapper » fait activer le mode « command »

  • Insertion mode : La touche « i » fait activer le mode « insertion » pour la rédaction du text

Quand on lance vi on est par défaut dans le mode « command ». On ne peut pas juste commencer à taper du texte. Les touches auront un autre sens que le texte pûr, et plutôt chaque touche va effectuer une opération à notre texte selon la position du curseur.

Pour commencer à taper du texte, appuyez sur la touche i. Vous remarquerez en bas à gauche le texte -- INSERTION -- qui indique qu'on est en mode insertion. Vous pouvez désormais taper votre texte.

Une fois terminé, il faut qu'on repasse on mode « commande » pour sauvegarder et quitter l'éditeur.

  • Appuyez sur Esc pour quitter le mode insertion

  • Appuyez sur : puis w puis Entrée afin de sauvegarder le fichier (w pour write)

  • Appuyez sur : puis q puis Entrée afin de quitter vi

Si vous voulez quitter sans sauvegarder appuyez sur :q!Entrée

Voici quelques commandes utiles en mode commande :

Geste clavier
Explication

:w

sauvegarder

:wq

enregistrer et quitter

:q

quitter

:q!

quitter sans enregistrer

:234

aller à la ligne 234

yy

copier (yank) la ligne en cours

3yy

copier 3 lignes

yw

copier jusqu’au début du prochain mot

yiw

copier le mot actuel

p

coller

dd

couper (delete) la ligne en cours

x

suppression du caractère sous le curseur

:/terme-de-recherche

recherche (puis n pour le mot prochain)

:%s/terme-de-recherche/remplacement/g

chercher le mot et le remplacer partout dans le fichier

D'autres éditeurs

Il existe d'autres éditeurs, comme emacs ou autre. C'est à vous de les tester et décider votre préférence !

📂
Vous trouverez plus de commandes ici
La guerre des éditeurs
L'éditeur nano
L'éditeur vi
La guerre des éditeurs