La semaine dernière, nous avons lancé notre série Linux Hands-On pour créer une série structurée qui informe et éduque le lecteur sur ce qu'est Linux, comment il fonctionne, et en même temps, en veillant à ce qu'il se salisse les mains en essayant des commandes de terminal.
Comme mentionné dans la première partie de la série, la série entière sera une progression logique chaque semaine. Cela signifie que cette partie n'aura de sens que si vous avez parcouru la première partie et essayé toutes les commandes ou si vous avez les connaissances de base sur Linux et peut s'y retrouver. Si vous n'êtes pas familier avec ces concepts, assurez-vous lire la première partie, et vous pouvez alors vous lancer directement.
Dans le post de cette semaine, nous allons développer ce que nous avons couvert dans le post précédent et vous dire comment vous pouvez faire des choses plus compliquées. Si vous avez des questions comme comment éditer des fichiers sous Linux ? Comment afficher un processus sous Linux, etc., cet article y répondra. Alors sans perdre plus de temps, passons directement aux commandes.
Nous diviserons les commandes en sections afin qu'il soit logique de les parcourir une par une.
Qu'allez-vous apprendre
- La gestion des fichiers
- Correspondance de motif
- Processus : visualisation et mise à mort
- Modification de fichiers texte
Bon, maintenant que nous avons une structure de base, passons en revue un par un.
Dans le post précédent, vous avez appris comment créer des fichiers sous Linux et comment les supprimer. Développons là-dessus et voyons d'abord comment afficher le contenu d'un fichier.
Commande de chat
Afin de visualiser le contenu d'un fichier, nous utilisons la commande cat. La définition de manuel de cette commande est que – la commande cat lit séquentiellement un fichier et imprime la sortie sur la sortie standard. En termes simples, cela signifie que le fichier imprime le contenu d'un fichier ligne par ligne.
Utilisons un exemple pour voir comment fonctionne la commande cat, n'est-ce pas ?
Voici la syntaxe :
chat NOM DE FICHIER
Remplacez le NOM DE FICHIER avec l'un des vôtres. Comme vous pouvez le voir ci-dessous, la commande vient d'imprimer le contenu des fichiers ghost.txt au format ligne par ligne :

Maintenant que nous savons comment afficher le contenu d'un fichier, apprenons à ajouter du contenu à un fichier directement depuis le terminal, sans utiliser d'éditeurs (ne vous inquiétez pas, cela arrivera très bientôt).
Opérateurs de redirection sous Linux
L'une des façons dont vous pouvez ajouter (écraser ou ajouter) contenu dans un fichier est en utilisant l'un des opérateurs de redirection. En termes simples, les opérateurs de redirection permettent aux utilisateurs de contrôler l'entrée et la sortie d'une commande.
De ce qui vous a échappé, voici un exemple plus pertinent. Rappelez-vous ce que la commande echo a fait ? Il a imprimé une chaîne au terminal. La chaîne était la sortie de la commande echo. En utilisant l'un des opérateurs de redirection, vous pouvez réellement utiliser cette sortie et l'écrire dans un fichier.
Assez parlé, voyons comment fonctionne l'opérateur de redirection avec un exemple.
Voici la syntaxe de l'opérateur de redirection :
fichier redirection_operator de commande
Ici, la commande est la commande de terminal qui produira une chaîne et le fichier est le fichier réel qui acceptera cette sortie. Il existe plusieurs opérateurs de redirection disponibles, mais limitons notre champ d'application à l'écriture dans des fichiers.
Pour ce faire, nous pouvons utiliser l'un des deux opérateurs de redirection, c'est-à-dire, > et de >>
Dans la capture d'écran suivante, vous pouvez voir comment cela fonctionne. J'ai montré dans le terminal que le fichier est initialement vide à l'aide de la commande cat, puis j'ai ajouté du contenu au fichier à l'aide de la commande echo et finalement imprimé le contenu à l'aide de la commande cat.
Le > l'opérateur travaille en mode écrasement. Cela signifie que si vous utilisez le > opérateur pour écrire le contenu dans un fichier, son contenu précédent sera écrasé. Ceci est montré dans la capture d'écran ci-dessous. Comme vous pouvez le voir, le contenu précédent a été remplacé par le nouveau.

Maintenant, la question évidente est que faire si vous ne voulez pas remplacer le contenu existant ? Eh bien, il existe une version de l'opérateur de redirection qui fait exactement cela.
Afin d'ajouter à un fichier, au lieu d'utiliser le > nous utilisons >>
Voici la syntaxe :
commande >> nom de fichier
Et vous pouvez voir un exemple d'utilisation dans la capture d'écran ci-dessous, le contenu a été ajouté. Plutôt chouette, non ? D'accord, il n'offre pas la même flexibilité qu'un éditeur de texte, mais pour les cas d'utilisation plus petits, il fait assez bien le travail.

Très bien, avancez !
Maintenant que nous savons comment ajouter du contenu à un fichier et comment les afficher, que diriez-vous d'apprendre à trouver des fichiers dans le système de fichiers ?
trouver la commande
Afin de rechercher des fichiers dans votre système de fichiers, nous utilisons la commande find. La commande fait essentiellement ce qu'elle prétend faire. Il trouve un nom de fichier donné ou un modèle d'expression régulière.
La syntaxe de base pour le même serait la suivante:
trouver le chemin -expression du nom
Comme toujours, remplacez les espaces réservés par vos propres valeurs.
Le chemin indique à la commande find dans quel répertoire rechercher le fichier donné. Les prénom L'option spécifie un modèle auquel la recherche doit être comparée.
Voyons comment fonctionne la commande find dans un exemple d'utilisation.

Comme on le voit ci-dessous dans l'exemple de sortie, la commande recherche tout .exe fichiers dans mon système de fichiers et les affiche sur la console. Maintenant que nous avons certaines des commandes de manipulation les plus complexes à notre actif, allons un peu plus loin.
Nous allons maintenant voir comment rechercher des éléments dans un fichier.
Commande grep
grep signifie Expression régulière globale et bien que nous couvrirons cela dans un prochain article, l'explication de base de ce que cela signifie est qu'il s'agit simplement d'un modèle que grep utilise pour vérifier les chaînes afin de trouver une correspondance. Ne vous inquiétez pas si cela n'a pas beaucoup de sens. Nous le couvrirons en détail dans la partie 3.
Très bien, testons grep. Voici la syntaxe de notre test :
grep -i "chaîne pour correspondre" nom de fichier.extension
Le - je L'option dira à grep d'ignorer la casse, donc "HO" "ho" et "hO" seront considérés comme identiques. La chaîne à comparer est spécifiée sous des guillemets qui sont ensuite suivis du nom de fichier.

Très bien, voyons comment la commande grep dans une démo.Comme vu ci-dessus, mon exemple montre l'utilisation de grep dans les deux modes sensibles à la casse et en mode non sensible à la casse.
Il convient de noter à ce stade qu'il existe n combinaisons différentes pour une commande et plusieurs options pour l'accompagner. Ce que je fais ici, c'est vous donner un cas d'utilisation général arrondi qui fonctionnera pour la plupart des cas simples, mais au cas où vous voudriez tout faire, vous pouvez certainement faire appel à un homme sur la commande pour déterminer toutes les options disponibles à utiliser avec le commander.
Voyons ensuite comment comparer 2 fichiers différents ligne par ligne.
Commande diff
Afin de voir en quoi 2 fichiers diffèrent (vous comprenez ?), nous utilisons la commande diff. Il est préférable de le voir en action pour comprendre comment cela fonctionne réellement, alors allons-y.
Voici la syntaxe de la commande diff :
fichier diff1 fichier2
Et voici un exemple d'utilisation de la commande diff Linux :

À première vue, cela peut ne pas avoir de sens, alors décomposons le résultat.
La première ligne de la sortie diff contiendra :
- numéros de ligne correspondant au premier fichier
- une lettre (a pour ajouter, c pour modifier ou d pour supprimer)
- numéros de ligne correspondant au deuxième fichier.
Dans notre sortie ci-dessus, "1,3c1" veux dire: « Les lignes 1 à 3 du premier fichier doivent être modifiées pour correspondre aux lignes 1 du deuxième fichier. » Il nous indique ensuite quelles sont ces lignes dans chaque fichier :
- Les lignes précédées d'un < sont des lignes du premier fichier
- Les lignes précédées de > sont des lignes du deuxième fichier.
Ensuite, nous allons voir comment trouver des lignes répétées dans un fichier donné.
Commande uniq
La commande uniq est utilisée pour découvrir les lignes répétées ainsi que leur nombre et d'autres détails similaires. Si vous le faites, il dit qu'il est utilisé pour filtrer ou signaler les lignes répétées dans un fichier. Comme pour presque toutes les commandes, la commande uniq a également un tas d'options pour l'accompagner.
Mais par souci de concision et pour vous assurer d'apprendre un plus grand nombre de commandes au lieu d'en apprendre trop sur une seule commande, nous allons simplement tirer un exemple minimal, et vous pouvez approfondir davantage en utilisant la commande man.
D'accord, voici la syntaxe de la commande uniq :
uniq -options nom de fichier
Voyons maintenant un exemple pour savoir comment fonctionne la commande uniq sous Linux.

Décomposons l'échantillon très rapidement. Les -c L'option indique à la commande uniq d'imprimer un compter avec la sortie et l'option suivante est le nom de fichier qui est fourni à uniq.
Comme vous pouvez le voir dans l'exemple ci-dessus, il a imprimé le nombre de lignes répétées qui dans notre cas était de 2.
Cela devrait le faire pour toutes les commandes que vous devez savoir pour vous assurer que vous pouvez contourner les fichiers, mais il y a une partie très importante que nous n'avons pas couverte jusqu'à présent et c'est autour des droits d'accès.
Vous voyez dans le monde réel, vous ne voulez pas que tous vos fichiers aient un accès global en lecture-écriture, ce qui signifie que n'importe qui peut simplement marcher et apporter des modifications à un fichier. Certains fichiers doivent être protégés contre la falsification. C'est là qu'intervient le contrôle d'accès, et Linux et Unix le gèrent tous les deux étonnamment bien avec cette prochaine commande.
Commande chmod
La commande chmod signifie changement de mode et vous permet essentiellement de modifier la manière dont un fichier est accessible et par qui.
La syntaxe de chmod est assez simple et ressemble à ceci :
chmod -options autorisations nom de fichier
Alors que les options et le nom de fichier n'ont pas besoin d'être élaborés, le autorisations partie a besoin d'explications.
Les autorisations de fichiers sous Linux tournent autour de 3 portée, utilisateur, groupe, et de autres. Les autorisations sont à leur tour de 3 types lire, écrire, et de exécuter. Cela signifie que chaque étendue a 3 autorisations, ce qui fait un total de 3 ensembles d'étendues avec 3 autorisations dans chacune.
En gardant cela à l'esprit, voici un exemple d'utilisation pour vous montrer comment fonctionne chmod :
chmod u=rwx, g=rx, o=r nom_fichier.txt
Ici u peuplements pour utilisateur, g à groupe et de o à autres. Et le = signe est utilisé pour attribuer l'autorisation lire (r), écrire (w), et de exécuter (x) à chaque portée. La virgule sépare chaque devoir.

Il existe un raccourci pour attribuer les autorisations et il utilise la notation octale. En notation octale :
- 4 signifie lire
- 2 signifie écrire
- 1 signifie exécuter
- 0 signifie pas d'autorisation
Donc, selon la notation ci-dessus, le nombre 7 accordera l'autorisation de lecture, d'écriture et d'exécution (4 + 2 + 1). Vous pouvez le mélanger et le faire correspondre en conséquence et voici un exemple de cas d'utilisation utilisant la notation octale :
chmod 755 starwars.txt

Dans cet exemple, le fichier starwars a :
- autorisation de lecture, d'écriture et d'exécution pour l'utilisateur.
- lire et exécuter pour le groupe.
- exécuter les autres.
Bien! nous approchons de la fin de la partie gestion des fichiers de la publication. Cette dernière commande vous permettra d'archiver un fichier/compresser un fichier. L'archivage d'un fichier est pratique lorsque vous souhaitez déplacer un tas de fichiers sur plusieurs systèmes tout en évitant de les corrompre.
Commande tar
La commande tar signifie archive sur bande et vous permet de créer, de manipuler et d'extraire les fichiers archivés.
Voici la syntaxe de base de la commande pour voir comment cela fonctionne :
tar -options nom_fichier1 nom_fichier1 …. nom de fichierN
Voyons un exemple d'utilisation avec quelques options. Il est fortement recommandé de jouer avec l'échantillon, puis de l'explorer par vous-même pour découvrir des cas d'utilisation plus intéressants.
tar -c -f compressé.zip ghost.txt starwars.txt

Décomposons-le. Les -c et de -f Les commandes ne sont que quelques-unes parmi une liste de nombreuses, mais voici ce qu'elles font. Les -c option indique à la commande de créer une nouvelle archive et de -f est utilisé pour spécifier le nom du fichier pour l'archive qui dans ce cas est compressée.zip, la commande tar permet de créer des archives dans .zip, .tar, .rar et d'autres formats, alors assurez-vous de choisir celui qui correspond à vos besoins
Maintenant que vous savez comment compresser des fichiers, voyons comment les extraire. Nous utilisons le -x et de -f options sur la commande tar pour extraire un fichier, le -x l'option dit à tar extraire le fichier et de -f est utilisé pour spécifier le nom du fichier comme le montre l'exemple ci-dessous :

D'accord, nous avons enfin dépassé la partie gestion des fichiers de la publication. Hourra! Vous avez fait un excellent travail en venant jusqu'ici. Nous allons parler des processus maintenant.
Dans la terminologie Linux, un processus est un programme en cours d'exécution, effectuant une tâche spécifique. Les processus sont dynamiques et changent constamment lorsque l'utilisateur passe d'une application à l'autre.
Le Documentation Linux parle des processus en détail et je vous encourage à lire une fois que vous avez terminé avec ce post.
Maintenant que nous savons ce qu'est un processus, voyons comment les visualiser.
Commande ps
La commande ps nous permet de voir quels processus s'exécutent actuellement sur une machine. Il est livré avec une variété d'options, mais voici une utilisation minimale qui montre tous les processus en cours d'exécution en tant que root.
La syntaxe est la suivante
ps-option
Dans notre cas, nous utiliserons le -u option qui affichera le processus exécutés en tant que root.

Maintenant que vous savez comment visualiser les processus, que diriez-vous d'apprendre à les tuer ?
tuer la commande
La commande kill est utilisée pour tuer ou terminer un processus donné sans se déconnecter ni redémarrer l'ordinateur. Il convient de noter que la commande kill ne tue pas réellement un processus, elle envoie seulement un signal à un processus et le signal indique au processus ce qui doit être fait. Par défaut lorsqu'aucun signal n'est spécifié, un signal 15 appelé SIGTERME est envoyé au processus et en cas d'échec, un signal plus fort 9SIGKILL est envoyé au processus, mais pour la plupart des cas d'utilisation normaux, tout ce que vous devez spécifier pour tuer un processus est qu'il est PID.
Voici la syntaxe de la commande kill :
kill [signal ou options] PID
Et voici une démo :

Soyez très prudent lorsque vous tuez un processus. Tuer un processus critique du système peut entraîner un comportement anormal de votre machine. Si vous y parvenez quand même, assurez-vous de redémarrer votre système une fois pour restaurer son exécution normale.
D'accord, maintenant que nous avons couvert quelques points avec les commandes de terminal, parlons d'un moyen simple d'apporter des modifications/ajouter du contenu à un fichier. Nous utilisons tous des éditeurs de texte comme Visual Studio Code ou Atom, mais puisque le but de cette série est de vous mettre à l'aise avec le terminal, pourquoi ne pas explorer un éditeur de base dans le terminal lui-même ?
Commande nano
Nano (croyez-moi) signifie Nano ANNÉEC'est un éditeur gratuit, léger et open source qui vous permet d'éditer des fichiers dans le terminal est un éditeur de texte natif comme un environnement avec les commandes habituelles que vous connaissez.
Pour invoquer nano/ouvrir un fichier dans nano, vous saisissez la commande dans la syntaxe suivante :
nano NOM DE FICHIER
Si le fichier existe, nano l'ouvrira et dans le cas contraire, il créera un nouveau fichier avec ce nom et l'ouvrira. L'éditeur en lui-même est assez minimal et contrairement à son frère aîné (et détesté) Vim/Vi, il ne vous rend pas fou avec les commandes notoirement difficiles. Pour naviguer dans le fichier, vous utilisez les touches fléchées habituelles. Pour supprimer du contenu, vous utilisez toujours la touche Suppr/Retour arrière et pour gérer votre presse-papiers, vous utilisez les touches Ctrl+C, Ctrl+V, etc.

L'éditeur présente les opérations les plus utilisées, comme quitter l'éditeur pour vous dans la moitié inférieure de l'écran. Avant de quitter en utilisant Ctrl+X, vous serez invité à enregistrer les modifications que vous avez apportées. Bien sûr, Vim existe depuis plus longtemps, mais à mon avis, ce n'est rien de plus qu'un laissez-passer pour la culture hippie. Le plus que vous puissiez tirer d'être un pro chez Vim serait de vous vanter, et cela s'arrête là lui-même. Il n'y a absolument aucune raison de perdre son temps précieux à apprendre à utiliser Vim. Cela étant dit, nous sommes enfin arrivés à la fin de la partie 2.
Commandes Linux pour les utilisateurs intermédiaires : résumé
Dans la partie 2 de la série Linux Hands On, nous avons construit sur la base que nous avons posée dans Partie 1. Nous nous sommes déplacés en manipulant des fichiers et en les manipulant. Nous avons également appris un tout nouveau concept appelé processus et comment les tuer. Et nous avons clôturé cette partie avec un aperçu de l'éditeur de texte Nano. Ce serait tout pour cette semaine. Jusqu'à ce que nous revenions la semaine prochaine avec la partie 3, assurez-vous de vous donner suffisamment de temps pour jouer avec la commande partagée dans cet article. Ne vous laissez pas submerger par le nombre de commandes disponibles, il faut beaucoup de temps pour que ces choses deviennent de la mémoire musculaire. Jusqu'à ce que cela se produise, l'expérience pratique est votre meilleur ami.
Manas Chaudhary
Merci pour ces séries Linux. J'ai parcouru tout cela à fond et je l'ai trouvé vraiment utile. Surtout des vidéos. Parfois, il est difficile de suivre l'article, alors j'ai téléchargé la vidéo et l'ai apprise. Maintenant, je sens que je connais une bonne quantité de Linux pour commencer à y faire quelque chose. Merci pour ces messages qui m'ont beaucoup aidé.