Recherche de site Web

10 « Questions et réponses d'entretien » utiles sur les scripts Shell Linux


Salutation du jour. L'immensité de Linux permet de proposer à chaque fois un article unique. Nous, « l'équipe Tecmint », nous efforçons de fournir à nos lecteurs un contenu unique qui leur est utile du point de vue de leur carrière et qui s'ajoute à la base de connaissances. Voici une tentative et c'est à nos lecteurs de juger dans quelle mesure nous réussissons.

Nous proposons de nombreux didacticiels sur le langage Shell Scripting et des questions d'entretien pour les lecteurs de tous types. Voici les liens vers ces articles.

  1. Série de scripts Shell
  2. Série de questions et réponses d'entrevue

En plus des articles sur les scripts shell ici, dans cet article, nous aborderons les questions liées à Linux Shell du point de vue de l'entretien.

1. Comment abandonner un script shell avant qu’il ne soit exécuté avec succès ?

Par exemple, créez un script shell suivant sous le nom « anything.sh ».

#!/bin/bash
echo "Hello"
exit -1
echo "bye"

Enregistrez le fichier et exécutez-le.

sh anything.sh

Hello
exit.sh: 3: exit: Illegal number: -1

D'après le script ci-dessus, il est clair que l'exécution s'est déroulée bien avant la sortie de la commande -1.

2. Comment supprimer les en-têtes d’un fichier à l’aide d’une commande sous Linux ?

Ici, c'est la commande exacte pour supprimer les en-têtes d'un fichier (ou de la première ligne d'un fichier).

sed '1 d' file.txt

Le seul problème avec la commande ci-dessus est qu'elle affiche le fichier sur la sortie standard sans la première ligne. Afin d'enregistrer la sortie dans un fichier, nous devons utiliser l'opérateur de redirection qui redirigera la sortie vers un fichier.

sed '1 d' file.txt > new_file.txt

Eh bien, le commutateur intégré '-i' pour la commande sed peut effectuer cette opération sans opérateur de redirection.

sed -i '1 d' file.txt
3. Comment vérifierez-vous la longueur d’une ligne d’un fichier texte ?

Un 'sed –n 'n p' file.txt', où 'n' représente le numéro de ligne et 'p' affiche le espace de motif (vers la sortie standard). Cette commande n'est généralement utilisée qu'en conjonction avec l'option de ligne de commande -n. Alors, comment obtenir le nombre de longueurs ? Évidemment! nous devons canaliser la sortie avec la commande 'wc'.

sed –n 'n p' file.txt | wc –c

Pour obtenir la longueur de la ligne numéro « 5 » dans le fichier texte « tecmint.txt », nous devons exécuter.

sed -n '5 p' tecmint.txt | wc -c
4. Est-il possible d'afficher tous les caractères non imprimables d'un fichier texte sur le système Linux ? Comment allez-vous y parvenir ?

Comment afficher les caractères non imprimables dans l'éditeur « vi » ?

  1. Ouvrez l'éditeur vi.
  2. Accédez au mode commande de l’éditeur vi en appuyant sur [esc] suivi de « : ».
  3. La dernière étape consiste à taper la commande exécuter [set list], à partir de l’interface de commande de l’éditeur « vi ».

Remarque : De cette façon, nous pouvons voir tous les caractères non imprimables d'un fichier texte, y compris ctrl+m (^M).

5. Vous êtes chef d'équipe d'un groupe d'employés travaillant pour une entreprise xyz. L'entreprise vous demande de créer un répertoire « dir_xyz », de sorte que n'importe quel membre du groupe puisse créer un fichier ou accéder à un fichier sous celui-ci, mais personne ne peut supprimer le fichier, à l'exception de celui qui l'a créé. que ferez-vous?
mkdir dir_xyz
chmod g+wx dir_xyz
chmod +t dir_xyz

La première ligne de commande crée un répertoire (dir_xyz). La deuxième ligne de commande ci-dessus autorise le groupe (g) à avoir l'autorisation de « écrire » et « exécuter » et la dernière ligne de ce qui précède commande – Le '+t' à la fin des autorisations est appelé le 'sticky bit'. Il remplace le « x » et indique que dans ce répertoire, les fichiers ne peuvent être supprimés que par leurs propriétaires, le propriétaire du répertoire ou le superutilisateur root.

6. Pouvez-vous me raconter les différentes étapes par lesquelles passe un processus Linux ?

Voici les 4 étapes du processus Linux.

  1. En attente : processus Linux en attente d'une ressource.
  2. En cours d'exécution : Un processus Linux est en cours d'exécution.
  3. Arrêté : un processus Linux est arrêté après une exécution réussie ou après avoir reçu un signal d'arrêt.
  4. Zombie : Un Processus est dit « Zombie » s’il est arrêté mais toujours actif dans la table des processus.
7. À quoi sert la commande cut sous Linux ?

Par exemple, extrayez les 10 premières colonnes d'un fichier texte « txt_tecmint ».

cut -c1-10 txt_tecmint

Pour extraire la 2ème, la 5ème et la 7ème colonne d'un même fichier texte.

cut -d;-f2 -f5 -f7 txt_tecmint
8. Quelle est la différence entre les commandes « cmp » et « diff » ?

La commande « diff » signale les modifications à apporter pour que les deux fichiers se ressemblent. Alors que la commande 'cmp' compare les deux fichiers octet par octet et signale la première incompatibilité.

9. Est-il possible de remplacer la commande « ls » par la commande « echo » ?
10. Vous avez peut-être entendu parler des inodes. pouvez-vous décrire brièvement l'inode ?

C'est tout pour le moment. Nous proposerons d'autres questions d'entrevue intéressantes et bien informées, dans le prochain article. D'ici là, restez à l'écoute et connecté à linux-console.net. N'oubliez pas de nous faire part de vos précieux commentaires dans la section commentaires ci-dessous.