50 preguntas y respuestas de la entrevista sobre secuencias de comandos de Shell (2025)

Aquí hay preguntas y respuestas de la entrevista de Shell Scripting para que los candidatos más nuevos y experimentados consigan el trabajo de sus sueños.

 

Preguntas y respuestas de la entrevista sobre secuencias de comandos de Shell de Linux

1) ¿Qué es una concha?

El shell es una interfaz entre el usuario y el núcleo. Aunque solo puede haber un núcleo, un sistema puede tener varios shell ejecutándose simultáneamente. Por lo tanto, siempre que un usuario ingresa un comando a través del teclado, el shell se comunica con el núcleo para ejecutarlo y luego mostrar el resultado al usuario.

👉 Descarga gratuita de PDF: Preguntas y respuestas de la entrevista sobre scripts de Shell


2) ¿Qué es un script de Shell?

Shell Scripting es un programa informático de código abierto diseñado para ser ejecutado por el shell Unix/Linux. Shell Scripting es un programa para escribir una serie de comandos para que los ejecute el shell. Puede combinar secuencias de comandos largas y repetitivas en un script único y simple que se puede almacenar y ejecutar en cualquier momento, lo que reduce los esfuerzos de programación.

Preguntas de entrevista de Shell Scripting


3) ¿Cuáles son los diferentes tipos de shells comúnmente utilizados en un sistema Linux típico?

csh,ksh,bash,Bourne. El shell más utilizado y avanzado que se utiliza en la actualidad es "Bash".


4) ¿Cuál es el equivalente a un acceso directo a un archivo que tenemos en una ventana en un sistema Linux?

Los accesos directos se crean mediante "enlaces" en Linux. Hay dos tipos de enlaces que se pueden utilizar: "enlace suave" y "enlace duro".


5) ¿Cuál es la diferencia entre enlaces blandos y duros?

Los enlaces suaves están vinculados al nombre del archivo y también pueden residir en diferentes sistemas de archivos; sin embargo, los enlaces físicos están vinculados al inodo del archivo y deben estar en el mismo sistema de archivos que el del archivo. Eliminar el archivo original inactiva el enlace físico (enlace roto) pero no afecta el enlace físico (el enlace físico aún accederá a una copia del archivo)


6) ¿Cómo pasarás y accederás a los argumentos de un script en Linux?

Los argumentos se pueden pasar como:

scriptName “Arg1” “Arg2″….”Argn” y se puede acceder a él dentro del script como $1, $2 .. $n


7) ¿Cuál es la diferencia entre $* y $@?

$@ trata cada argumento citado como argumento separado pero $* considerará el conjunto completo de parámetros posicionales como una sola cadena.


8) Utilice el comando sed para reemplazar el contenido del archivo (emular el comando tac)

P.ej:

if cat fille
ABCD
EFGH

Entonces O/p debería ser

E F G H
A B C D

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

Aquí el comando G se agrega al espacio del patrón,

El comando h copia el buffer de patrones al buffer de retención

y el comando d elimina el espacio del patrón actual.


9) Dado un archivo, reemplace todas las apariciones de la palabra "ABC" con "DEF" de 5th línea hasta el final solo en aquellas líneas que contienen la palabra "MNO"

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

10) Dado un archivo, escribe una secuencia de comandos para encontrar el recuento de cada palabra.

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"

“(barra invertida)011” es un equivalente octal de “carácter de tabulación” y

“(barra invertida)012” es un equivalente octal del carácter de nueva línea.


11) ¿Cómo encontrarás el 99?th línea de un archivo usando solo el comando tail y head?

cola +99 archivo1|cabeza -1


12) Imprime el 10th línea sin usar el comando tail y head.

sed –n '10p' file1

13) En mi shell bash quiero que mi mensaje tenga el formato '$”Directorio de trabajo actual”:”nombre de host”> y cargue un archivo que contenga una lista de funciones definidas por el usuario tan pronto como inicie sesión, ¿cómo automatizará esto? ?

En bash shell, podemos crear un archivo “.profile” que se invoca automáticamente tan pronto como inicio sesión y escribo la siguiente sintaxis en él.

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

Aquí Archivo1 es el archivo que contiene las funciones definidas por el usuario y "." invoca este archivo en el shell actual.


14) ¿Explique sobre el bit de permiso “s” en un archivo?

El bit "s" se denomina bit "establecer ID de usuario" (SUID).

El bit "s" en un archivo hace que el proceso tenga los privilegios del propietario del archivo durante la instancia del programa.

Por ejemplo, ejecutar el comando "passwd" para cambiar la contraseña actual hace que el usuario escriba su nueva contraseña en el archivo oculto aunque tenga "root" como propietario.


15) Quiero crear un directorio de modo que cualquier miembro del grupo pueda crear un archivo y acceder al archivo de cualquier persona que se encuentre en él, pero nadie debería poder eliminar un archivo que no sea el creado por él mismo.

Podemos crear el directorio dando acceso de lectura y ejecución a todos en el grupo y configurando su bit adhesivo "t" de la siguiente manera:

mkdir direc1
 
chmod g+wx direc1
 
chmod +t direc1

16) ¿Cómo puedes saber cuánto tiempo lleva funcionando el sistema?

Podemos encontrar esto usando el comando "uptime".


17) ¿Cómo puede un usuario encontrar toda la información sobre un usuario específico, como su shell predeterminado, nombre real, directorio predeterminado, cuándo y cuánto tiempo ha estado usando el sistema?

dedo “nombre de inicio de sesión” … donde nombre de inicio de sesión es el nombre de inicio de sesión del

usuario cuya información se espera.


18) ¿Cuál es la diferencia entre $$ y $!?

$$ proporciona la identificación del proceso que se está ejecutando actualmente, mientras que $! Muestra la identificación del proceso que recientemente pasó a segundo plano.


19) ¿Qué son los procesos zombies?

Estos son los procesos que han muerto pero cuyo estado de salida aún no ha sido seleccionado por el proceso principal. Estos procesos, incluso si no son funcionales, todavía tienen su entrada de identificación de proceso en la tabla de procesos.


20) ¿Cómo copiarás un archivo de una máquina a otra?

Podemos utilizar utilidades como “ftp”, “scp” o “rsync” para copiar un archivo de una máquina a otra.

Por ejemplo, usando ftp:

Nombre de host FTP

>poner archivo1

>adiós

Copias anteriores, archivo file1 del sistema local al sistema de destino cuyo nombre de host se especifica.


Preguntas y respuestas de la entrevista sobre scripting de Shell para experimentados

21) Quiero monitorear un archivo de registro que se actualiza continuamente, ¿qué comando puedo usar para lograrlo de manera más eficiente?

Podemos usar tail –f filename. Esto hará que solo se muestren las últimas 10 líneas predeterminadas en la salida estándar, lo que muestra continuamente la parte actualizada del archivo.


22) Quiero conectarme a un servidor remoto y ejecutar algunos comandos, ¿cómo puedo lograrlo?

Podemos usar ssh para hacer esto:

ssh nombre de usuario@IPservidor -p puerto ssh

Ejemplo

raíz ssh@122.52.251.171 -p 22

Una vez que se ejecuta el comando anterior, se le pedirá que ingrese la contraseña


23) Tengo 2 archivos y quiero imprimir los registros que son comunes a ambos.

Podemos usar el comando "comm" de la siguiente manera:

comm -12 file1 file2 … 12 suprimirá el contenido que está

único para 1st y séptimand archivo respectivamente.


24) Escribe un guión para imprimir los primeros 10 elementos de la serie 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) ¿Cómo te conectarás a un servidor de base de datos desde Linux?

Podemos usar la utilidad isql que viene con el controlador de cliente abierto de la siguiente manera:

isql –S nombredelservidor –U nombre de usuario –P contraseña


26) ¿Cuáles son las 3 corrientes estándar en Linux?

0 – Entrada estándar1 – Salida estándar2 – Error estándar


27) Quiero leer todas las entradas del comando desde el archivo 1, dirigir todas las salidas al archivo 2 y el error al archivo 3, ¿cómo puedo lograr esto?

comando archivo1 1>archivo2


28) ¿Qué pasará con mi proceso actual cuando ejecuto un comando usando exec?

"exec" superpone el proceso recién bifurcado en el proceso actual; entonces, cuando ejecuto el comando usando exec, el comando se ejecuta en el shell actual sin crear ningún proceso nuevo.

Por ejemplo, ejecutando "exec ls" en el símbolo del sistema ejecutará ls y una vez que ls salga, el proceso se cerrará


29) ¿Cómo emularás wc –l usando awk?

awk 'END {print NR} fileName'


30) Dado un archivo, encuentre el número de líneas que contienen la palabra "ABC".

grep –c archivo “ABC”1


31) ¿Cuál es la diferencia entre grep y egrep?

egrep es un grep extendido que admite funciones grep agregadas como “+” (1 o más apariciones de un carácter anterior)”,?” (0 o 1 aparición de un carácter anterior) y “|” (coincidencia alternativa)


32) ¿Cómo configurar una matriz en Linux?

Sintaxis en ksh:

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

33) Escribe la sintaxis del bucle "for"

Sintaxis:

for  iterator in (elements)
do
execute commands
done

34) ¿Cómo encontrará el espacio total en disco utilizado por un usuario específico?

du -s /home/user1 ….donde usuario1 es el usuario para quien se necesita encontrar el espacio total en disco.


35) ¿Escribir la sintaxis para los condicionales "si" en Linux?

Sintaxis

If  condition is successful
then
execute commands
else
execute commands
fi

36) ¿Cuál es el significado de $?

El comando $? proporciona el estado de salida del último comando que se ejecutó.


37) ¿Cómo eliminamos todas las líneas en blanco de un archivo?

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

donde (barra invertida)011 es un equivalente octal del espacio y

(barra invertida)040 es un equivalente octal de la pestaña


38) ¿Cómo insertaré una línea “ABCDEF” cada 100?th línea de un archivo?

sed archivo '100i\ABCDEF'1


39) Escriba una secuencia de comandos para encontrar todos los archivos modificados en menos de 2 días e imprima el recuento de registros de cada uno.

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


40) ¿Cómo puedo configurar el permiso rwx predeterminado para todos los usuarios en cada archivo que se crea en el shell actual?

Nosotros podemos usar:

umask 777

Esto establecerá el permiso rwx predeterminado para cada archivo que se crea para cada usuario.


41) ¿Cómo podemos encontrar el nombre del proceso a partir de su identificación del proceso?

Podemos utilizar "ps –p ProcessId"


42) ¿Cuáles son los cuatro componentes fundamentales de todo sistema de archivos en Linux?

Bootblock, superblock, inode block y Datablock se encuentran componentes fundamentales de cada sistema de archivos en Linux.


43) ¿Qué es un bloque de arranque?

Este bloque contiene un pequeño programa llamado "Master Boot record" (MBR) que carga el kernel durante el arranque del sistema.


44) ¿Qué es un superbloque?

El superbloque contiene toda la información sobre el sistema de archivos, como el tamaño del sistema de archivos, el tamaño del bloque utilizado por su número de bloques de datos libres y la lista de inodos y bloques de datos libres.


45) ¿Qué es un bloque de inodo?

Este bloque contiene el inodo para cada archivo del sistema de archivos junto con todos los atributos del archivo excepto su nombre.


46) ¿Cómo puedo enviar un correo con un archivo comprimido como adjunto?

archivo zip1.archivo zip1|mailx –s “asunto” ID de correo electrónico del destinatario

Contenido de correo electrónico

EOF


47) ¿Cómo creamos alias de comando en un shell?

alias Aliasname=”Comando cuyo alias se va a crear”.


48) ¿Qué son los campos de permiso “c” y “b” de un archivo?

“c” y “b” campos de permiso generalmente están asociados con un archivo de dispositivo. Especifica si un archivo es un archivo de caracteres especiales o un archivo especial de bloque.


49) ¿Para qué sirve una línea shebang?

La línea Shebang en la parte superior de cada script determina la ubicación del motor que se utilizará para ejecutar el script.

Estas preguntas de la entrevista también te ayudarán en tu viva(orals)