26 Preguntas y respuestas de la entrevista de Shell Scripting que debe leer [para principiantes y experimentados]
Publicado: 2020-12-17Un Shell es un intérprete de línea de comandos o un entorno completo diseñado para ejecutar comandos, scripts de Shell y programas. Una vez que ingrese los comandos en el shell, ejecutará el programa en función de su entrada.
Esencialmente, traduce los comandos de entrada y los convierte a un lenguaje compatible con Kernel. Un Shell Script se refiere a una lista de comandos en un programa ejecutado por Unix Shell. El script incluye comentarios que definen los comandos en el orden de su secuencia de ejecución.
Si la introducción le hace desear saber más sobre Shell Scripting, siga desplazándose hasta el final: ¡hemos compilado una lista de preguntas y respuestas de la entrevista de Shell Scripting para ayudarlo a iniciar su proceso de aprendizaje! Si desea obtener más información sobre la ciencia de datos, consulte nuestros cursos de ciencia de datos.
Tabla de contenido
Shell Scripting Preguntas y respuestas de la entrevista
- ¿Cuáles son las ventajas de Shell Scripting?
Los mayores beneficios de Shell Scripting son:
- Le permite crear un sistema operativo personalizado que mejor se adapte a sus necesidades.
- Le permite diseñar aplicaciones de software basadas en la plataforma que está utilizando.
- Es inteligente en el tiempo, ya que ayuda a automatizar las tareas de administración del sistema.
2. ¿Qué son las variables de Shell?
Las variables de Shell forman la parte central de un programa o script de Shell. Las variables permiten que Shell almacene y manipule información dentro de un programa de Shell. Las variables de shell generalmente se almacenan como variables de cadena.
3. Enumere los tipos de variables utilizadas en Shell Scripting.
Por lo general, un Shell Script tiene dos tipos de variables:
- Variables definidas por el sistema: son creadas por el sistema operativo (Linux) y se definen en letras mayúsculas. Puede verlos usando el comando Establecer.
- Variables definidas por el usuario: son creadas y definidas por los usuarios del sistema. Puede ver los valores de las variables usando el comando Echo.
- ¿Cómo puedes hacer que una variable sea inmutable?
Puede hacer que una variable no se pueda modificar usando solo lectura. Digamos que desea que el valor de la variable 'a' permanezca en cinco y lo mantenga constante, por lo que usa solo lectura así:
$ un = 5
$ solo lectura a
- Nombra los diferentes tipos de conchas.
Hay cuatro tipos básicos de Shells, a saber:
- Concha de Bourne (sh)
- Concha C (csh)
- Concha Korn (ksh)
- Bourne otra vez Shell (bash)
- Explique los "parámetros posicionales".
Los parámetros posicionales son variables definidas por un Shell. Se utilizan para pasar información al programa especificando argumentos en la línea de comandos.
- ¿Cuántos Shells y Kernels hay disponibles en un entorno UNIX?
Por lo general, un entorno UNIX tiene solo un Kernel. Sin embargo, hay varios Shells disponibles.
- ¿Necesita un compilador separado para ejecutar un programa Shell?
No, no necesita un compilador separado para ejecutar un programa Shell. Dado que Shell en sí es una línea de comandos en el programa Shell y los ejecuta.
- ¿Cómo se modifican los permisos de archivos en Shell Scripting?
Puede modificar los permisos de archivo a través de umask.
- Que hace un "." (punto) al principio de un nombre de archivo indicar?
Un nombre de archivo que comienza con un "." es un archivo oculto. Por lo general, cuando intenta enumerar los archivos en un Shell, enumera todos los archivos excepto los archivos ocultos. Sin embargo, los archivos ocultos están presentes en el directorio. Si desea ver los archivos ocultos, debe ejecutar el comando Is con el indicador “–a”.
- ¿Cómo crear un acceso directo en Linux?
Puede crear accesos directos en Linux a través de dos enlaces:
Enlace duro: estos enlaces están vinculados al inodo del archivo. Siempre están presentes en el mismo sistema de archivos que el archivo. Incluso si elimina el archivo original, el vínculo físico no se verá afectado.
Enlace suave: estos enlaces están vinculados al nombre del archivo. Pueden residir o no en el mismo sistema de archivos que el archivo. Si elimina el archivo original, el enlace suave se vuelve inactivo.
12. Nombre las diferentes etapas de un proceso de Linux.
Por lo general, un proceso de Linux atraviesa cuatro fases:
- En espera: en esta etapa, el proceso de Linux debe esperar el recurso necesario.
- En ejecución: en esta etapa, el proceso se ejecuta.
- Detenido: después de una ejecución exitosa, el proceso de Linux se detiene.
- Zombi: en el paso final, aunque el proceso ya no se está ejecutando, permanece activo en la tabla de procesos.
- ¿Hay un comando alternativo para "eco"?
Sí, tput es una alternativa para el comando echo. El comando tput le permite controlar cómo se mostrará la salida en la pantalla.
- ¿Cuántos bloques contiene un sistema de archivos?
Un sistema de archivos tiene cuatro bloques:
- Superbloque: este bloque ofrece información sobre el estado de un sistema de archivos, como el tamaño del bloque, el tamaño del grupo de bloques, la información de uso, los bloques vacíos/llenos y sus respectivos recuentos, el tamaño y la ubicación de las tablas de inodos, etc.
- Bootblock: este bloque contiene el programa cargador de arranque que se ejecuta cuando un usuario arranca la máquina host.
- Bloque de datos: este bloque incluye el contenido del archivo del sistema de archivos.
- Tabla de inodos: UNIX trata todos los elementos como archivos y toda la información relacionada con los archivos se almacena en la tabla de inodos.
Debe leer: preguntas de la entrevista de Python
- Mencione los tres modos de funcionamiento del editor vi.
Los tres modos de funcionamiento son:
- Modo de comando: este modo trata e interpreta cualquier tecla presionada por un usuario como comandos del editor.
- Modo de inserción: puede usar este modo para insertar un texto nuevo, editar un texto existente, etc.
- Modo Ex-comando: un usuario puede ingresar todos los comandos en una línea de comando.
- Defina "Instrucciones de control". ¿Cuántos tipos de instrucciones de control hay disponibles en un Shell?
Las instrucciones de control son comandos que le permiten especificar cómo se deben ejecutar las diferentes instrucciones en un script. Por lo tanto, su objetivo principal es determinar el flujo de control en un programa de Shell.
Un Shell tiene cuatro tipos de instrucciones de control:
- La instrucción de control de secuencia impone que las instrucciones se ejecuten en el mismo orden en que están en el programa.
- Instrucción de control de selección/decisión que permite a la computadora determinar qué instrucción debe ejecutarse a continuación.
- Instrucción de control de bucle/repetición que permite que la computadora ejecute un grupo de instrucciones de manera repetitiva.
- La instrucción de casos y controles se utiliza cuando es necesario elegir entre una variedad de alternativas.
- Defina "SFI".
IFS se refiere al separador de campo interno. Es una variable del sistema cuyo valor por defecto es espacio, tabulador, seguido de una nueva línea. IFS indica dónde termina un campo o palabra en una línea y dónde comienza otro.
- Defina "Metacaracteres".
Un Shell consta de metacaracteres, que son caracteres especiales en un campo de datos o programa que ofrece información sobre otros caracteres. Por ejemplo, el comando “ls s*” en un Shell enumera todos los archivos que comienzan con el carácter 's'.
- Diferenciar entre $* y $@.
Mientras que $* trata un grupo completo de parámetros posicionales como una sola cadena, $@ trata cada argumento citado como argumentos separados.
Lea también: Salario de desarrollador de Python en India
21. Escriba la sintaxis del ciclo while en Shell Scripting.
En Shell Scripting, el ciclo while se usa cuando desea repetir su bloque de comandos varias veces. La sintaxis para el bucle "while" es:
mientras [condición de prueba]
hacer
comandos…
hecho
- ¿En qué se diferencian los comandos de pausa y continuar?
El comando break se usa para salir de un bucle en ejecución. Puede usar el comando break para salir de cualquier comando de bucle, incluidos los bucles before y while. Por otro lado, el comando continuar se usa para salir de la iteración actual del bucle sin salir del bucle completo.
23. ¿Por qué usamos la línea Shebang en Shell Scripting?

La línea Shebang está situada en la parte superior de un script/programa de Shell. Informa al usuario sobre la ubicación del motor que ejecuta el script.
Aquí hay un ejemplo de una línea Shebang:
#!/bin/sh
ct $1
- ¿Puedes ejecutar múltiples scripts en un Shell?
Sí, es posible ejecutar varios scripts en un Shell. La ejecución de múltiples scripts le permite llamar a un script desde otro. Para hacerlo, debe mencionar el nombre del script que se llamará cuando desee invocarlo.
- ¿Qué comando debe usar para saber cuánto tiempo ha estado funcionando un sistema?
Debe usar el comando uptime para saber cuánto tiempo ha estado funcionando un sistema. Aquí hay un ejemplo del comando uptime:
u/usuario1/Shell_Scripts_2018> tiempo de actividad
- ¿Qué comando debe usar para verificar el uso del disco?
Puede usar los siguientes tres comandos para verificar el uso del disco:
- df: se utiliza para comprobar el espacio libre en disco.
- du: se utiliza para verificar el uso del disco del directorio.
- dfspace: comprueba el espacio libre en disco en megabytes (MB).
27. ¿A qué te refieres con Crontab?
Crontab es la abreviatura de tabla cron, donde Cron es un programador de trabajos que ejecuta tareas. Crontab es una lista de comandos que desea ejecutar en un horario, junto con el comando que desea usar para administrar esa lista.
28. ¿Cuándo no debemos usar Shell Scripting?
No deberíamos usar Shell Scripting en estos casos:
- Si la tarea es muy complicada, como escribir una solución completa de procesamiento de nómina, no deberíamos usar Shell Scripting.
- Si el trabajo requiere un alto nivel de productividad, no deberíamos usar Shell Scripting.
- Si el trabajo requiere múltiples soluciones de software, no deberíamos usar Shell Scripting.
29. ¿Cómo se comparan las cadenas en un script de Shell?
Usamos el comando de prueba para comparar cadenas de texto. Compara cadenas de texto comparando cada carácter presente en cada cadena.
Leer: Preguntas de la entrevista del ingeniero de datos
30. ¿Qué quiere decir con un sistema de archivos?
Un sistema de archivos es una colección de archivos junto con información relacionada con esos archivos. Controla cómo se recuperan y almacenan los datos. Sin sistemas de archivos, los datos presentes en el almacenamiento serían solo una gran cantidad de datos sin forma de saber dónde termina un dato y comienza otro.
31. ¿Puedes diferenciar entre comillas simples y comillas dobles?
Si. Usamos comillas simples donde no queremos realizar la evaluación de las variables a los valores. Por otro lado, usamos comillas dobles donde queremos realizar la evaluación de las variables a valores.
32. ¿Qué quiere decir con secuencias de comandos GUI?
Usamos GUI para controlar una computadora y sus aplicaciones. A través de secuencias de comandos GUI, podemos manejar varias aplicaciones, dependiendo del sistema operativo.
33. ¿Qué sabes sobre el scripting Super Block in Shell?
El Super Block es un programa que tiene un registro de sistemas de archivos particulares. Contiene características que incluyen el tamaño del bloque, bloques llenos y vacíos con sus respectivos conteos, la ubicación y el tamaño de las tablas de inodos, información de uso, el mapa de bloques del disco, etc.
34. ¿Cuál es la importancia de la línea Shebang?
La línea Shebang permanece en la parte superior del guión. Da información sobre la ubicación donde se encuentra el motor, que ejecuta el script.
35. Proporcione algunos de los comandos UNIX más populares.
Estos son algunos de los comandos UNIX más populares:
- cd: el comando cd cambia el directorio al directorio de inicio del usuario cuando se usa como $ cd. Puede usarlo para cambiar el directorio para probar a través de $ cd test.
- ls: el comando ls enumera los archivos en el directorio actual cuando se usa como $ ls. Puede usarlo para grabar archivos en formato largo usándolo como $ ls -lrt.
- rm: el comando rm eliminará el archivo llamado fileA cuando lo use como $ rm fileA.
- cat: este comando mostraría el contenido presente en un archivo cuando lo usa como nombre de archivo $ cat.
- mv: el comando mv puede cambiar el nombre o mover archivos. Por ejemplo, el comando $ mv archivoA archivoB movería archivos llamados archivoA y archivoB.
- fecha: el comando de fecha muestra la fecha y la hora actuales.
- grep: el comando grep puede buscar información específica en un archivo. Por ejemplo, el comando $ grep Hello fileA buscaría las líneas donde está presente la palabra 'Hello'.
- finger: el comando finger muestra información sobre el usuario.
- ps: el comando ps muestra los procesos que se están ejecutando actualmente en su máquina.
- man: el comando man muestra la ayuda en línea o el manual sobre un comando específico. Por ejemplo, el comando $ ms rm mostraría el manual en línea del comando rm.
- pwd: el comando pwd muestra el directorio de trabajo actual.
- wc: el comando wc cuenta la cantidad de caracteres, palabras y líneas presentes en un archivo.
- historial: el comando historial muestra la lista de todos los comandos que usó recientemente.
- gzip: el comando gzip comprime el archivo especificado. Por ejemplo, el comando $ gzip archivoA comprimiría el archivoA y lo cambiaría a archivoA.gz.
- logname: el comando logname imprimiría el nombre de registro del usuario.
- head: el comando head muestra las primeras líneas presentes en el archivo. Por ejemplo, el comando $ head -15 fileA mostraría las primeras 15 líneas de fileA.
Notas adicionales: esta es una de las preguntas de entrevista de scripting de Shell más cruciales. Recomendamos preparar una lista más completa de los comandos de UNIX, ya que en las entrevistas se hacen muchas versiones de esta pregunta.
Debe leer: preguntas de la entrevista de ciencia de datos
36. ¿En qué es mejor C Shell que Bourne Shell?
C Shell es mejor que Bourne Shell por las siguientes razones:
- C Shell le permite crear un alias para los comandos. Esto significa que el usuario puede dar cualquier nombre deseado a un comando. Es bastante beneficioso cuando el usuario tiene que usar un comando largo varias veces. En lugar de escribir el nombre largo del comando varias veces, el usuario puede escribir el nombre asignado. Ahorra mucho tiempo y energía, haciendo que el proceso sea mucho más eficiente.
- C Shell tiene una función de historial de comandos, donde C Shell recuerda todos los comandos utilizados anteriormente. Puede usar esta función para evitar escribir el mismo comando varias veces. Mejora sustancialmente la eficiencia.
Debido a las dos razones anteriores, usar C Shell es mucho más ventajoso que Bourne Shell.
37. ¿Qué es imprescindible para escribir Shell Scripts?
Shell scripting tiene muchos beneficios que lo hacen crucial. Toma información de los usuarios, la archiva y la muestra en la pantalla. Además, te permite crear tus propios comandos y automatizar tareas sencillas del día a día. También puede utilizar secuencias de comandos de Shell para automatizar las tareas de administración del sistema. Shell scripting hace que sus procesos sean más eficientes al ahorrarle mucha energía y tiempo. Debido a esto, es bastante esencial y ampliamente utilizado.
Conclusión
¡Esperamos que estas 26 preguntas y respuestas de la entrevista de Shell Scripting lo ayuden a romper el hielo en Shell Scripting y prepararse para su próxima entrevista!
Si tiene curiosidad por aprender sobre ciencia de datos, consulte el Programa ejecutivo PG en ciencia de datos de IIIT-B y upGrad, creado para profesionales que trabajan y ofrece más de 10 estudios de casos y proyectos, talleres prácticos, tutoría con expertos de la industria, 1 -on-1 con mentores de la industria, más de 400 horas de aprendizaje y asistencia laboral con las mejores empresas.
¿Qué son las secuencias de comandos de shell?
Shell scripting es el proceso de escribir scripts/códigos para automatizar tareas monótonas. En lugar de ingresar los comandos uno tras otro n veces, puede crear un script para automatizar una serie de instrucciones que se ejecutan una tras otra. Las etapas esenciales en la creación de scripts de shell son escribir el script, hacerlo accesible para el shell y otorgarle autoridad de ejecución al shell. Los scripts de shell están escritos en texto ASCII e incluyen texto ASCII. Se crean con un editor de texto, un procesador de texto o una interfaz gráfica de usuario (GUI). El contenido del script consta de una secuencia de comandos escritos en un lenguaje que el shell puede entender. Una vez completado, el archivo se guarda con una extensión y en un lugar accesible para el shell.
¿Cuáles son las aplicaciones de los scripts de shell?
Shell scripting es fácil y efectivo. Utiliza la misma sintaxis en la secuencia de comandos que en la línea de comandos de shell, lo que elimina cualquier ambigüedad. Un script de shell es útil para actividades repetitivas que tomarían mucho tiempo en completarse ingresando una línea a la vez. Los usuarios pueden usar scripts de shell para una variedad de propósitos, como automatizar el proceso de compilación de código, ejecutar un programa o establecer un entorno de programación, completar el lote y manipular archivos, así como conectar programas existentes, realizar copias de seguridad de rutina y monitorear sistemas.
¿Es shell scripting una buena profesión?
Las secuencias de comandos de Shell se utilizan en varios campos, como la automatización, la programación, las tareas de administración del sistema, la automatización de aplicaciones, la configuración de paquetes, la automatización de validación, la copia de seguridad y restauración de datos en un sistema, etc. Por lo tanto, las secuencias de comandos de Shell son una parte esencial del departamento de TI de cada empresa. . Además, es útil a lo largo de la carrera de TI de un individuo. Con un salario promedio de ₹ 639 000 por año, la creación de scripts de Shell es una buena profesión con muchas perspectivas para sus alumnos. La mayoría de los profesionales de TI lo usan todos los días para tareas automatizadas modestas, ya que ahorra mucho tiempo.