Maison  >  Article  >  Opération et maintenance  >  Que signifie le shell Linux ?

Que signifie le shell Linux ?

青灯夜游
青灯夜游original
2022-11-11 11:18:571957parcourir

Sous Linux, shell fait référence à « shell », qui est « l'interpréteur de ligne de commande » qui existe sur le système d'exploitation. Il fait référence à une interface de commande orientée utilisateur, qui s'exprime sous la forme d'une interface pouvant être saisie. par l'utilisateur. Les informations de fonctionnement de cette interface peuvent également être renvoyées. Les fonctions du shell : 1. Traduire les commandes de l'utilisateur vers le noyau pour traitement ; 2. Traduire les résultats du traitement du noyau (noyau) vers l'utilisateur ;

Que signifie le shell Linux ?

L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.

Le programme shell de Linux est appelé shell (interpréteur de ligne de commande), qui fait référence à une interface de commande orientée utilisateur, qui s'exprime comme une interface qui peut être saisie par l'utilisateur. Cette interface peut également renvoyer des informations en cours d'exécution

. Les fonctions du shell sont :

  • Traduire les commandes vers le noyau

  • Traduire les résultats du traitement Kernl aux utilisateurs

Généralement, le shell que nous utilisons est bash.

Lors de l'interprétation d'une commande, bash ne participera pas directement à l'interprétation, mais créera un nouveau processus pour interpréter la commande. Bash n'a qu'à attendre le résultat, ce qui garantit la sécurité du processus bash.

1. Shell

1. Raisons

Lorsque nous utilisons Linux, nous disons tous que par rapport à Windows, Linux n'a pas d'interface graphique, nous utilisons donc la ligne de commande pour fonctionner. Mais la méthode en ligne de commande n’est pas une opération directe de l’ordinateur. Nous savons que la couche inférieure de l'ordinateur est en réalité composée de 0 et 1

La transmission de chaque commande sera finalement convertie en signaux 0,1 et transmise à l'ordinateur pour que celui-ci exécute les instructions correspondantes. Mais si tout le monde utilise les ordinateurs de cette manière, ce sera sans doute très difficile.

2. Fonction

Le système d'exploitation Linux sert de cœur (noyau)

, et les utilisateurs

ne peuvent pas l'utiliser directement . Au lieu de cela, il communique avec l'ordinateur via shell. La définition anglaise de "shell" est "shell", qui est le "interpréteur de ligne de commande" qui existe sur le système d'exploitation, qui est utilisé pour traduire les commandes de l'utilisateur vers le noyau pour traitement), puis traduit le. le traitement des résultats vers l'utilisateurshell peut en fait être considéré comme un traducteur

entre l'utilisateur et le système d'exploitation. L'utilisateur et le système d'exploitation ne comprennent pas la langue et ne peuvent pas communiquer directement

, mais via le shell. traduction3. Shell Windows et Linux

(1) windows

Lors de l'utilisation de Windows, l'utilisateur ne peut pas faire fonctionner directement le noyau de Windows, mais est formé en cliquant sur le shell Interface graphique pour effectuer les opérations associées

(2) Linux

Sous Linux, le shell analyse nos instructions, transmet les instructions analysées au noyau Linux, renvoie les résultats puis

les exécute à travers le noyau Sortez le résultat

et analysez le résultat à l'utilisateur via le shell 4. Signification de l'existence

(1) Faciliter la communication entre l'utilisateur et le système d'exploitation

Grâce le shell, l'utilisateur peut utiliser davantage Utilisez le système d'exploitation de manière simple, et le coût d'apprentissage sera considérablement réduit.

(2) Protéger le système d'exploitation

Un autre objectif de l'existence du shell est de protéger le système d'exploitation. En interceptant les instructions utilisateur illégales ou invalides,

empêchez le système d'exploitation d'effectuer des opérations inutiles ou nuisibles

. Par exemple, si nous saisissons une chaîne de caractères tronqués sous Linux, le shell interceptera la commande et retournera

Que signifie le shell Linux ?5 Mode d'exécution

Lorsque le shell exécutera la commande, il exécutera l'utilisateur en. bifurquer un processus enfant. La commande et le

shell lui-même n'exécutent généralement pas la commande correspondante

. Vous pouvez considérer shell lui-même comme un

président d'une entreprise d'expédition de traduction

Lorsque les utilisateurs ont des besoins de traduction, ils envoient des demandes à Shell. En tant que président d'une entreprise d'expédition, Shell ne vient généralement pas fournir de services. personne, mais dépêche ses subordonnés. D'autres traducteurs se mettent en service pour faire face aux besoins nombreux et complexes. Ces traducteurs externalisés ne sont qu'un sous-processus.

2. Autorisations Linux

1. Le concept d'autorisations Linux

Les autorisations sont les contraintes imposées aux utilisateurs dans le système d'exploitation

(1) Classification des utilisateurs

Sous Linux, les utilisateurs sont divisé en deux sortes. L'un est superuser, qui est root. L'autre concerne les utilisateurs ordinaires.

1. Super utilisateur (root)

Il n'y a qu'un seul utilisateur root. Dans le même temps, l'utilisateur root dispose des autorisations les plus élevées sur le système d'exploitation.

On peut penser que l'utilisateur root du système d'exploitation est comme l'empereur d'un pays ancien et n'est lié par aucune disposition légale. Sous l'utilisateur root, l'exécution d'une commande ne sera pas limitée par les autorisations. Vous pouvez accéder aux fichiers d’autres utilisateurs ordinaires, les modifier et les supprimer. Vous pouvez effectuer des opérations telles que la suppression du répertoire racine et de la base de données du système d'exploitation, ce qui entraînera de graves dommages, voire un crash du système d'exploitation. Par conséquent, le mot de passe du compte root doit être défini sur un mot de passe complexe et bien conservé. L'invite de commande de

utilisateur root

est

"#"

2 Utilisateurs ordinaires

Les utilisateurs ordinaires peuvent en avoir plusieurs . Les utilisateurs ordinaires seront soumis à des contraintes d'autorisation. Ces contraintes d'autorisation proviennent du système et des utilisateurs root.

L'invite de commande pour les utilisateurs ordinaires est

"$"

(2) Changement d'utilisateur

Sous Linux, vous pouvez utiliser la commande "su" pour changer d'utilisateur

Ici, vous Pour vous connecter à un compte, vous devez saisir le mot de passe de ce compte. Par conséquent, essayez de définir un mot de passe différent pour chaque compte

Que signifie le shell Linux ?Pour vous déconnecter du compte, entrez

exit

ou utilisez la touche de raccourci

"ctrl d"

Remarque :

Pour les utilisateurs ordinaires, appuyez sur " su" et vous devez saisir le mot de passe de l'utilisateur correspondantQue signifie le shell Linux ?. Cependant,

Dans "su" sous l'utilisateur root, il n'est pas nécessaire de saisir le mot de passe utilisateur correspondant

Que signifie le shell Linux ? (3) Ne changez pas d'utilisateur pour exécuter les instructions correspondantes

Si nous le sommes utilisateurs ordinaires, mais à ce stade, nous avons besoin de

L'exécution d'une instruction nécessite les privilèges root

, et nous ne voulons pas changer d'utilisateur pour l'exécuter, nous pouvons donc utiliser la commande « sudo ». Cette commande peut augmenter brièvement les privilèges des utilisateurs ordinaires . Remarque : Lors de la saisie du mot de passe, vous saisissez le mot de passe de cet utilisateur, pas le mot de passe de l'utilisateur root

Mais à ce moment-là, nous obtiendrons l'erreur suivante :

C'est parce que

l'ordinaire l'utilisateur n'est pas un utilisateur de confiance rootQue signifie le shell Linux ?, cet utilisateur ordinaire n'existe pas dans le fichier root correspondant, ce qui entraîne l'impossibilité d'exécuter la commande "sudo"

2. Gestion des autorisations Linux

Sous Linux, les autorisations sont déterminé par "personne"et

Composé d'"attributs de chose"

. Personnes fait référence à l'utilisateur qui effectue l'opération, Attributs d'objet fait référence aux propriétés du fichier (1) Classification des visiteurs du fichier (personnes)

Sous Linux, les visiteurs du fichier sont divisés en trois catégories : propriétaire (onwer),

group (group)

, others (other). Contrairement aux utilisateurs root et aux utilisateurs ordinaires qui sont des personnes concrètes, les trois types de visiteurs de fichiers sont un concept relativement abstrait, qui peut être considéré comme un rôle. C'est L'identité des autres utilisateurs sous ce fichier. Par exemple, un utilisateur ordinaire peut apparaître comme le propriétaire et le groupe de fichiers dans son propre répertoire, mais peut apparaître comme étant les fichiers d'autres personnes pour d'autres utilisateurs1 La raison de l'existence du groupe auquel quelqu'un appartient.

Quelqu'un peut être confus, le propriétaire d'un fichier et d'autres sont faciles à comprendre Le propriétaire est le créateur du fichier, ​​et

autre est l'utilisateur autre que le créateur

. le groupe auquel appartient le fichier ?

Supposons maintenant que nous ayons une Équipe A et une Équipe B développant des produits sur la même machine Linux. À ce moment-là, les membres de l'équipe A ont implémenté un module et le chef d'équipe souhaite afficher le contenu du module. Si le propriétaire et d'autres existent sous Linux, parce que le propriétaire est nous-mêmes, alors lorsque le leader veut voir le code, nous devons libérer les autorisations des autres. Mais une autre équipe est également considérée comme autre par ce document Lâcher prise sur les autres signifie que non seulement le leader peut le voir, mais aussi l'autre équipe peut voir votre code, ce qui peut facilement provoquer une fuite de code. Pour éviter cette situation, vous devez appartenir à un groupe. Il suffit de ajouter le leader au groupe auquel appartient le fichier et de libérer les autorisations du groupe, afin de pouvoir ouvrir le code au leader sans ouvrir d'autres autorisations (2) Attributs de la chose

Nous avons maintenant le fichier test.c ci-dessus. Vous pouvez voir qu'il y a une longue liste d'attributs avant le nom de ce fichier. Auparavant, tout ce que nous savions était que

"25 octobre 16:43"Que signifie le shell Linux ? était l'

heure de la dernière modification

, et 100 était l'empreinte disque du fichier en octets. Mais nous ne connaissons pas les attributs précédents. 1. Visiteurs de fichiers

Nous avons également mentionné la classification des visiteurs de fichiers ci-dessus. En fait, la

première racine dans l'image ci-dessus représente le propriétaireQue signifie le shell Linux ?, et la

deuxième racine fait référence au groupe. appartient à

. Autre n'est pas affiché, car les utilisateurs autres que ces deux utilisateurs appartiennent à d'autres, et il n'est pas nécessaire d'afficher 2 Type de fichier

Nous savons tous que

Sous Linux, le suffixe du. le fichier n'a aucun sens Que signifie le shell Linux ?. Parce que Linux

ne distingue pas les types de fichiers

grâce aux suffixes de fichiers. Mais cela ne signifie pas qu’il n’existe pas de types de fichiers sous Linux. Les Les types de fichiers Linux se distinguent par "ll" comme premier caractère dans la première colonne de la colonne d'attribut affichée. Comme vous pouvez le voir sur l'image ci-dessus, les premiers caractères de test et test.c sont respectivement les caractères "d" et "-". Ces deux caractères correspondent en fait au type de fichier. 1) Types de fichiers courants sous Linux

- : Les fichiers ordinaires

incluent principalement le code source, les fichiers de bibliothèque, les programmes exécutables, les packages de compression de documents, etc.

d : Fichiers de répertoire

c : Fichiers de périphérique de caractères

Principalement du matériel, tel que des claviers, des moniteurs, etc.

b : Bloquer les fichiers de périphérique

tels que des disques

l : Lier des fichiers

En prenant Windows comme exemple, les raccourcis sur le bureau sont en fait C'est un fichier de lien. Le raccourci renvoie au programme de démarrage du logiciel correspondant. Sous Linux, nous exécutons la commande "ln -s a.out test" :

A ce moment, un

link file testQue signifie le shell Linux ? est créé pour le fichier a.out, et le début du fichier est en fait

"l"

, représente fichier de lienSi nous voulons exécuter un fichier.out, nous pouvons utiliser test :

p : fichier pipeline Que signifie le shell Linux ?

le fichier pipeline implique communication inter-processus , ici Ce n'est pas clair, il vous suffit maintenant de savoir qu'un tel fichier existe

3. Autorisations de fichier

Comme vous pouvez le voir, à l'exception du premier caractère ici qui est le type de fichier, il y en a. 9 personnage restant. En parallèle, on sait que

les visiteurs du fichier sont répartis en trois catégories1Que signifie le shell Linux ?, et parmi ces 9 caractères,

tous les trois caractères représentent une sorte de droits d'accès du visiteur

. (1) Classification des autorisations de fichiers

Les autorisations de fichiers sont divisées en trois catégories, à savoir "r", "w", "x" .

Le "r" signifie

lire

, ce qui signifie lire le fichier. "w" signifie écrire, c'est-à-dire modifier le contenu du fichier. '"x" représente exécuter, c'est-à-dire exécuter le fichier correspondant

Les autorisations visiteur de chaque fichier sont composées de ces trois autorisations. Trier par "rwx". Si l'autorisation correspondante est "-", cela signifie que l'autorisation

1Que signifie le shell Linux ?

est comme l'autorisation dans l'image ci-dessus "rwx -xr r-x", signifie que le propriétaire a lu, écrit et exécuté autorisations ; appartient au groupe a des autorisations de lecture et d'écriture, mais aucune autorisation d'exécution; Les visiteurs ont des autorisations de lecture et d'exécution, mais aucune autorisation d'écriture; Les espaces sont ajoutés ici juste pour faciliter la distinction. Il n'y aura pas d'espaces dans l'affichage réel

(2) Modification des autorisations

1 Modifier un par un

Les autorisations sous Linux prennent également en charge la modification, l'utilisation. "chomd" lors de la modification de Command. Par exemple, si nous voulons changer les autorisations de l'exécuteur dans l'image ci-dessous en "-wx", nous pouvons exécuter "chomd u-r test" :

1Que signifie le shell Linux ?

Sous cette forme, "u" représente le propriétaire , « - » signifie supprimer l'autorisation correspondante. Et « g » représente le groupe, et « o » représente les autres. Si vous souhaitez modifier les autorisations des autres visiteurs, modifiez simplement "u" en conséquence. Si vous souhaitez ajouter une sorte d'autorisation, vous pouvez changer "-" en "+".

Bien sûr, lors de l'ajout ou de la suppression d'autorisations, vous pouvez également utiliser le formulaire de visiteurs multiples et autorisations multiples, tel que "chmod u-rwx,g-rwx test":

1Que signifie le shell Linux ?

Si vous le souhaitez pour modifier les autorisations de tous les visiteurs , vous pouvez également changer "u, g, o" en "a" avec les autorisations correspondantes, qui ne seront pas démontrées ici.

2. Modifier le propriétaire du fichier et le groupe

Pour modifier le propriétaire du fichier, vous devez disposer des autorisations correspondantes, sinon vous devez utiliser "sudo"pour élever les droits. La commande pour modifier le propriétaire du fichier est "chown correspondant au nom du fichier utilisateur":

1Que signifie le shell Linux ?

Si vous souhaitez modifier le groupe , utilisez la commande "chgrp" , la méthode d'utilisation est la même que "chown" , ici je ne le démontrerai plus

Si vous souhaitez modifier le propriétaire et le groupe auquel il appartient en même temps, utilisez la commande "chown username:username file name". La méthode d'utilisation est la même :

1Que signifie le shell Linux ?

Ce qui est utilisé ici est qu'en tant qu'utilisateur root, sudo n'est pas requis pour l'utilisation, tandis que les utilisateurs ordinaires ont besoin de sudo.

Pour les autres, il n'est pas nécessaire de modifier , car les utilisateurs autres que le propriétaire et le groupe auquel ils appartiennent sont autres

3 Les autorisations sont modifiées en même temps

On a dit que dans un ordinateur, toutes les commandes sont des signaux 0,1 transmis d'une manière.

Les autorisations existent dans deux états : avec et sans , qui sont également composés de 0,1. "rwx" peut être vu comme "111", et "---" peut être vu comme "000". Et ces binary s'ils sont convertis en octal sont "7" et "0". Par conséquent, la plage octale des autorisations peut être considérée comme "[0, 7]". En octal, "r" signifie 4, "w" signifie 2, "x" signifie 1

Par conséquent, lors de la modification des autorisations, en plus d'utiliser "u-" In. en plus de le modifier sous cette forme, vous pouvez également le modifier sous forme octale. C'est "chmod la combinaison de nombres octaux du nom de fichier de trois visiteurs" . Tel que "chmod 777 test" :

1Que signifie le shell Linux ?Cette méthode de modification est plus pratique que la première méthode de modification une par une lorsque plusieurs autorisations de visiteur doivent être modifiées

Remarque : si vous n'écrivez pas tout dans ce méthode, Par exemple, si vous écrivez

"7"

ou "35", le système le modifiera de l'arrière vers l'avant, c'est-à-dire depuis la direction de autre->groupe->propriétaire, car pour le moment, les autres autorisations sont par défaut 0. Ne s'affiche pas . Comme indiqué ci-dessous :

3. Masque d'autorisation

En fait, la autorisation de démarrage pour un nouveau répertoire est 777, et la autorisation de démarrage pour un nouveau dossier est 666. Mais ce que nous voyons réellement n’est pas cela. La raison en est que la création de fichiers ou de répertoires sera affectée par umask (masque d'autorisation).

(1) Le rôle de la valeur du masque d'autorisation

umask, c'est-à-dire les autorisations qui existent dans le masque d'autorisation , le système le configurera automatiquement. Lors de la génération de fichiers ou de répertoires, supprimez les autorisations dans le masque d'autorisation.

(2) Afficher umask

Pour afficher la valeur umask, entrez directement la commande "umask" :

1Que signifie le shell Linux ?

Nous ne nous soucions pas du premier 0 ici, après le premier 0 C'est l'autorisation que chaque visiteur doit supprimer. Autrement dit, par défaut dans le système, le propriétaire de chaque fichier ou répertoire nouvellement créé n'a pas besoin de supprimer les autorisations, et le groupe auquel appartient doit en supprimer 2, c'est-à-dire les autorisations d'écriture ; devez supprimer 2, c'est-à-dire autorisations d'écriture

Que signifie le shell Linux ?

Supprimez 022 de l'autorisation de démarrage de 666 pour le fichier et supprimez 022 de l'autorisation de démarrage de 777 pour le répertoire, qui est l'autorisation dans l'image au-dessus de.

Veuillez noter que les valeurs umask des utilisateurs ordinaires et des utilisateurs root sont différentes. La valeur umask de

utilisateur ordinaire est 002, et celle de utilisateur root est 022

(3) Modifiez la valeur umask

Bien que la valeur umask puisse être générée par le système par défaut, il peut également être modifié manuellement.

La méthode de modification est

"umask 0 autorisation correspondante". Par exemple, "umask 0444" :

2Que signifie le shell Linux ?

Vous pouvez voir qu'après avoir modifié la valeur umask, les autorisations correspondantes dans les autorisations par défaut des fichiers nouvellement créés sont supprimées

Remarque :

La valeur umask n'utilise pas les autorisations initiales pour réduire la valeur des autorisations, mais supprimez l'autorisation correspondante. Par exemple, l'autorisation initiale du fichier est 666. À ce stade, nous modifions la valeur umask en 0111. Si vous utilisez la soustraction, cela deviendra 555, ce qui correspond à "r-xr-xr-x". Mais en fait, il faudrait supprimer l'autorisation "x" correspondant à 1, c'est-à-dire que c'est toujours l'autorisation "666", c'est-à-dire "rw-rw-rw-" :

2Que signifie le shell Linux ?

Certains les gens peuvent se demander pourquoi le répertoire démarre. Les autorisations initiales sont 777 et les autorisations initiales du fichier sont 666. La raison en est que pour

entrer dans un répertoire, vous avez besoin d'autorisations d'exécution, c'est-à-dire d'autorisations "x":

2Que signifie le shell Linux ?

Si vous effectuez les opérations ci-dessus sous l'

utilisateur root, vous pouvez entrer dans des répertoires sans "x " autorisations , car l'utilisateur root n'est pas limité par les autorisations

Recommandations associées : "

Tutoriel vidéo Linux"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn