====== Linux ======
===== Manipulation des fichiers et répertoires =====
\\
==== Répertoires ====
=== Répertoires système ===
Lorsqu'on installe Linux, on trouve des répertoires systèmes créés automatiquement pour le fonctionnement de l’OS.\\
Voici les principaux dossiers et répertoires systèmes.\\
Ils sont identiques à toutes les distributions : Ubuntu, Debian, Mint, Fedora, etc.
^Répertoire ^Description ^
^/ |C’est la racine de la partition système.|
^/bin |stocke les exécutables et binaires essentiels|
^/boot |stocke les fichiers de démarrage de Linux|
^/dev |Les fichiers liés aux périphériques|
^/etc |Les fichiers de configuration de Linux et des applications|
^/home |Les dossiers des utilisateurs|
^/lib |Les librairies et bibliothèques partagés pour le fonctionnement de l’OS et des applications|
^/lost+found |Les fragments des fichiers récupérés par fsck|
^/media |Contient les points de montages pour les médias amovibles|
^/mnt |Les répertoires utilisés pour monter temporairement un système de fichiers (disquette, CD-ROM...).|
^/opt |Les applications installées depuis une autre source que les système de packages de la distribution|
^/proc |Répertoire virtuel avec les informations système (l’état du système, noya Linux, etc) basé sur procfs (process file system)|
^/root |Le dossier personnel de l’utilisateur root|
^/sbin |Les exécutables et binaires du système|
^/srv |Les fichiers liés aux services|
^/tmp |Le dossier temporaires|
^/usr |Le répertoire des applications utilisateurs|
^/var |Données variables fréquemment écrits|
=== Répertoires spéciaux===
^Répertoire ^Description ^
^. |Répertoire courant|
^.. |Répertoire parent|
^~ |Répertoire personnel utilisateur (Home directory)|
=== Afficher l'arborescence ===
# Arborescence des dossiers et fichiers à partir de la position courante '.'
$ tree
$ tree .
# Arborescence des dossiers jusqu'au niveau 2
$ tree -d -L 2
=== Se déplacer dans les répertoires ===
[~] $ cd /
[/] $ cd /home/kali
[~] $ cd /var/www/html
[/var/www/html] $ cd ..
[/var/www/] $ cd .
[/var/www/] $ cd ../log
[/var/log/] $ cd ~
[~] $
=== Créer un répertoire ===
[~] $ mkdir test
# Crée une arborescence de répertoires
[~] $ mkdir -p test2/rep1
=== Supprimer un répertoire ===
#Supprime le répertoire 'test' s'il est vide
[~] $ rm -d test
[~] $ rm --dir test
[~] $ rmdir test
# Supprime récursivement le répertoire 'test2' et son contenu
[~] $ rm -R test2
[~] $ rm --recursive test2
[~] $ rmdir -p test2/rep1 # identique à 'rmdir test2/rep1 rep1'
\\
----
==== Fichiers ====
=== Lister les fichiers d'un répertoire ===
[~] $ ls . # Liste les fichiers du répertoire courant
[~] $ ls -la . # Liste, de manière détaillée, les fichiers du répertoire courant (y compris les cachés)
[~] $ ls -lart . # Comme ci-dessus, mais ordonné par date de modification décroissante
\\
=== Créer un fichier vide ===
$ > nom_fichier
# ou
$ touch nom_fichier
\\
=== Afficher le contenu d'un fichier ===
$ cat nom_fichier # Affiche l'intégralité d'un fichier
$ more nom_fichier # Affiche l'intégralité d'un fichier, avec de la pagination
$ less nom_fichier # Similaire à 'more', mais ne charge pas l'intégralité d'un fichier avant de l'afficher.
# il contient également plus d'options...
\\
=== Editer un fichier (en console) ===
$ vi nom_fichier # Editeur de base. Présent sur tous les OS Linux et Unix.
$ vim nom_fichier # Version améliorée de vi (coloration syntaxique + commandes améliorées)
$ nano nom_fichier # Editeur plus facile mais avec moins de possibilités
\\
=== Supprimer un fichier ===
$ rm nom_fichier
# ou
$ rm -f nom_fichier # Force la suppression