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

Utilisation de WC

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

Utilisation de WC

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 :

Utilisation de chage

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 :

Utilisation de chage

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 :

Résultat commande chage

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]

Utilisation commande tr(anslate)

Ou encore pour supprimer des espaces :

tr -d ' '

Suppression des espaces avec chage

Et même supprimer les suites de caractères :

1tr -s 'e'
2tr -s 'u'
3tr -s 'eu'

Suppression des caractères avec chage

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 :

Utilisation de neofetch

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 !