Les commandes avancées sous Linux
But de ce document
Ce document donnera une description et des exemples d’utilisations des commandes avancées les plus courantes sous Linux.
xargs [ -options ] [ commande ]
Exécute commande aussi souvent que nécessaire, en recevant à chaque fois ses arguments sur l’entrée standard. Ceci permet à commande de traiter beaucoup d’arguments à partir d’une liste créée par une commande (ls ou find par exemple) ou contenue dans un fichier.
Option | Commentaire |
---|---|
-i [cache] | Transforme toutes les ou toutes les chaînes par les chaînes envoyées par l’entrée standard. |
-p | Demande confirmation à l’utilisateur avant l’exécution de chaque ligne de commande. Implique l’option -t. |
-t | Affiche la ligne de commande sur la sortie d’erreur standard avant de l’exécuter. |
-v | Mode verbeux. |
Exemples :
$ find / -type f | xargs grep "*motif*" > ma_liste
$ ls rep1 | xargs -i -t mv rep1/{} rep2/{}
sort [ -options ] [ fichiers ]
La commande sort trie les lignes des fichiers passés en arguments.
Option | Commentaire |
---|---|
-n | Tri arithmétique. |
-o fichier | Envoie la sortie dans fichier . |
-r | Tri inversé. |
-tc | Sépare les champs par le caractère c. |
+ n [ -m ] | Saute les n permiers champs et trie jusqu’à la position m du champ. Si m n’existe pas, trie jusqu’à la fin de la ligne. |
-k n [ ,m ] | Semblable au précédent. Saute les n-1 permiers champs et trie jusqu’à la position m-1 . Ici les champs sont numérotés à partir de 1. |
Exemples :
$ ls -l | sort -n -k5
$ sort +2n -t: /etc/passwd
bc [ -options ] [ fichiers ]
bc est un language dont la syntaxe ressemble au C, permettant d’effectuer des calculs en précision infinie.
Option | Commentaire |
---|---|
-l | Utilise la bibliothèque mathématique standard. Indispensable si vous souhaitez utiliser des fonctions telles que sin, cos, log, ... |
-q fichier | N’affiche pas le message de bienvenue. |
Exemples :
$ echo "5*12.35" | bc -l
$ du -ks * | cut -f1 | bc -l
wc [ -options ] [ fichiers ]
Affiche le nombre de lignes, de mots ou de caractères de « fichier ». Si « fichier » est omis, lit l’entrée standard.
Option | Commentaire |
---|---|
-c | Affiche le nombre de caractères. |
-l | Affiche le nombre de lignes. |
-w | Affiche le nombre de mots. |
Exemples :
$ wc -w mon_super_livre.txt
$ ls | wc -l
cut -options [ fichiers ]
Sélectionne une partie de chaque ligne d’un fichier. On utilise la virgule pour séparer les valeurs d’une liste, et le tiret pour préciser des plages.
Option | Commentaire |
---|---|
-c list | Affiche uniquement les caractères situés aux positions précisées dans liste. |
-d c | Avec l’option -f, permet de spécifier le caractère c comme séparateur de champs. |
-f liste | Affiche les champs précisés dans liste. |
Exemples :
# cut -d: -f1,5 /etc/passwd
$ cut -c1-68 fichier.txt
tr [ -options ][ Chaîne1 ][ Chaîne2 ]
Copie l’entrée standard vers la sortie standard en remplaçant les caractères de chaîne1 par chaîne2 .
Option | Commentaire |
---|---|
-d | Supprime certains caractères de chaîne1. |
-s | Exclut de « Chaîne2 » les caractères en double dans « Chaîne1 ». |
Exemples :
$ tr " " "_" fichier
$ cat fichier | tr -d : > fichier2
type [ -options ] commandes
Affiche la référence absolue de commandes et indique si elles sont ou non au registre hash.
Option | Commentaire |
---|---|
-a | Affiche toutes les commandes portant le nom commande et pas seulement celles lancées par défaut. |
-t | Indique si commande est un alias, un mot-clé, une fonction, une fonction interne ou un fichier. |
Exemples :
$ type -a kill
$ type -t ls
passwd [ -options ] [ utilisateur ]
Change le mot de passe d’un utilisateur . Seul le propriétaire ou le super utilisateur peut changer un mot de passe. Le propriétaire n’a pas à spécifier utilisateur .
Option | Commentaire |
---|---|
-d | C’est un moyen rapide de désactivation du mot de passe d’un compte. Il rendra inutile la saisie d’un mot de passe pour un compte donné. Disponible uniquement pour root. |
Exemples :
$ passwd toto secret
$ passwd
awk [ -options ] [ fichier_programme ] [ fichier(s) ]
awk est un langage d’examen et de traitement de motifs. Il permet :
Inutile de dire que le sujet est vaste. Je me contenterai donc de donner quelques exemples d’utilisation. Reportez-vous à la page de manuel de la fonction pour de plus amples explications.
Option | Commentaire |
---|---|
-f fichier | Lit les commandes awk dans fichier plutôt que depuis l’entrée standard. |
-Fc | Utilise le caractère c comme séparateur de champs. |
Exemples :
$ awk -F: '{print $1 "\t" $5}' /etc/passwd
$ ls -l | grep ^- | awk '{somme+=$5}END{print "Total taille fichiers : ", somme}'
sed [ -options ] [ commandes ] [ fichier(s) ]
sed est un éditeur de flots. Il permet d’éditer des fichiers sans interaction avec l’utilisateur. Tout comme awk, il s’agit là d’une commande extrèmement vaste et complexe, faisant appel massivement aux expressions régulières et que je survolerai. Sachez que sed permet :
Option | Commentaire |
---|---|
-e commande | Indique que l’argument suivant est une commande d’édition. Nécessaire dans le cas d’enchaînement de plusieurs commandes. |
-f fichier | Indique que fichier est un script contenant les commandes d’édition. |
-g | Toutes les substitutions sont globales. |
Exemples :
$ sed 's/10.0.0.1/192.168.1.1/' fichier > fichier.tmp
$ sed -g -e 's/\([^~]\){}>>/\1\~{}>>/' -e 's/{}<<\([^~]\)/{}<<\~\1/' fichier1 > fichier.new
Historique des modifications
Version | Date | Commentaire |
---|---|---|
0.1 | 2002 | Thierry COLAS, auteur original du document « Lignes de commandes - le pense bête de COAGUL » |
0.2 | 2004 | Marc POIROUD pour la conversion en LATEX , PDF et HTML. Gnunux, pour sa relecture |
0.3 | 21/03/05 | Tony pour la conversion au format OOo / Spip et le découpage en 7 articles. |
Commentaires
> Les commandes avancées sous Linux
J’ai ajouté "But de ce document"
> Les commandes avancées sous Linux
Je trouve le descriptif un peu ... bof ;)
Ne serait-il pas mieux de mettre lebut de la page et le nom des commandes ?