Eclats de vers : Ordina 06 : Utilitaires

Index des Grimoires

Retour à l’accueil

Table des matières

1. Texte

1.1. Généralités

stat Affiche les informations du fichier contenues dans le système de fichiers
file Information sur le type d'un fichier
cat Affiche et concatène des fichiers
strings Chaînes de texte d'un fichier binaire
nl Affiche des fichiers avec les numéros de ligne
split Coupe un fichier en plusieurs morceaux
head Affiche le début d'un fichier
tail Affiche la fin d'un fichier
wc Affiche le nombre de lignes, de mots et de caractères d'un fichier
cmp Compare deux fichiers octet par octet
seq M N Affiche une séquence d'entiers de M à N inclus
shuf Affiche les lignes d'un fichier dans le désordre
tac Affiche un fichier en inversant l'ordre des lignes
pr Formattage pour impression : numéros de page, colonnes, …

1.2. Grep

Grep filtre les lignes d'un fichier par rapport à une expression régulière. Voici l'allure générale d'une commande grep :

grep /options/ /motif/ /fichier(s)/

Exemples :

grep motif fichier(s) Affiche les lignes contenant motif le dans les fichier(s)
egrep grep -E Analogue à grep mais pour les expressions régulières étendues

1.2.1. Options

La suite recense les principales options.

-v Affiche les lignes ne contenant pas le motif
-i Insensible à la casse
-c Compte le nombre de lignes correspondant au motif
-C N Affiche N lignes de contexte

1.3. Cut

Cut permet de filtrer chaque ligne d'un fichier. Voici l'aspect général d'une commande cut :

cut /options/ /fichiers/

La suite recense les principales options.

1.3.1. Champs

-f N Affiche le /N/<sup>ème</sup> champ
-f N1,/N2/, Affiche plusieurs champs
-d délimiteur Modifie le séparateur de champs

1.3.2. Caractères

-c N Affiche le /N/<sup>ième</sup> caractère de chaque ligne
-c M-N Affiche les caractères M à N
-c N- Affiche les caractères de position supérieure à N
-c -N Affiche les caractères de position inférieure à N

1.4. Fold

Fold ajuste les lignes d'un fichier. Voici l'allure générale d'une commande fold :

fold /options/ /fichier/

La suite recense les principales options.

-w largeur Ajuste les lignes pour qu'aucune ne dépasse largeur
-s Coupe les lignes aux espaces (conserve les mots entiers)

1.5. Fmt

Fmt formatte du texte paragraphe par paragraphe.

fmt -M -w N fichier Formatte fichier pour avoir plus ou moins M caractères et maximum N caractères par ligne

1.6. Tr

Tr utilise deux groupes de caractères et s'en sert comme règle de remplacement : chaque caractère à l'entrée standard qui appartient au premier groupe est remplacé à la sortie standard par son équivalent dans le second groupe. Un caractère qui n'appartient pas au premier groupe ressort inchangé. Voici la syntaxe générale :

tr /groupe1/ /groupe2/

La commande suivante transforme des minuscules en majuscules :

echo "/minuscules/" | tr '/[a-z]/' '/[A-Z]/'

1.7. Sort

Sort trie les lignes d'un ou de plusieurs fichiers.

La suite recense les principales options.

-k N Trie avec comme clé le /N/<sup>ème</sup> champ
-k N1./N2/./…/ Trie avec comme clés les champs N1, N2, …
-r Inverse l'ordre
-d Tri analogue à un dictionnaire : alphanumérique
-g Tri par valeurs numérique
-f Insensible à la casse

1.8. Uniq

Uniq omet ou affiche les lignes répétées. Voici l'allure générale d'une commande uniq :

uniq /options/ /fichier/

La suite recense les options principales.

-u N'affiche pas les lignes dupliquées (par défaut)
-d Affiche seulement les lignes dupliquées
-c Compte le nombre d'occurences de chaque ligne
-f N Ne compare pas les N premiers champs
-i Insensible à la casse

1.9. Comm

La commande comm effectue des opérations ensemblistes sur le contenu de deux fichiers :

comm /fichier-1/ /fichier-2/

Sa sortie compte trois colonnes. La première colonne contient les lignes présentes uniquement dans le premier fichier, la seconde colonne contient les lignes présentes uniquement dans le second fichier et la troisième compte les lignes présentes dans les deux fichiers.

La ligne :

comm -1 /fichier-1/ /fichier-2/

supprime les lignes apparaissant uniquement dans le premier fichier. La ligne :

comm -2 /fichier-1/ /fichier-2/

supprime les lignes apparaissant uniquement dans le second fichier. La ligne :

comm -3 /fichier-1/ /fichier-2/

supprime les lignes apparaissant dans les deux fichiers.

1.10. Paste

Paste colle les fichiers en argument côte à côte, chacun occupant une colonne. Voici l'allure générale d'une commande paste :

paste /listeDeFichiers/

La suite recense les principales options.

-d 'délimiteur' Modifie le délimiteur

1.11. Astuces

uniq -c fichier ¦ sort -nr Trie par nombre d'occurences
tail -f Affiche la fin d'un fichier en suivant les ajouts

2. Système de fichiers

2.1. Généralités

lsblk Affiche les partitions d’un disque
tree Affiche l'arborescence des fichiers

2.2. Recherche avancée

L'utilitaire :

find

permet de réaliser des recherches avancées dans le système de fichiers. exemple, si nous recherchons récursivement les fichiers réguliers contenu dans le répertoire dir :

find /dir/ -type f -print

Nous pouvons restreindre la recherche au répertoire dir et à ses sous-répertoires directs :

find /dir/ -maxdepth 2 -type f -print

Nous pouvons encore restreindre la recherche aux fichiers correspondant à un motif de globalisation glob :

find /dir/ -maxdepth 2 -type f -name '/glob/' -print

Le format d'affichage peut être modifié. Ainsi, pour insérer un « = » avant le nom de chaque fichier et un « + » après, on demande :

find /dir/ -maxdepth 2 -type f -name '/glob/' -printf '=%f+ '

Si on souhaite un résultat par ligne, on remplace l'espace par un caractère de fin de ligne dans la zone de format :

find /dir/ -maxdepth 2 -type f -name '/glob/' -printf '=%f+\n'

On voudra généralement afficher le répertoire de chaque fichier. Dans ce cas, on aura :

find /dir/ -maxdepth 2 -type f -name '/glob/' -printf '%h/%f\n'

Quelques autres options :

-path glob Le chemin d'accès au fichier correspond au motif de globalisation
-newer référence Le fichier a été modifié plus récemment que le fichier référence
-fprint fichier Comme -print, mais écrit dans un fichier
-fprintf fichier Comme -printf, mais écrit dans un fichier
-exec commande Exécute une commande. {} symbolise le fichier courant
-execdir commande Comme -exec mais avec pour répertoire celui du fichier courant

2.3. Copie de bas niveau

La commande « dd » permet de réaliser une copie de bas niveau. Par exemple, la commande suivante :

dd if=/source/ of=/destination/ bs=1M count=128

copie source vers destination en 128 blocs de 1 mega

2.4. Écraser des données

La commande rm se contente d'enlever des fichiers, répertoires du système de fichier. La commande shred écrase le contenu du fichier avec un contenu aléatoire :

shred -u /fichier/

3. Processus

pstree Affiche l'arborescence des processus
watch Exécute une commande périodiquement et affiche le résultat à l'écran
crontab fichier Automatisation des tâches régulières
crontab -l Liste des tâches régulières
at date-heure -f script Exécution d'une tâche à une date et heure précise
atq File d'attente des tâches programmées par « at »
atrm Annule une tâche programmée par « at »

3.1. Xargs

xargs commande < arguments Applique une commande à plusieurs arguments
… ¦ xargs commande  

3.1.1. Options

-n N Groupe les arguments par paquets de N puis exécute la commande avec chaque groupe d'arguments
-L N Comme -n mais avec les lignes
-a fichier Lis les arguments dans un fichier
-I symbole Détermine un symbole pour le nom de l'argument courant

3.1.2. Exemples

cat fichier ¦ xargs -n 1 commande Applique les lignes d'un fichier une par une à une commande
ls ¦ xargs -I {} echo {}./suffixe/ Affiche chaque fichier du répertoire avec un suffixe

4. Réseau

4.1. Généralités

ping Vérifie si une machine répond
telnet adresse port Outil générique permettant de se connecter à une adresse et un port donné
wget Téléchargement http récursif sur les liens
curl Téléchargement http par motifs
ncftp Téléchargement par ftp

4.2. Astuces

wget -r -l N -k -E -p Téléchargement http récursif sur les liens

5. Archives

5.1. Généralités

Voici quelques archiveurs :

ar   tar   cpio   pax   shar

5.2. Compression

Voici quelques compresseurs :

gzip   bzip2   lzma   zip

et les décompresseurs associés :

gunzip   bunzip2   unlzma   unzip

On dispose aussi des commandes d'affichage associées :

zcat Affiche le contenu d'une archive gzip
bzcat Affiche le contenu d'une archive bzip
lzcat Affiche le contenu d'une archive lzma

5.3. Tar

Pour créer une archive :

tar -cvf /archive/ /répertoire/

Pour ajouter des fichiers dans l'archive :

tar -rvf /archive/ /fichiers/

Pour en extraire les fichiers :

tar -xvf /archive/

Pour lister le contenu de l'archive :

tar -tvf /archive/

5.3.1. Compression gzip

On peut compresser le contenu d'une archive tar avec gzip :

gzip /archive/.tar

ce qui produit un fichier :

/archive/.tar.gz

On peut en extraire le contenu en passant par gunzip et tar -xvf, on directement en ajoutant l'option « z » à tar :

tar -xzvf /archive/.tar.gz

5.3.2. Compression bzip

On peut compresser le contenu d'une archive tar avec bzip :

bzip2 /archive/.tar

ce qui produit un fichier :

/archive/.tar.bz2

On peut en extraire le contenu en passant par bunzip2 et tar -xvf, on directement en ajoutant l'option « j » à tar :

tar -xjvf /archive/.tar.bz2

5.3.3. Compression lzma

On peut compresser le contenu d'une archive tar avec lzma :

lzma /archive/.tar

ce qui produit un fichier :

/archive/.tar.lzma

On peut en extraire le contenu en passant par unlzma et tar -xvf, on directement en ajoutant l'option « –lzma » à tar :

tar --lzma -xvf /archive/.tar.lzma

5.4. Zip

Pour créer une archive récursivement ou y ajouter / remplacer des fichiers :

zip -rv /archive/ /fichiers/

Avec l'option -u, les fichiers seront seulement remplacés par des fichiers plus récents :

zip -rvu /archive/ /fichiers/

Pour extraire les fichiers, on écrit :

unzip /archive/

Pour afficher le contenu de l'archive :

zipinfo /archive/

5.5. Ar

Ar est un archiveur semblable à tar. Il est surtout utilisé pour les bibliothèques logicielles, mais on peut également s'en servir comme archiveur pour n'importe quel collection de fichiers. Pour créer une archive :

ar cr /archive/ /fichiers/

Pour ajouter un ou plusieurs fichiers à une archive :

ar r /archive/ /fichiers/

Pour afficher le contenu d'une archive :

ar t /archive/ /fichiers/

Pour extraire les fichiers d'une archive :

ar x /archive/

5.6. Shar

Shar permet de créer une archive en forme de script shell auto-extractible. Pour créer une archive :

shar /répertoire/ > /archive/

Pour en extraire les fichiers :

sh /archive/

ou :

chmod a+x /archive/
.//archive/

6. Synchronisation

6.1. Unidirectionnelle

L'utilitaire rsync permet de synchroniser une destination avec une source :

rsync -avz –delete source utilisateur@hôte:destination options réseau
rsync -rtv –delete source destination options local

6.2. Bidirectionnelle

unison Synchronisation bidirectionnelle

6.3. Chiffrement

duplicity Sauvegardes incrémentales chiffrées via rsync et gpg

Auteur: chimay

Created: 2023-05-10 mer 16:48

Validate