Commandes GNU/Linux en vrac – Partie 2
Bonjour à tous ! Aujourd’hui le 2ème article de la série « Commandes GNU/Linux en vrac ». Le 1er est disponible ici :
Le but est de présenter et de vous faire découvrir des commandes et des outils qui pourraient être utiles pour vous.
Commande wc
La commande wc
ou word count va permettre au système de compter plusieurs éléments comme le nombre de lignes, de mots, de caractères, etc.
Je m'en sers quotidiennement et son utilisation est très simple.
Pour les exemples de cet article le fichier suivant est utilisé :
1> cat pays.txt
2France
3Espagne
4Etats Unis
5Chine
6Italie
7Ecosse
8Irlande
9Allemagne
10Thailande
Dans son utilisation la plus simple, c'est à dire sans argument les résultats renvoyés sont les suivants :
wc pays.txt
Dans l'ordre nous retrouvons :
- 9, le nombre de lignes du fichier
- 10, le nombre de mots du fichier
- 73, la taille en octets (bytes) du fichier
Il est aussi possible de filtrer les résultats avec des arguments, par exemple :
1# Le nombre de lignes
2wc -l pays.txt
3
4# Le nombre de mots
5wc -w pays.txt
6
7# Le nombre de caractères
8wc -c pays.txt
9
10# Le nombre d'octets
11wc -m pays.txt
12
13# Afficher le plus grand nombre de caractères sur une ligne (Allemagne)
14wc -L pays.txt
Vous pouvez également utiliser wc -h
pour afficher toutes les options de cet outil, qui j'espère vous servira.
Commande chage
De son côté la commande chage
est une commande système qui va permettre de gérer la validité des mots de passe et des comptes utilisateurs sur les systèmes GNU/Linux.
Elle permet également de récupérer des informations sur un compte, par exmeple sur mon Arch Linux :
La commande va permettre de configurer les différentes informations de la capture ci-dessus. Il sera alors possible de forcer le changement de mots de passe ou encore de désactiver le compte en question.
Un exemple avec un compte de test : net-security.
Vous pouvez modifier ces informations de manière interactive de la façon suivante :
sudo chage net-security
Les lignes suivantes seront à valider :
Nous avons dans l'ordre :
- Durée de vie minimum du mot de passe, si vous mettez la valeur 5 par exemple l'utilisateur ne pourra changer son mot de passe durant 5 jours.
- Durée de vie maximum du mot de passe en jour.
- Modification de la date du dernier changement de mot de passe.
- Configuration des alertes avant X jours.
- Ajout du nombre de jour ou le compte reste inactif après l'expiration. Après ce nombre de jours le compte devient verrouillé.
- Configuration de la date d'expiration du compte.
Il est également possible d'utiliser des arguments pour ces différentes options et donc de les utiliser indépendamment les unes des autres.
- Pour changer la date du dernier changement de mot de passe :
chage -d 2020-11-10 net-security
- Date d'expiration du compte :
chage -E 2020-31-10 net-security
- Configuration des alertes :
chage -W 10 net-security
- Configuration du nombre de jours ou le compte restera inactif :
chage -I 14 net-security
- Durée de vie minimale d'un mot de passe :
chage -m 2 net-security
- Durée de vie maximale d'un mot de passe :
chage -M 365 net-security
Le résultat après ces différentes commandes :
Vous pouvez également utiliser plusieurs paramètres sur la même commande, par exemple :
chage -m 2 -M 100 -I 10 -E 2020-31-12 net-security
Personnellement c'est une commande que je ne connaissais pas mais qui peut-être très intéressante dans le cadre d'une politique de gestion de mots de passe sur les systèmes GNU/Linux (hors LDAP/AD). Il est possible de l'automatiser et de le coupler à des outils comme Ansible par exemple.
Commande tr
La commande tr
pour translate va permettre des opérations simples comme supprimer ou transformer des chaînes de caractères.
C'est également que j'utilise régulièrement sur mes différents systèmes. Voici quelques exemples d'utilisation.
Le fonctionnement est suivant, à la suite de la commande tr
vous allez entrer les informations à remplacer suivi de la valeur à utiliser.
Pour transformer un texte minuscule en majuscule vous pouvez utiliser ces commandes :
1tr [:lower:] [:upper:]
2tr [a-z] [A-Z]
Ou encore pour supprimer des espaces :
tr -d ' '
Et même supprimer les suites de caractères :
1tr -s 'e'
2tr -s 'u'
3tr -s 'eu'
Beaucoup d'autres utilisations sont possibles avec cet outil puissant, n'hésitez pas à faire des recherches pour trouver votre bonheur !
Bonus : neofetch
Un outil un peu particulier, tout simplement car à ma connaissance il ne sert à rien à part afficher joliment les informations relatives à votre machine/système avec le logo de votre distribution préférée.
Il vous permettra cependant d'ajouter un terminal avec neofetch
ouvert sur vos plus captures d'écrans ! Que vous posterez par la suite sur les meilleurs sub reddit :
Il n'existe pas nativement sur les distributions GNU/Linux mais vous pouvez l'installer facilement sur tous les systèmes.
De mon côté sur mon Arch c'était très facile :
sudo pacman -S neofetch
Le rendu est le suivant :
Si vous souhaitez le personnaliser, il existe un grand nombre d'article et d'options sur cet outil. Vous n'avez qu'à rajouter -help ou chercher sur DuckDuckGo !
J’espère que cet article vous aura plu, si vous avez des questions ou des remarques sur ce que j’ai pu écrire n’hésitez pas à réagir avec moi par mail ou en commentaire ! N’hésitez pas à me dire également si ce genre d’article vous plaît !
Merci pour votre lecture et à bientôt !