Aller au contenu principal

Navigation dans le système (Linux et Windows)

Google IT SupportSystèmes d'exploitation

Navigation dans le système (Linux et Windows)

Définition

Savoir se déplacer, lister, créer, modifier, supprimer fichiers et répertoires en ligne de commande (CLI) et interface graphique (GUI) est la compétence de base de tout administrateur système.

Linux : shell (Bash) et système de fichiers

Arborescence standard (FHS - Filesystem Hierarchy Standard)

/                    Racine
├── bin/             Binaires utilisateur essentiels (ls, cp, bash)
├── boot/            Chargeur de démarrage (grub, vmlinuz, initrd)
├── dev/             Fichiers périphériques (sda, tty, null, zero)
├── etc/             Configuration système (passwd, fstab, nginx/, ssh/)
├── home/            Répertoires utilisateurs (/home/alice, /home/bob)
├── lib/ lib64/      Bibliothèques partagées essentielles
├── media/           Points de montage amovibles (USB, CD)
├── mnt/             Montages temporaires manuels
├── opt/             Logiciels tiers additionnels
├── proc/            Système de fichiers virtuel processus/noyau
├── root/            Home de root (superutilisateur)
├── run/             Données d'exécution temporaires (depuis /var/run)
├── sbin/            Binaires système (ip, fdisk, systemctl)
├── srv/             Données services (web, ftp)
├── sys/             Sysfs : informations noyau/périphériques
├── tmp/             Fichiers temporaires (nettoyé au boot)
├── usr/             Programmes utilisateurs (bin, lib, share, src)
└── var/             Données variables (logs, spool, cache, lib)

Commandes de navigation essentielles

Commande Rôle Exemples
pwd Répertoire courant pwd/home/alice
ls Lister ls -la (détail, cachés), ls -lh (tailles humain)
cd Changer répertoire cd /etc, cd .., cd ~, cd - (précédent)
mkdir Créer répertoire mkdir -p a/b/c (parents), mkdir -m 750 dir
rmdir Supprimer répertoire vide rmdir dir
cp Copier cp -r src/ dst/, cp -a (archive: permissions, dates)
mv Déplacer / renommer mv old new, mv file /tmp/
rm Supprimer rm -i (interactif), rm -r (récursif), rm -f (forcer)
find Rechercher find /etc -name "*.conf" -type f, find . -size +100M
locate Recherche indexée (rapide) locate nginx.conf (après updatedb)

Chemins absolus vs relatifs

  • Absolu : commence par / (/etc/nginx/nginx.conf)
  • Relatif : depuis le répertoire courant (../nginx.conf, ./script.sh)
  • ~ = home utilisateur (/home/alice), ~bob = home de bob

Permissions (rwx, octal, ACL)

  • ls -l : -rw-r--r-- = type + user + group + other
  • chmod : chmod 755 script.sh, chmod u+x, chmod g-w,o-rwx
  • chown : chown user:group file, chown -R (récursif)
  • umask : masque défaut (ex: 022 → 755 dir, 644 fichier)
  • ACL : getfacl, setfacl -m u:alice:rwx file

Fichiers spéciaux

  • Liens durs : ln fichier lien (même inode, même FS)
  • Liens symboliques : ln -s /chemin/cible lien (pointeur, cross-FS)
  • /dev/null : trou noir, /dev/zero : zéros, /dev/random : entropie

Windows : PowerShell, CMD et Explorateur

Arborescence typique

C:\
├── Windows\           Système (System32, SysWOW64, WinSxS)
├── Program Files\     Programmes 64 bits
├── Program Files (x86)\  Programmes 32 bits
├── Users\             Profils (Public, Default, Alice, Bob)
│   └── Alice\
│       ├── Desktop, Documents, Downloads, Pictures...
│       └── AppData\   Local, LocalLow, Roaming (configs apps)
├── ProgramData\       Données applications toutes users
├── PerfLogs\          Journaux performance
└── $Recycle.Bin\      Corbeille par utilisateur (SID)

PowerShell (recommandé) vs CMD

Action PowerShell CMD (héritage)
Lister Get-ChildItem / ls / dir dir
Répertoire courant Get-Location / pwd cd
Changer répertoire Set-Location / cd cd
Créer répertoire New-Item -ItemType Directory / md mkdir / md
Copier Copy-Item / cp / cpi copy / xcopy / robocopy
Déplacer/renommer Move-Item / mv / mi move / ren
Supprimer Remove-Item / rm / ri del / rmdir / rd
Contenu fichier Get-Content / cat / gc type
Rechercher fichier Get-ChildItem -Recurse -Filter dir /s /b
Aide Get-Help cmdlet -Examples cmd /?

Chemins PowerShell

  • Lecteurs : C:, D:, HKLM:, HKCU:, Env:, Alias:, Function:, Cert:, WSMan:
  • ~ = $HOME = C:\Users\Alice
  • Variables : $env:PATH, $PSVersionTable, $_ (objet pipeline)

Permissions Windows (ACL, NTFS)

  • icacls : icacls file /grant Alice:(R,W), icacls dir /inheritance:r
  • Get-Acl, Set-Acl (PowerShell)
  • Héritage : activé par défaut, propagé parent → enfants
  • Propriétaire : Takeown, icacls /setowner

Comparatif rapide Linux ↔ Windows

Concept Linux Windows
Séparateur / \ (mais / accepté PowerShell)
Racine / C:\ (par lecteur)
Home user /home/alice C:\Users\Alice
Config système /etc/ Registre (regedit), C:\Windows\System32\config\
Logs /var/log/ Event Viewer (eventvwr), C:\Windows\Logs\
Temporaire /tmp/ %TEMP% (C:\Users\Alice\AppData\Local\Temp)
Exécutables /bin, /usr/bin, ~/bin C:\Windows\System32, PATH
Fichier config user ~/.bashrc, ~/.config/ %APPDATA%, %LOCALAPPDATA%
Superutilisateur root (UID 0), sudo Administrateur, UAC, Run as administrator

Raccourcis et productivité

  • Linux : Tab (complétion), !! (dernière cmd), Ctrl+R (historique), alias ll='ls -la'
  • Windows : Tab, F7 (historique), Ctrl+R (PowerShell 7+), $PROFILE (persistant)
  • Les deux : historique (history, Get-History), scripts (.sh, .ps1)