50 perguntas e respostas da entrevista sobre scripts de shell (2026)
Perguntas e respostas da entrevista sobre scripts Shell do Linux
1) O que é uma concha?
Shell é uma interface entre o usuário e o kernel. Mesmo que possa haver apenas um kernel; um sistema pode ter muitos shell rodando simultaneamente. Assim, sempre que um usuário insere um comando através do teclado, o shell se comunica com o kernel para executá-lo e então exibir a saída ao usuário.
👉 Download gratuito de PDF: Perguntas e respostas da entrevista sobre scripts de shell
2) O que é Shell Script?
Shell Scripting é um programa de computador de código aberto projetado para ser executado pelo shell Unix/Linux. Shell Scripting é um programa para escrever uma série de comandos para o shell executar. Ele pode combinar sequências de comandos longas e repetitivas em um script único e simples que pode ser armazenado e executado a qualquer momento, o que reduz os esforços de programação.
3) Quais são os diferentes tipos de shells comumente usados em um sistema Linux típico?
csh,ksh,bash,Bourne . O shell mais comumente usado e avançado usado hoje é o “Bash”.
4) Qual é o equivalente a um atalho de arquivo que temos em uma janela em um sistema Linux?
Os atalhos são criados usando “links” no Linux. Existem dois tipos de links que podem ser usados, nomeadamente “link suave” e “link físico”.
5) Qual é a diferença entre links físicos e físicos?
Soft links são links para o nome do arquivo e também podem residir em diferentes sistemas de arquivos; no entanto, os links físicos são vinculados ao inode do arquivo e devem estar no mesmo sistema de arquivos do arquivo. A exclusão do arquivo original torna o link virtual inativo (link quebrado), mas não afeta o link físico (o link físico ainda acessará uma cópia do arquivo)
6) Como você passará e acessará argumentos para um script no Linux?
Argumentos podem ser passados como:
scriptName “Arg1” “Arg2″….”Argn” e pode ser acessado dentro do script como $1 , $2 .. $n
7) Qual é a diferença entre $* e $@?
$@ trata cada argumento citado como argumentos separados, mas $* considerará todo o conjunto de parâmetros posicionais como uma única string.
8) Use o comando sed para substituir o conteúdo do arquivo (comando emulate tac)
Por exemplo:
if cat fille ABCD EFGH
Então O/p deve ser
EFGH
ABCD
sed '1! G; h;$!d' file1
Aqui o comando G é anexado ao espaço padrão,
O comando h copia o buffer padrão para armazenar o buffer
ed comando exclui o espaço padrão atual.
9) Dado um arquivo, substitua todas as ocorrências da palavra “ABC” por “DEF” de 5th linha até o fim apenas nas linhas que contém a palavra “MNO”
sed –n '5,$p' file1|sed '/MNO/s/ABC/DEF/'
10) Dado um arquivo, escreva uma sequência de comandos para encontrar a contagem de cada palavra.
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” é um equivalente octal de “caractere de tabulação” e
“(barra invertida)012” é um equivalente octal do caractere de nova linha.
11) Como você encontrará o 99th linha de um arquivo usando apenas o comando tail e head?
cauda +99 arquivo1 | cabeça -1
12) Imprima o 10th linha sem usar o comando tail e head.
sed –n '10p' file1
13) No meu shell bash, quero que meu prompt esteja no formato '$”Present Working Directory”:”hostname”> e carregue um arquivo contendo uma lista de funções definidas pelo usuário assim que eu fizer login, como você automatizará isso ?
No shell bash, podemos criar o arquivo “.profile” que é invocado automaticamente assim que eu faço login e escrevo a seguinte sintaxe nele.
export PS1='$ `pwd`:`hostname`>' .File1
Aqui, Arquivo1 é o arquivo que contém as funções definidas pelo usuário e “.” invoca este arquivo no shell atual.
14) Explique sobre o bit de permissão “s” em um arquivo?
O bit “s” é chamado de bit “definir ID do usuário” (SUID).
O bit “s” em um arquivo faz com que o processo tenha os privilégios do proprietário do arquivo durante a instância do programa.
Por exemplo, executar o comando “passwd” para alterar a senha atual faz com que o usuário grave sua nova senha no arquivo shadow, mesmo que tenha “root” como proprietário.
15) Quero criar um diretório de forma que qualquer pessoa do grupo possa criar um arquivo e acessar o arquivo de qualquer pessoa nele, mas ninguém seja capaz de excluir um arquivo que não seja aquele criado por ele mesmo.
Podemos criar o diretório dando acesso de leitura e execução a todos no grupo e definindo seu sticky bit “t” como segue:
mkdir direc1 chmod g+wx direc1 chmod +t direc1
16) Como você pode descobrir há quanto tempo o sistema está funcionando?
Podemos descobrir isso usando o comando “uptime”.
17) Como qualquer usuário pode descobrir todas as informações sobre um usuário específico, como seu shell padrão, nome real, diretório padrão, quando e há quanto tempo ele usa o sistema?
dedo “loginName” …onde loginName é o nome de login do
usuário cujas informações são esperadas.
18) Qual é a diferença entre $$ e $!?
$$ fornece o ID do processo atualmente em execução, enquanto $! Mostra o ID do processo que recentemente entrou em segundo plano.
19) O que são processos zumbis?
Esses são os processos que morreram, mas cujo status de saída ainda não foi escolhido pelo processo pai. Esses processos, mesmo que não estejam funcionais, ainda possuem sua entrada de ID de processo na tabela de processos.
20) Como você copiará um arquivo de uma máquina para outra?
Podemos usar utilitários como “ftp”, “scp” ou “rsync” para copiar um arquivo de uma máquina para outra.
Por exemplo, usando FTP:
nome de host FTP
>coloque arquivo1
>tchau
Acima copia o arquivo file1 do sistema local para o sistema de destino cujo nome de host é especificado.
Perguntas e respostas da entrevista sobre scripts de shell para experientes
21) Desejo monitorar um arquivo de log em atualização contínua. Qual comando pode ser usado para conseguir isso com mais eficiência?
Podemos usar tail –f nome do arquivo. Isso fará com que apenas as últimas 10 linhas padrão sejam exibidas em std o/p, que mostra continuamente a parte de atualização do arquivo.
22) Quero me conectar a um servidor remoto e executar alguns comandos, como posso conseguir isso?
Podemos usar o ssh para fazer isso:
ssh nome de usuário@serverIP -p sshport
Exemplo
ssh raiz@122.52.251.171 -p 22
Assim que o comando acima for executado, você será solicitado a inserir a senha
23) Tenho 2 arquivos e quero imprimir os registros que são comuns a ambos.
Podemos usar o comando “comm” da seguinte forma:
comm -12 arquivo1 arquivo2… 12 suprimirá o conteúdo que é
exclusivo para 1st XXI.nd arquivo respectivamente.
24) Escreva um script para imprimir os 10 primeiros elementos da série 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) Como você se conectará a um servidor de banco de dados Linux?
Podemos usar o utilitário isql que vem com o driver cliente aberto da seguinte maneira:
isql –S serverName –U nome de usuário –P senha
26) Quais são os 3 streams padrão no Linux?
0 – Entrada Padrão1 – Saída Padrão2 – Erro Padrão
27) Quero ler todas as entradas do comando do arquivo1, direcionar todas as saídas para o arquivo2 e o erro para o arquivo 3, como posso conseguir isso?
comando arquivo1 1>arquivo2
28) O que acontecerá com meu processo atual quando eu executar um comando usando exec?
“exec” sobrepõe o processo recém-bifurcado ao processo atual; então, quando executo o comando usando exec, o comando é executado no shell atual sem criar novos processos.
Por exemplo, execução "exec ls" no prompt de comando executará ls e assim que ls sair, o processo será encerrado
29) Como você irá emular wc –l usando awk?
awk 'END {print NR} fileName'
30) Dado um arquivo, encontre a contagem de linhas que contém a palavra “ABC”.
grep –c “ABC” arquivo1
31) Qual é a diferença entre grep e egrep?
egrep é um grep estendido que suporta recursos grep adicionais como “+” (1 ou mais ocorrências de um caractere anterior)”,?”(0 ou 1 ocorrência de um caractere anterior) e “|” (correspondência alternativa)
32) Como definir um array no Linux?
Sintaxe em ksh:
Set –A arrayname= (element1 element2 ….. element) In bash A=(element1 element2 element3 …. elementn)
33) Escreva a sintaxe do loop “for”
Sintaxe:
for iterator in (elements) do execute commands done
34) Como você encontrará o espaço total em disco usado por um usuário específico?
du -s /home/user1….onde user1 é o usuário para quem o espaço total em disco precisa ser encontrado.
35) Escreva a sintaxe para condicionais “if” no Linux?
Sintaxe
If condition is successful then execute commands else execute commands fi
36) Qual é o significado de $?
O comando $? fornece o status de saída do último comando que foi executado.
37) Como excluímos todas as linhas em branco de um arquivo?
sed '^ [(backslash)011(backslash)040]*$/d' file1
onde (barra invertida)011 é um equivalente octal de espaço e
(barra invertida)040 é um equivalente octal da tabulação
38) Como vou inserir uma linha “ABCDEF” a cada 100th linha de um arquivo?
sed '100i\ABCDEF' arquivo1
39) Escreva uma sequência de comandos para encontrar todos os arquivos modificados em menos de 2 dias e imprima a contagem de registros de cada um.
encontrar . –mtime -2 –exec wc –l {} \;
40) Como posso definir a permissão rwx padrão para todos os usuários em cada arquivo criado no shell atual?
Podemos usar:
umask 777
Isso definirá a permissão rwx padrão para cada arquivo criado para cada usuário.
41) Como podemos encontrar o nome do processo a partir de seu ID de processo?
Podemos usar "ps –p ProcessId"
42) Quais são os quatro componentes fundamentais de todo sistema de arquivos no Linux?
Bootblock, super block, inode block e Datablock são componentes fundamentais de cada sistema de arquivos no Linux.
43) O que é um bloco de inicialização?
Este bloco contém um pequeno programa chamado “Master Boot record” (MBR) que carrega o kernel durante a inicialização do sistema.
44) O que é um superbloco?
O superbloco contém todas as informações sobre o sistema de arquivos, como o tamanho do sistema de arquivos, o tamanho do bloco usado, o número de blocos de dados livres e a lista de inodes e blocos de dados livres.
45) O que é um bloco inode?
Este bloco contém o inode de cada arquivo do sistema de arquivos junto com todos os atributos do arquivo, exceto seu nome.
46) Como posso enviar um e-mail com um arquivo compactado como anexo?
zip arquivo1.zip arquivo1|mailx –s “assunto” ID de e-mail do destinatário
Conteúdo de e-mail
EOF
47) Como criamos aliases de comando em um shell?
alias Aliasname=”Comando cujo alias deve ser criado”.
48) O que são campos de permissão “c” e “b” de um arquivo?
“c” e “b” campos de permissão geralmente estão associados a um arquivo de dispositivo. Ele especifica se um arquivo é um arquivo de caracteres especiais ou um arquivo especial de bloco.
49) Qual é a utilidade de uma linha shebang?
A linha Shebang no topo de cada script determina a localização do mecanismo que será usado para executar o script.
Essas perguntas da entrevista também ajudarão em sua viva (oral)

.jpg)