> Tech > Performances des commandes

Performances des commandes

Tech - Par iTPro - Publié le 24 juin 2010
email

  Au fur et à  mesure que vous connaîtrez Linux, vous trouverez d'autres analogies avec vos commandes OS/400 préférées. Quand je travaille en OS/400, j'utilise souvent WRKCMD (Work with Commands) pour trouver des noms de commandes oubliés. Ainsi, WRKCMD FND donne la liste de toutes les commandes commençant par FND. J'ai

découvert avec plaisir que Linux a une fonction similaire. Sur l’écran shell Linux, tapez n’importe quel préfixe (find, par exemple) et appuyez sur la touche Tab. Linux affichera les commandes incluant ce préfixe :

find
find find2per1 findaffix
findchip findsmb

  En OS/400, vous mettez tous les fichiers source de longueur fixe, les fichiers à  membres multiples et utilisez la commande de Program Development Manager (PDM) WRKMBRPDM (Work with Member) pour visualiser la source. Mais Linux n’est pas un club réservé aux membres. Chaque source de programme Linux va dans son propre fichier dans un sous-répertoire spécifique. Par convention, ces fichiers sont dits « src » pour indiquer qu’ils contiennent du code source. Une autre commande OS/400 PDM que j’utilise fréquemment est FNDSTRPDM (Find String), qui trouve les membres source contenant une chaîne donnée. La commande Linux correspondante (mais bien plus puissante) est grep (general-purpose regular expression parser). La commande suivante, par exemple, permet de visualiser tous les fichiers source Java dans un répertoire courant qui utilisent le package de classes SQL de Java :

grep java.sql *.java

Cette commande recherche la chaîne java.sql dans tous les fichiers ayant le suffixe .java et affiche chaque ligne correspondante avec le nom du fichier qui la contient. Parce que c’est une forme d’Unix, Linux permet d’effectuer de nombreuses tâches de multiples manières ; une autre méthode (reconnue plus complexe) pour accomplir la même tâche, utilise la commande suivante :

find . name _*. 'java' print | xargs grep java.sql

(Notons que la barre oblique inverse (\) à  la fin de la première ligne indique simplement que le reste de la commande continue sur la ligne suivante. J’utilise ici l’opérateur de continuation pour respecter la largeur de colonne de l’article.) Ce fragment de code combine en réalité trois commandes. La première est find, qui donne la liste de tous les fichiers avec le suffixe .java sur l’unité de sortie imprimée standard. La deuxième est xargs, qui prend des lignes à  partir des informations transmises à  l’unité de sortie standard et les envoie individuellement à  une autre commande. La troisième commande, qui reçoit la sortie de xargs, est grep. L’utilitaire grep regarde si l’option string (java.sql dans ce cas) existe dans un fichier.

  Linux pratique le « piping » qui permet d’utiliser la sortie d’une commande comme entrée dans une autre. L’opérateur piping est la barre verticale (|). J’aurais pu exécuter les commandes find et grep individuellement, mais ce faisant j’aurais dû exécuter manuellement la commande grep pour chaque nom de fichier que la commande find liste. On peut utiliser la fonction piping avec imagination pour développer des commandes personnalisées.

Téléchargez gratuitement cette ressource

Microsoft 365 : Guide de Sauvegarde & Sécurité renforcée

Microsoft 365 : Guide de Sauvegarde & Sécurité renforcée

Découvrez dans ce Guide iTPro, les bonnes pratiques et solutions technologiques pour sauvegarder et sécuriser les données et les identités Microsoft Office 365. Ce nouveau guide pratique et opérationnel a été réalisé par les experts DIB France.

Tech - Par iTPro - Publié le 24 juin 2010