Saltar al contenido

Las 50 preguntas y respuestas principales de la entrevista de Shell Scripting

Descargar PDF

1: ¿Qué es un caparazón?

Shell es una interfaz entre el usuario y el kernel. Aunque solo puede haber un kernel; un sistema puede tener muchas capas a la vez. Entonces, cada vez que un usuario ingresa un comando a través del teclado, el shell se comunica con el kernel para ejecutarlo y luego muestra la salida al usuario.

2: ¿Cuáles son los diferentes tipos de shells que se usan comúnmente en un sistema Linux típico?

csh, ksh, bash, Bourne. El caparazón más popular y más fresco que se usa hoy en día es «Bash».

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

Los accesos directos se crean mediante «enlaces» en Linux. Hay dos tipos de conexiones que se pueden utilizar, a saber, «conexión suave» y «conexión dura».

4: ¿Cuál es la diferencia entre enlaces blandos y duros?

Los enlaces blandos están vinculados al nombre del archivo y también pueden sobrevivir en un sistema de archivos diferente; pero los enlaces físicos son un enlace al código del archivo y deben estar en el mismo sistema de archivos que el archivo. Eliminar el archivo original hace que el enlace suave esté inactivo (enlace roto) pero no afecta el enlace duro (el enlace duro seguirá teniendo acceso a una copia del archivo)

5: ¿Cómo se ejecutan argumentos y se accede a un script en Linux?

Los argumentos se pueden pasar como:

scriptName «Arg1» «Arg2» …. «Argn» y se puede encontrar dentro del script como $ 1, $ 2 .. $ n

6: ¿Qué importancia tiene $ #?

$ # Muestra el recuento de argumentos enviados al script.

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

$ @ Trata cada argumento como argumentos separados, pero $ * considera todo el conjunto de parámetros de posición como un solo cable.

8: use el comando sed para reemplazar el contenido del archivo (imite el comando tac)

P.ej:

if cat fille
ABCD
EFGH

Entonces debería haber O / p

E F G H
A B C D

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

Aquí hay un comando G adjunto al espacio del patrón,

copia el patrón de búfer h para mantener el búfer

y dd destruye el espacio del patrón actual.

9: Si se le da un archivo, reemplace todas las apariciones de la palabra «ABC» con «DEF» de 5ú única línea para terminar en aquellas líneas donde la palabra «MNO»

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

10: Si le dan un archivo, escriba una secuencia de comandos para contar 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 octagonal de «carácter de tabulación» y

«(Barra invertida) 012» es el equivalente octagonal del carácter de la nueva línea.

11: ¿Cómo se obtiene el 99?ú línea de archivo usando solo el dominio de la cola y la cabeza?

tail +99 file1 cabeza -1

12: Imprime el 10ú no use la línea de la cola y el dominio de la cabeza.

sed –n '10p' file1

13: En mi shell bash quiero que mi mensaje esté en ‘$ «Directorio de trabajo presente»: «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 un shell bash, 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

File1 es el archivo que contiene las funciones definidas por el usuario y «.» invocar este archivo en el shell actual.

14: ¿Explica sobre el bit de permiso «s» en un archivo?

El bit «s» se denomina bit «s» ID de usuario fijo «(SUID).

un poco de «s» en un archivo le otorga los privilegios del propietario del archivo durante el programa.

Por ejemplo, si ejecuta un comando de «contraseña» para cambiar una contraseña existente, el usuario tiene que escribir su nueva contraseña para remedar un archivo aunque tenga «root» como propietario.

15: Quiero crear un directorio para que cualquier persona del grupo pueda crear un archivo y acceder al archivo de cualquier persona, pero nadie debería poder eliminar un archivo que no sea el que él mismo creó.

Podemos crear el directorio que le dará a todos en el grupo acceso para leer y ejecutar y establecer la «t» adhesiva de la siguiente manera:


mkdir direc1
 
chmod g+wx direc1
 
chmod +t direc1

16: ¿Cómo puede saber cuánto tiempo ha estado funcionando el sistema?

Podemos obtener esto usando el comando «uptime».

17: ¿Cómo puede un usuario averiguar toda la información sobre un usuario en particular, como su shell predeterminado, nombre de la vida real, directorio predeterminado, cuándo y durante cuánto tiempo ha estado usando el sistema?

dedo «loginName» … donde loginName es el nombre de inicio de sesión del

información de usuario esperada.

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

$$ id proporciona el proceso para el proceso que se está ejecutando actualmente solo $! Muestra los procesos de identificación del proceso que pasaron a segundo plano recientemente.

19: ¿Qué son los procesos zombies?

Estos son los procesos que murieron pero el proceso de crianza aún no ha seleccionado su estado de salida. Su entrada de identificación de proceso está en la tabla de procesos incluso si no son funcionales.

20: ¿Cómo se copia un archivo de una máquina a otra?

Podemos usar utilidades como «ftp», «scp» o «rsync» para copiar un archivo de una máquina a otra.

Por ejemplo, usando ftp:

Servidor FTP

> agregar archivo1

> adios

En las copias anteriores, archive un archivo1 desde el sistema local al sistema de destino cuyo nombre de host está especificado.

21: Quiero monitorear un archivo de registro que se actualiza constantemente, ¿qué comando se puede usar para lograr esto de la manera más eficiente?

Podemos usar un nombre de archivo de cola. Esto hará que solo se muestren las últimas 10 líneas preestablecidas en std o / pa, 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 @ serverIP -p sshport

Ejemplo

ssh Esta dirección de correo electrónico está protegida contra spambots. Necesita tener JavaScript habilitado para verlo. -p 22

Cuando 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 archivo1 archivo2 … 12 suprimirá el contenido suprimido

único para 1S t y 2Dakota del Norte archivo respectivo.

24: Escriba un guión para imprimir los primeros 10 elementos de una 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 se conecta a un servidor de base de datos desde Linux?

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

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

26: ¿Cuáles son los 3 flujos estándar en Linux?

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

27: Quiero leer todas las entradas en el comando del archivo1, dirigir toda la salida al archivo2 y el error en el archivo 3, ¿cómo puedo lograr esto?

pedido archivo2 2> archivo3

28: ¿Qué sucede con mi proceso actual cuando ejecuto un comando usando exec?

«exec» superpone el proceso recién prescrito al proceso actual; así que 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» El símbolo del sistema Ls se ejecutará y una vez que esté obsoleto, el proceso se cerrará

29: ¿Cómo se emula wc –l usando awk?

awk ‘END {print NR} fileName’

30: Si le dan un archivo, busque 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 de grep adicionales como «+» (1 o más episodios de personajes anteriores), «?» (0 o 1 aparición del carácter anterior) y «|» (coincidencia alternativa)

32: ¿Cómo imprime los nombres de inicio de sesión de todos los usuarios en un sistema?

/ etc / shadow se enumeran todos los usuarios.

awk –F ':' '{print $1}' /etc/shadow|uniq -u

33: ¿Cómo configurar una matriz en Linux?

Sintaxis en ksh:

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

34: Escriba la sintaxis de un bucle «for»

Sintaxis:

for  iterator in (elements)
do
execute commands
done

35: ¿Cómo se obtiene el espacio total en disco utilizado por un usuario en particular?

du -s / home / user1 …. donde user1 es el usuario para el que se requiere todo el espacio en disco.

36: ¿Escribe la sintaxis del «si» condicional en Linux?

Proporción

If  condition is successful
then
execute commands
else
execute commands
fi

37: ¿Qué importancia tiene el $?

¿El $ orden? da el estado de salida del último pedido realizado.

38: ¿Cómo borramos todas las líneas en blanco en un archivo?

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

si la barra invertida 011 es equivalente octagonal del espacio y

(barra invertida) 040 es el equivalente octagonal de la pestaña

39: ¿Cómo inserto una línea «ABCDEF» cada 100?ú línea de archivo?

archivo sed ‘100i ABCDEF’ 1

40: Escriba una secuencia de comandos para recuperar todos los archivos convertidos en menos de 2 días e imprima un recuento de registros de cada uno.

encontrar. –Am -2 –exec wc –l {} ;

41: ¿Cómo configuro el permiso rwx predeterminado para todos los usuarios en todos los archivos creados en el shell actual?

Podemos:

umask 777

Esto establecerá el permiso rwx predeterminado para cada archivo creado para cada usuario.

42: ¿Cómo podemos obtener el nombre del proceso a partir de su identificación de proceso?

Nosotros podemos usar «ps –p ProcessId»

43: ¿Cuáles son los cuatro componentes básicos de cada sistema de archivos en Linux?

Bootblock, super block, inode block y Datablock se encuentran como componentes básicos de todos los sistemas de archivos en Linux.

44: ¿Qué es un bloque de arranque?

Este bloque contiene un pequeño programa llamado «Registro de arranque maestro» (MBR) que carga el kernel durante el arranque del sistema.

45: ¿Qué es un superbloque?

Superbloque contiene toda la información sobre el sistema de archivos, como el tamaño del sistema de archivos, el tamaño de los bloques utilizados por su número de bloques de datos libres y la lista de entradas y bloques de datos libres.

46: ¿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.

47: ¿Cómo envío un correo electrónico con un archivo comprimido como adjunto?

zip file1.zip file1 | mailx –s «contenido» ID de correo electrónico de los destinatarios

Contenido de correo electrónico

EOF

48: ¿Cómo creamos alias de comandos en un shell?

aliasname = «Orden cuyo alias se va a crear».

49: ¿Qué son los campos de permiso «c» y «b» de un archivo?

Los campos de permiso «c» y «b» suelen estar asociados con un archivo de dispositivo. Especifica si un archivo es un archivo de caracteres especiales o un archivo de bloque especial.

50: ¿Cuál es el uso de 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.

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *