Programmation en Ruby. Terminal pour débutants - partie 2
Damian Watroba
Software Engineer
Cette fois-ci, nous avons préparé une autre série de commandes utiles pour vous aider à vous familiariser avec l'utilisation du terminal. La première partie du tutoriel se trouve ici : Terminal pour débutants - partie 1.
Terminal - Théorie
Où suis-je ?
date - Si nous avons ce besoin et ce désir, nous pouvons vérifier la date actuelle dans le terminal.
damian@rubydev:~$ date
omc, 7 sty 2020,
Adhésion et inscription
chat (concaténer) - cette commande a de nombreuses utilisations, mais la plus populaire est l'affichage du contenu des fichiers.
Dans l'exemple ci-dessous, vous pouvez voir deux fichiers - ruby_1.txt et ruby_2.txt - ainsi que leur contenu. Les cat [nom du fichier] affiche le contenu d'un seul fichier, tandis que la commande cat [nom du fichier 1] [nom du fichier 2] affiche le contenu des deux fichiers dans le bon ordre.
Il y a encore une chose que nous pouvons faire avec la chat rediriger la sortie standard vers un nouveau fichier à l'aide de la commande > signe. Cela signifie que le contenu affiché à l'écran sera redirigé vers un fichier déclaré. Si le fichier indiqué n'existe pas à l'emplacement spécifié, il sera créé automatiquement.
Qu'avons-nous ici ?
ps (état des processus) - affiche des informations de base sur les processus du système. Cette commande est comparable au gestionnaire des tâches de Windows, qui fournit une liste de toutes les applications et de tous les processus en cours d'exécution. Chaque application, programme ou commande en cours d'exécution devient un processus avec son identifiant unique, appelé PID (Process IDentifier).
Comme vous pouvez le constater, le ps ne nous a pas montré grand-chose. Pour vérifier tous les processus actifs, nous devrons appeler ps avec un aux argument.
Il s'agit d'un processus de traitement des données sur le système, qui peut être exécuté sous BSD :
ps ax
ps axu
tuer - Il arrive qu'une application ou un programme ne réponde plus. C'est dans ce cas que le tuer s'avère très utile. Pour tuer un processus, il vous suffit de compléter le formulaire de demande d'autorisation. tuer avec son PID.
Comment trouver le PID de ce processus ? Le mieux est d'utiliser la fonction ps aux commande. Il peut arriver que tuer ne suffit pas, car le processus attend la fin d'un autre processus dépendant. C'est pourquoi, tuer est également souvent utilisé avec le -9 (option de fermeture). Cela signifie l'arrêt immédiat du processus en cours, donc avant d'utiliser cette option, assurez-vous que tous les changements importants ont été sauvegardés. Voyons un exemple de commande de ce type :
damian@rubydev:~$ kill -9 1234
Echo !
écho - c'est la commande qui renvoie le texte qui lui a été confié. Comme dans le cas de chatvous pouvez diriger le texte saisi vers un fichier à l'aide de la fonction écho commandement.
Il peut être utile
Lorsque vous souhaitez consulter l'historique des commandes précédemment saisies, vous pouvez utiliser la commande l'histoire commandement.
Si vous voulez effacer la fenêtre du terminal, vous avez besoin de l'option clair commandement.
Les sortie comme son nom l'indique, ferme le terminal ou l'onglet actuellement ouvert.
Le début et la fin
Les tête affiche le début d'un fichier ou de la sortie standard. La valeur par défaut est les dix premières lignes. Vous pouvez la personnaliser à l'aide de la commande -n où vous pouvez mettre n'importe quel nombre entier sous n. Pour mieux l'illustrer, je prendrai un exemple.
Nous aurons besoin d'un fichier texte. Utilisons l'outil déjà mentionné l'histoire et la commande de redirection > caractère.
damian@rubydev:~$ history > history.txt
De cette manière, un fichier contenant l'historique complet des commandes a été créé. Ensuite, en utilisant head -15 history.txtil est possible d'afficher les quinze premières commandes entrées dans le terminal.
De même, le queue nous montrera les dernières lignes du fichier sélectionné.
Recherche
grep (impression globale d'expressions régulières) est utilisé pour rechercher dans le texte une chaîne de caractères correspondant à l'expression régulière donnée (RegExp). Elle est très souvent utilisée pour trouver une expression spécifique dans un fichier ou pour "filtrer" le résultat obtenu. À cette fin, utilisons l'expression régulière précédemment créée histoire.txt et vérifiez la fréquence à laquelle le fichier ps a été utilisée jusqu'à présent :
damian@rubydev:~$ grep ps history.txt
82 echo "Lorem ipsum rubydev 1" > ruby_1.txt
84 echo "Lorem ipsum rubydev 2" > ruby_2.txt
92 ps
93 ps aux
94 ps --help
95 man ps
96 ps -h
98 ps --help
99 ps -ejH
100 ps aux
101 man ps
102 ps -aux
103 ps aux
109 history | grep ps
113 echo "lorem ipsum rubydev" > rubydev.rb
Comme vous pouvez le constater, grep a également trouvé des mots qui contiennent l'expression ps. L'expression utilisée dans notre exemple était ps seulement. Je prévois d'écrire un article séparé sur les expressions régulières, mais pour l'instant je vous encourage à explorer le sujet par vous-même. Des connaissances de base sont suffisantes pour l'instant.
Combinaison de commandes
| (pipe) est un symbole qui permet de combiner plusieurs commandes (processus) et de les lancer en même temps. Plus précisément, nous pouvons combiner la sortie (stdout) d'une commande avec l'entrée (stdin) d'une autre. Il s'agit d'une fonctionnalité très utile.
La sortie (stdout) de la fonction l'histoire sera recherchée par la commande grep et renvoie toutes les chaînes de caractères contenant la chaîne de caractères correspondante. ps l'expression.
historique | queue -5
Dans ce cas, l'utilisation de la fonction queue avec la commande -5 affichera les cinq dernières lignes de la sortie (stdout) de l'application l'histoire commandement.
Cette combinaison est particulièrement utile pour rechercher le PID du processus que vous souhaitez interrompre. Rappelez-vous que l'exécution de la commande grep créera également un processus, de sorte que vous verrez généralement le PID de la commande grep dans la dernière ligne.
Accès aux fichiers et aux répertoires
Avant d'aborder la commande permettant de modifier le type d'autorisation d'accès, il convient de mentionner que chaque système d'exploitation dispose de ce que l'on appelle des droits d'accès. Cela signifie que chaque répertoire ou fichier contient des métadonnées sur les personnes qui y ont accès. La première colonne de la "sortie" suivante nous renseigne à ce sujet (informations de sortie affichées dans la fenêtre du terminal) :
historique | queue -5
L'accès aux fichiers et aux répertoires est défini par trois éléments. Le premier (utilisateur) désigne un utilisateur unique, le deuxième (groupe) désigne un groupe, tandis que le troisième (autre) s'applique à tous les autres utilisateurs.
d - détermine s'il s'agit d'un répertoire ou d'un fichier (d - répertoire, f - fichier)
rwx - droits des utilisateurs
r-x - les autorisations pour le groupe
r-x - autorisé pour tous les autres utilisateurs
Pour simplifier, on peut la diviser en trois parties :
Venons-en maintenant à la signification même de ces droits :
r (lire) - permet de lire le contenu
w (écrire) - permet de modifier le contenu
x (exécuter) - permet d'exécuter un fichier ou d'ouvrir un répertoire
Les droits d'accès aux fichiers et aux répertoires peuvent être modifiés à l'aide de la commande chmod (changement de mode). La manière la plus simple de modifier les autorisations est d'utiliser le système intégré et de fournir le numéro de l'autorisation pour l'utilisateur, le groupe et d'autres.
Pour mettre ces connaissances en pratique, modifions les permissions pour les objets énumérés précédemment widéo pour les groupes et les autres utilisateurs - supprimer toutes les autorisations pour ces deux groupes, mais laisser l'autorisation complète pour l'utilisateur unique. Selon le tableau ci-dessus, "aucun droit" est indiqué par le chiffre 0. Immédiatement après la chmod vous devez insérer trois chiffres, chacun spécifiant les droits pour la catégorie donnée (utilisateur - groupe - autres). À la fin, indiquez le nom du fichier ou du répertoire. La commande doit ressembler à ceci :
damian@rubydev:~$ chmod 700 Wideo
damian@rubydev:~$ ls -l | tail -1
drwx------ 2 damian damian 4096 sty 6 17:41 Wideo
Résumé
Il existe toute une série d'autres commandes et le moyen le plus simple de les maîtriser est de s'entraîner à résoudre des problèmes spécifiques. Si vous souhaitez en savoir plus sur ces commandes, Je recommande le lexique des commandes du Pocket Linux. A mon avis, c'est une façon agréable de tuer le temps dans les transports publics.