Examiner des fichiers et répertoires dans le terminal Bash

Inspection de fichiers et de répertoires

Pour naviguer et analyser le contenu du système de fichiers, plusieurs commandes Bash sont indispensables.

La commande ls

Cette commande liste le contenu d'un répertoire. Ses diverses options permettent d'obtenir des informations détaillées ou formatées.

$ ls -l
total 8
drwxr-xr-x 2 julie julie 4096 Oct 15 10:00 docs
-rw-r--r-- 1 julie julie  542 Oct 15 10:05 rapport.txt
-rwxr-xr-x 1 julie julie  120 Oct 15 09:50 verif.sh
# Premier caractère : type (d pour répertoire, - pour fichier normal)
# Bloc de permissions (9 caractères), propriétaire, groupe, taille, date, nom
$ ls -lh
total 8.0K
drwxr-xr-x 2 julie julie 4.0K Oct 15 10:00 docs
-rw-r--r-- 1 julie julie  542 Oct 15 10:05 rapport.txt
-rwxr-xr-x 1 julie julie  120 Oct 15 09:50 verif.sh
$ ls -la
.
..
docs
rapport.txt
verif.sh
.cache
$ ls -i
789001 docs
789002 rapport.txt
789003 verif.sh
$ ls -R
.:
docs  rapport.txt  verif.sh

./docs:
notes.txt  schema.svg

La commande cat

Permet d'afficher, de concaténer ou de créer le contenu des fichiers.

$ cat notes.txt
Première ligne du document.
Contenu principal ici.
Fin du fichier.
$ cat -n notes.txt
     1  Première ligne du document.
     2  Contenu principal ici.
     3  Fin du fichier.
$ cat notes.txt >> journal.log
$ cat notes.txt rapport.txt > compilation.txt

Visionnage par page : more et less

Pour les fichiers longs, less offre plus de fonctionnalités que more, notamemnt la recherche bidirectionnelle.

$ less /var/log/syslog
# Utiliser / pour chercher en avant, ? pour chercher en arrière.
# Navigation : PgUp/PgDn, g pour le début, G pour la fin.
# Marquer une position : m puis une lettre. Revenir avec ' puis la lettre.
# Quitter avec q.
$ head -20 log_conteneur.log
$ tail -50 log_conteneur.log
$ tail -f /var/log/auth.log
# Reste actif et affiche les nouvelles lignes ajoutées. Ctrl+C pour quitter.
$ tail -f -n 0 logs/app.log --pid=4512

Analyse de fichiers

$ file schema.svg
schema.svg: SVG Scalable Vector Graphics image

$ file -i donnees.bin
donnees.bin: application/octet-stream; charset=binary

$ wc -l rapport.txt
42 rapport.txt
$ wc -w rapport.txt
310 rapport.txt

Recherche avec find

La commande find recherche des fichiers selon des critères multiples.

$ find /home/julie -name "*.conf"
/home/julie/.config/app/settings.conf

$ find . -type d -name "archive*"
./projets/archive_ancien
./docs/archive_2023

$ find . -type f -size +1M
./video_demo.mp4
./base_donnees.sqlite
# Recherche par date (modifié il y a plus de 30 jours)
$ find ~/projets -type f -mtime +30

# Recherche combinée et exécution d'une commande sur les résultats
$ find . -type f -name "*.log" -mtime +7 -exec rm {} \;

# Recherche par permissions
$ find /var/www -type f -perm 0644

Étiquettes: bash terminal Linux commande fichier

Publié le 8 juin à 02h01