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)