50 questions et réponses d'entretien de script Shell (2024)

Voici les questions et réponses d'entretien avec Shell Scripting pour les candidats les plus récents et les plus expérimentés pour obtenir l'emploi de leurs rêves.

 

Questions et réponses d'entretien sur les scripts Shell Linux

1) Qu'est-ce qu'une coquille ?

Shell est une interface entre l'utilisateur et le noyau. Même s’il ne peut y avoir qu’un seul noyau ; un système peut avoir plusieurs shells exécutés simultanémentneohabituellement. Ainsi, chaque fois qu'un utilisateur saisit une commande via le clavier, le shell communique avec le noyau pour l'exécuter, puis affiche le résultat à l'utilisateur.

👉 Téléchargement PDF gratuit : Questions et réponses d'entretien sur les scripts Shell


2) Qu'est-ce qu'un script Shell ?

Shell Scripting est un programme informatique open-source conçu pour être exécuté par le shell Unix/Linux. Shell Scripting est un programme pour écrire une série de commandes que le shell doit exécuter. Il peut combiner des séquences longues et répétitives de commandes en un seul script simple qui peut être stocké et exécuté à tout moment, ce qui réduit les efforts de programmation.

Questions d'entretien pour les scripts Shell


3) Quels sont les différents types de shells couramment utilisés sur un système Linux typique ?

csh,ksh,bash,Bourne. Le shell le plus couramment utilisé et le plus avancé utilisé aujourd’hui est « Bash ».


4) Quel est l'équivalent d'un raccourci fichier que l'on a dans une fenêtre sur un système Linux ?

Les raccourcis sont créés à l'aide de « liens » sous Linux. Il existe deux types de liens qui peuvent être utilisés à savoir le « lien logiciel » et le « lien dur ».


5) Quelle est la différence entre les liens logiciels et physiques ?

Les liens symboliques sont des liens vers le nom du fichier et peuvent également résider sur différents systèmes de fichiers ; cependant, les liens physiques sont des liens vers l'inode du fichier et doivent être sur le même système de fichiers que celui du fichier. La suppression du fichier d'origine rend le lien symbolique inactif (lien rompu) mais n'affecte pas le lien physique (le lien physique accédera toujours à une copie du fichier)


6) Comment allez-vous transmettre et accéder aux arguments d’un script sous Linux ?

Les arguments peuvent être transmis comme :

scriptName "Arg1" "Arg2″…."Argn" et est accessible dans le script sous la forme $1 , $2 .. $n


7) Quelle est la différence entre $* et $@ ?

$@ traite chaque argument cité comme des arguments distincts mais $* considérera l'ensemble des paramètres de position comme une seule chaîne.


8) Utilisez la commande sed pour remplacer le contenu du fichier (commande émuler tac)

Par exemple:

if cat fille
ABCD
EFGH

Alors O/p devrait être

E F G H
A B C D

sed '1! G; h;$!d' file1

Ici, la commande G s'ajoute à l'espace de modèle,

La commande h copie le modèle buffer de tenir buffer

et la commande d supprime l'espace de modèle actuel.


9) Étant donné un fichier, remplacez toute occurrence du mot « ABC » par « DEF » à partir de 5th ligne jusqu'à la fin uniquement dans les lignes contenant le mot "MNO"

sed –n '5,$p' file1|sed '/MNO/s/ABC/DEF/'

10) Étant donné un fichier, écrivez une séquence de commandes pour trouver le nombre de chaque mot.

tr –s  "(backslash)040" <file1|tr –s  "(backslash)011"|tr "(backslash)040 (backslash)011" "(backslash)012" |uniq –c
where "(backslash)040" is octal equivalent of "space"

"(backslash)011" est un équivalent octal de "caractère de tabulation" et

"(backslash)012" est un équivalent octal du caractère de nouvelle ligne.


11) Comment allez-vous trouver le 99th ligne d'un fichier en utilisant uniquement les commandes tail et head ?

queue +99 fichier1|tête -1


12) Imprimez le 10th ligne sans utiliser les commandes tail et head.

sed –n '10p' file1

13) Dans mon shell bash, je veux que mon invite soit au format '$”Présenter le répertoire de travail”:”hostname”> et charge un fichier contenant une liste de fonctions définies par l'utilisateur dès que je me connecte, comment allez-vous automatiser cela ?

Dans le shell bash, nous pouvons créer un fichier « .profile » qui est automatiquement invoqué dès que je me connecte et que j'écris le suivant.wing syntaxe dedans.

export PS1='$ `pwd`:`hostname`>' .File1

Ici, File1 est le fichier contenant les fonctions définies par l'utilisateur et "." invoque ce fichier dans le shell actuel.


14) Expliquez le bit d'autorisation « s » dans un fichier ?

Le bit « s » est appelé bit « définir l’identifiant de l’utilisateur » (SUID).

Le bit « s » sur un fichier permet au processus d'avoir les privilèges du propriétaire du fichier pendant l'instance du programme.

Par exemple, l'exécution de la commande « passwd » pour modifier le mot de passe actuel amène l'utilisateur à écrire son nouveau mot de passe dans le fichier fantôme même s'il a « root » comme propriétaire.


15) Je souhaite créer un répertoire tel que n'importe quel membre du groupe puisse créer un fichier et accéder au fichier de n'importe quelle personne, mais aucun ne devrait pouvoir supprimer un fichier autre que celui créé par lui-même.

Nous pouvons créer le répertoire donnant un accès en lecture et en exécution à tout le monde dans le groupe et en définissant son sticky bit "t" comme suit :

mkdir direc1
 
chmod g+wx direc1
 
chmod +t direc1

16) Comment savoir depuis combien de temps le système fonctionne ?

Nous pouvons le trouver en utilisant la commande « uptime ».


17) Comment un utilisateur peut-il trouver toutes les informations sur un utilisateur spécifique, comme son shell par défaut, son nom réel, son répertoire par défaut, quand et depuis combien de temps il utilise le système ?

doigt « loginName »… où loginName est le nom de connexion du

utilisateur dont les informations sont attendues.


18) Quelle est la différence entre $$ et $!?

$$ donne l'identifiant du processus en cours d'exécution alors que $! Affiche l'identifiant du processus récemment passé en arrière-plan.


19) Que sont les processus zombies ?

Ce sont les processus qui sont morts mais dont le statut de sortie n'est toujours pas sélectionné par le processus parent. Ces processus, même s'ils ne sont pas fonctionnels, ont toujours leur identifiant de processus dans la table des processus.


20) Comment allez-vous copier un fichier d’une machine à une autre ?

Nous pouvons utiliser des utilitaires comme « ftp », « scp » ou « rsync» pour copier un fichier d’une machine à une autre.

Par exemple, en utilisant FTP :

Nom d'hôte FTP

>mettre le fichier1

> au revoir

Copies ci-dessus, fichier file1 du système local vers le système de destination dont le nom d'hôte est spécifié.


Questions et réponses d'entretien sur les scripts Shell pour les expérimentés

21) Je souhaite surveiller un fichier journal mis à jour en permanence. Quelle commande peut être utilisée pour y parvenir le plus efficacement possible ?

Nous pouvons utiliser tail –f filename. Cela entraînera l'affichage par défaut des 10 dernières lignes sur std o/p, qui affiche en permanence la partie mise à jour du fichier.


22) Je souhaite me connecter à un serveur distant et exécuter certaines commandes, comment puis-je y parvenir ?

Nous pouvons utiliser ssh pour faire ceci :

ssh nom d'utilisateur@serverIP -p sshport

Exemple

racine ssh@122.52.251.171 -p 22

Une fois la commande ci-dessus exécutée, il vous sera demandé de saisir le mot de passe


23) J'ai 2 fichiers et je souhaite imprimer les enregistrements qui sont communs aux deux.

Nous pouvons utiliser la commande « comm » comme suit :

comm -12 file1 file2… 12 supprimera le contenu qui est

unique à 1st 2nd fichier respectivement.


24) Écrivez un script pour imprimer les 10 premiers éléments de la série de Fibonacci.

  
#!/bin/sh
a=1
b=1
echo $a
echo $b
for I in 1 2 3 4 5 6 7 8
do
c=a
b=$a
b=$(($a+$c))
echo $b
done

25) Comment allez-vous vous connecter à un serveur de base de données depuis Linux ?

Nous pouvons utiliser l'utilitaire isql fourni avec le pilote client ouvert comme suit :

isql –S nom du serveur –U nom d'utilisateur –P mot de passe


26) Quels sont les 3 flux standards sous Linux ?

0 – Entrée standard 1 – Sortie standard 2 – Erreur standard


27) Je souhaite lire toutes les entrées de la commande du fichier 1, diriger toutes les sorties vers le fichier 2 et les erreurs vers le fichier 3, comment puis-je y parvenir ?

commande fichier1 1>fichier2


28) Qu'arrivera-t-il à mon processus actuel lorsque j'exécuterai une commande à l'aide de exec ?

« exec » superpose le processus nouvellement créé sur le processus actuel ; Ainsi, lorsque j'exécute la commande à l'aide de exec, la commande est exécutée sur le shell actuel sans créer de nouveaux processus.

Par exemple, l'exécution "exec ls" à l'invite de commande, il exécutera ls et une fois ls terminé, le processus s'arrêtera


29) Comment allez-vous émuler wc –l en utilisant awk ?

awk 'END {print NR} fileName'


30) Étant donné un fichier, trouvez le nombre de lignes contenant le mot « ABC ».

grep –c fichier « ABC »1


31) Quelle est la différence entre grep et egrep ?

egrep est un grep étendu qui prend en charge des fonctionnalités grep supplémentaires telles que "+" (1 ou plusieurs occurrences d'un caractère précédent), "?" (0 ou 1 occurrence d'un caractère précédent) et "|" (correspondance alternative)


32) Comment configurer un tableau sous Linux ?

Syntaxe en ksh :

Set –A arrayname= (element1 element2 ….. element)
In bash
A=(element1 element2 element3 …. elementn)

33) Notez la syntaxe de la boucle « for »

syntaxe:

for  iterator in (elements)
do
execute commands
done

34) Comment connaître l'espace disque total utilisé par un utilisateur spécifique ?

du -s /home/user1 ….où user1 est l'utilisateur pour lequel l'espace disque total doit être trouvé.


35) Écrire la syntaxe des conditions « if » sous Linux ?

Syntaxe

If  condition is successful
then
execute commands
else
execute commands
fi

36) Quelle est la signification de $ ?

La commande $? donne l'état de sortie de la dernière commande exécutée.


37) Comment supprimer toutes les lignes vides d'un fichier ?

sed  '^ [(backslash)011(backslash)040]*$/d' file1

où (antislash)011 est un équivalent octal de l'espace et

(antislash)040 est un équivalent octal de la tabulation


38) Comment vais-je insérer une ligne « ABCDEF » tous les 100th ligne d'un fichier ?

fichier sed '100i\ABCDEF'1


39) Écrivez une séquence de commandes pour retrouver tous les fichiers modifiés en moins de 2 jours et imprimez le nombre d'enregistrements de chacun.

trouver . –mtime -2 –exec wc –l {} \;


40) Comment puis-je définir l'autorisation rwx par défaut pour tous les utilisateurs sur chaque fichier créé dans le shell actuel ?

On peut utiliser:

umask 777

Cela définira l'autorisation rwx par défaut pour chaque fichier créé pour chaque utilisateur.


41) Comment pouvons-nous trouver le nom du processus à partir de son identifiant de processus ?

Nous pouvons utiliser "ps –p ProcessId"


42) Quels sont les quatre composants fondamentaux de chaque système de fichiers sous Linux ?

Bootblock, super block, inode block et Datablock sont des composants fondamentaux de chaque système de fichiers sous Linux.


43) Qu'est-ce qu'un bloc de démarrage ?

Ce bloc contient un petit programme appelé « Master Boot record » (MBR) qui charge le noyau lors du démarrage du système.


44) Qu'est-ce qu'un super bloc ?

Le super bloc contient toutes les informations sur le système de fichiers comme la taille du système de fichiers, la taille du bloc utilisée par son nombre de blocs de données libres et la liste des inodes et blocs de données libres.


45) Qu'est-ce qu'un bloc inode ?

Ce bloc contient l'inode de chaque fichier du système de fichiers ainsi que tous les attributs de fichier à l'exception de son nom.


46) Comment puis-je envoyer un mail avec un fichier compressé en pièce jointe ?

fichier zip1.fichier zip1|mailx –s « sujet » Destinataires email id

Email contenu

EOF


47) Comment créer des alias de commande dans un shell ?

alias Aliasname=”Commande dont l’alias doit être créé”.


48) Que sont les champs d'autorisation « c » et « b » d'un fichier ?

"c" et "b" champs d'autorisation sont généralement associés à un fichier de périphérique. Il précise si un fichier est un fichier de caractères spéciaux ou un fichier spécial bloc.


49) A quoi sert une ligne shebang ?

La ligne Shebang en haut de chaque script détermine l'emplacement du moteur qui doit être utilisé pour exécuter le script.

Ces questions d'entretien vous aideront également dans votre soutenance