Aller au contenu

Gestion de fichiers à partir de la ligne de commande

·
redhat
Jérémy Norgol
Auteur
Jérémy Norgol
Consultant ingénieur Linux Devops
RH124 - Cet article fait partie d'une série.
Partie 13: Cet article

Introduction au système de fichier
#

Le système d’exploitation stocke les fichiers et les répertoires de manière organisé et structuré.

Par définition quand on parle de répertoire; il s’agit d’un format de fichier.

Liste des systèmes de fichiers
#

En général, des améliorations ont été apportées aux systèmes de fichiers avec les nouvelles versions des systèmes d’exploitation et des systèmes de fichiers. Voici une liste exhaustive de système de fichier courament utilisé:

  • ext3
  • ext4
  • xfs
  • NTFS
  • FAT

Attribut des fichiers
#

Un fichier comporte de nombreux attributs, voici les pricinpaux; indispensable au bon fonctionnement d’un système:

Type Propriétaire Groupe Taille Mois Jours Heure Nom
drwxrwxr– root root 5176 1 2 15:31 mon_dossier
rwxr-x— root user 1024 3 2 10:24 files1
rwxr-x— user user 81920 10 27 19:23 file2.sh

Hop hop hop, si vous avez bien fait attention au premier attribut de mon dossier il contient d pour directory celà signifie que le premier bit défini le type de fichier:

d -> répertoire l -> lien

Pour tout le détail sur la gestion des droits, je vous invite à vous rendre à l’article sur le contrôle des accès:

Contrôle de l'accès aux fichiers
redhat

Commandes utiles
#

cd /root - Se déplacer dans un autre répertoire ls -l - Affiche la liste de fichier du répertorie courant sous forme de liste -l pwd - Ou suis-je ? Affiche dans quel chemin d’arborescence on se situe. whoami - Qui je suis ? Affiche quel utilisateur je suis.

Création d’un fichier et d’un répertorie
#

Commandes de création de fichier
#

touch cp vi -> Editeur de texte Vim: Commande alternative (si installé: vim) Autre éditeur de texte: nano

Commandes de création de répertoire
#

mkdir

Commandes de gestion de fichier
#

cp - Copie de fichier cp <source> <destination> rm - Suppression de fichier mv - Déplacement de fichier mv <source> <destination> mkdir - Création de répertoire - Option utile -p Création de répertoire et de sous répertoire même si le répertoire parent n’existe pas rmdir - option -r: suppression de répertoire chgrp - Modification du groupe de propriétaire sur le fichier

Lien
#

Commande: ln

Lien symbolique
#

Option -s : lien symbolique

Lien physique
#

Sans option lien fixe pour lequel le lien sera cassé si la destination est déplacé ou n’existe plus car un lien physique utilsera le même inode.

Commande utile
#

Afficher l’inode pour savoir de quel façon le lien pointe: ls -i

Redirection d’entrée et de sortie
#

Standard Description Valeur
stdin Input 0
stdout Output 1
stdout Error 2

Redirection d’entrée stdin (0)
#

L’entrée standard sur un terminal c’est simple c’est le clavier, mais bon on a pas tous envoie de tout écrire nous même à la main avec nos petits doigts surtour quand c’est dans un script. Alors c’est pourquoi une bonne redirection peut être utile:

Exemple: Redaction d’un mail a partir du contenu d’un fichier: mail -s "info météo" [email protected] < prevision.txt

Redirection de sortie stdout (1)
#

Il s’agit de la sortie standard bien connu car il s’agit de la sortie standard qui affiche sur le terminal la sortie de la commande.

Exemple: ls -l > /tmp/list_fichier : Redirection de la sortie strandard dans un fichier. Ecrase et remplace echo "12:00 J'ai faim" >> mon_planning.txt : Redrection en fin de fichier

Redirection d’erreur stderr (2)
#

Quand une commande remonte une erreur c’est dans stderr. Par défaut le terminal l’affiche tout comme la sortie standard, mais on peut rediriger également juste les erreurs en dehors de notre terminal: En cas de visibilité client par exemple d’une sortie c’est bien pratique 😉

Exemple: telnet localhost 2> erreur.txt

Pipe
#

La commande pipe est une syntaxe permettant la communication de la sortie standard d’une commande stdout envoyé vers l’entrée d’une seconde commande stdin

Exemple: Ecoute en directe -f à partir des 200 dernières lignes du fichier trace_http.log mais en filtrant à l’intérieur pour ne rechercher que la valeur d’une adresse IP (pratique lors de tests de debug en live) tail -200f trace_http.log | grep "192.168.1.200"

RH124 - Cet article fait partie d'une série.
Partie 13: Cet article

Articles connexes

Accès à la ligne de commande
redhat
Analyse et enregistrement de fichiers journaux
redhat
Configuration et sécurisation de SSH
redhat ssh