26 perguntas e respostas obrigatórias da entrevista de script Shell [para calouros e experientes]

Publicados: 2020-12-17

Um Shell é um interpretador de linha de comando ou um ambiente completo projetado para executar comandos, scripts de shell e programas. Depois de alimentar comandos no shell, ele executará o programa com base em sua entrada.

Essencialmente, ele traduz os comandos de entrada e os converte em uma linguagem compatível com Kernel. Um Shell Script refere-se a uma lista de comandos em um programa executado pelo Unix Shell. O script inclui comentários que definem os comandos na ordem de sua sequência de execução.

Se a introdução fizer você querer saber mais sobre o Shell Scripting, continue rolando até o final – compilamos uma lista de perguntas e respostas da entrevista do Shell Scripting para ajudar a iniciar seu processo de aprendizado! Se você quiser aprender mais sobre ciência de dados, confira nossos cursos de ciência de dados.

Índice

Perguntas e respostas da entrevista de script Shell

  1. Quais são as vantagens do Shell Scripting?

Os maiores benefícios do Shell Scripting são:

  • Ele permite que você crie um sistema operacional personalizado para melhor atender às suas necessidades.
  • Ele permite projetar aplicativos de software com base na plataforma que você está usando.
  • É rápido, pois ajuda a automatizar as tarefas de administração do sistema.

2. O que são variáveis ​​do Shell?

As variáveis ​​de shell formam a parte central de um programa ou script Shell. As variáveis ​​permitem que o Shell armazene e manipule informações dentro de um programa Shell. As variáveis ​​de shell geralmente são armazenadas como variáveis ​​de string.

3. Liste os tipos de variáveis ​​usadas no Shell Scripting.

Normalmente, um Shell Script tem dois tipos de variáveis:

  • Variáveis ​​definidas pelo sistema – São criadas pelo sistema operacional (Linux) e são definidas em letras maiúsculas. Você pode visualizá-los usando o comando Set.
  • Variáveis ​​definidas pelo usuário – São criadas e definidas pelos usuários do sistema. Você pode visualizar os valores das variáveis ​​usando o comando Echo.
  1. Como você pode tornar uma variável imutável?

Você pode tornar uma variável imutável usando somente leitura. Digamos que você queira que o valor da variável 'a' permaneça como cinco e mantenha-o constante, então você usa readonly assim:

$ a = 5

$ somente leitura a

  1. Nomeie os diferentes tipos de Shells.

Existem quatro tipos principais de Shells, a saber:

  • Bourne Shell (sh)
  • C Shell (csh)
  • Korn Shell (ksh)
  • Bourne Again Shell (bash)
  1. Explique “Parâmetros posicionais”.

Parâmetros posicionais são variáveis ​​definidas por um Shell. Eles são usados ​​para passar informações ao programa especificando argumentos na linha de comando.

  1. Quantos Shells e Kernels estão disponíveis em um ambiente UNIX?

Normalmente, um ambiente UNIX possui apenas um Kernel. No entanto, existem vários Shells disponíveis.

  1. Você precisa de um compilador separado para executar um programa Shell?

Não, você não precisa de um compilador separado para executar um programa Shell. Como o próprio Shell é uma linha de comando no programa shell e os executa.

  1. Como você modifica as permissões de arquivo no Shell Scripting?

Você pode modificar as permissões de arquivo via umask.

  1. O que faz um "." (ponto) no início de um nome de arquivo indica?

Um nome de arquivo que começa com um “.” é um arquivo oculto. Normalmente, quando você tenta listar os arquivos em um Shell, ele lista todos os arquivos, exceto os arquivos ocultos. No entanto, os arquivos ocultos estão presentes no diretório. Se você deseja visualizar arquivos ocultos, você deve executar o comando Is com o sinalizador “–a”.

  1. Como criar um atalho no Linux?

Você pode criar atalhos no Linux através de dois links:

Hard link – Esses links estão vinculados ao inode do arquivo. Eles estão sempre presentes no mesmo sistema de arquivos que o arquivo. Mesmo se você excluir o arquivo original, o link físico permanecerá inalterado.

Soft link – Esses links estão vinculados ao nome do arquivo. Eles podem ou não residir no mesmo sistema de arquivos que o arquivo. Se você excluir o arquivo original, o soft link ficará inativo.

12. Cite os diferentes estágios de um processo Linux.

Normalmente, um processo Linux passa por quatro fases:

  • Aguardando – Neste estágio, o processo Linux precisa aguardar o recurso necessário.
  • Running – Nesta etapa, o processo é executado.
  • Parado – Após a execução bem-sucedida, o processo do Linux é interrompido.
  • Zombie – Na etapa final, mesmo que o processo não esteja mais em execução, ele permanece ativo na tabela de processos.
  1. Existe um comando alternativo para "echo?"

Sim, tput é uma alternativa para o comando echo. O comando tput permite controlar como a saída será exibida na tela.

  1. Quantos blocos um sistema de arquivos contém?

Um sistema de arquivos tem quatro blocos:

  • Superblock – Este bloco oferece informações sobre o estado de um sistema de arquivos, como tamanho do bloco, tamanho do grupo de blocos, informações de uso, blocos vazios/preenchidos e suas respectivas contagens, tamanho e localização das tabelas de inodes, etc.
  • Bootblock – Este bloco contém o programa bootstrap loader que é executado quando um usuário inicializa a máquina host.
  • Datablock – Este bloco inclui o conteúdo do arquivo do sistema de arquivos.
  • Tabela de inodes – UNIX trata todos os elementos como arquivos e todas as informações relacionadas aos arquivos são armazenadas na tabela de inodes.

Deve ler: Perguntas da entrevista em Python

  1. Nomeie os três modos de operação do editor vi.

Os três modos de operação são:

  • Modo de comando – Este modo trata e interpreta qualquer tecla pressionada por um usuário como comandos do editor.
  • Modo de inserção – Você pode usar este modo para inserir um novo texto, editar um texto existente, etc.
  • Modo Ex-comando – Um usuário pode inserir todos os comandos em uma linha de comando.
  1. Defina "Instruções de controle". Quantos tipos de instruções de controle estão disponíveis em um Shell?

As instruções de controle são comandos que permitem especificar como as diferentes instruções em um script devem ser executadas. Assim, seu objetivo principal é determinar o fluxo de controle em um programa Shell.

Um Shell tem quatro tipos de instruções de controle:

  • A instrução de controle de sequência impõe que as instruções sejam executadas na mesma ordem em que estão no programa.
  • Instrução de controle de seleção/decisão que permite ao computador determinar qual instrução deve ser executada em seguida.
  • Instrução de controle de repetição/loop que permite que o computador execute um grupo de instruções repetidamente.
  • A instrução caso-controle é usada quando você precisa escolher entre uma variedade de alternativas.
  1. Defina "IFS".

IFS refere-se ao Separador de Campo Interno. É uma variável do sistema cujo valor padrão é espaço, tab, seguido de uma nova linha. IFS denota onde um campo ou palavra termina em uma linha e onde outra começa.

  1. Defina "Metacaracteres".

Um Shell consiste em metacaracteres, que são caracteres especiais em um campo de dados ou programa que oferece informações sobre outros caracteres. Por exemplo, o comando “ls s*” em um Shell lista todos os arquivos que começam com o caractere 's'.

  1. Diferencie entre $* e $@.

Enquanto $* trata um grupo completo de parâmetros posicionais como uma única string, $@ trata cada argumento entre aspas como argumentos separados.

Leia também: Salário do desenvolvedor Python na Índia

21. Escreva a sintaxe do loop while no Shell Scripting.

No Shell Scripting, o loop while é usado quando você deseja repetir seu bloco de comandos várias vezes. A sintaxe para o loop “while” é:

enquanto [condição de teste]

Faz

comandos…

feito

  1. Como os comandos break e continue são diferentes?

O comando break é usado para escapar de um loop em execução. Você pode usar o comando break para sair de qualquer comando de loop, incluindo loops until e while. Por outro lado, o comando continue é usado para sair da iteração atual do loop sem sair do loop completo.

23. Por que usamos a linha Shebang no Shell Scripting?

A linha Shebang está situada no topo de um script/programa Shell. Ele informa ao usuário sobre a localização do mecanismo que executa o script.

Aqui está um exemplo de uma linha Shebang:

#!/bin/sh

ct $ 1

  1. Você pode executar vários scripts em um Shell?

Sim, é possível executar vários scripts em um Shell. A execução de vários scripts permite chamar um script de outro. Para isso, você deve mencionar o nome do script a ser chamado quando desejar invocá-lo.

  1. Qual comando você deve usar para saber há quanto tempo um sistema está em execução?

Você precisa usar o comando uptime para saber há quanto tempo um sistema está em execução. Aqui está um exemplo do comando uptime:

u/user1/Shell_Scripts_2018> tempo de atividade

  1. Qual comando você deve usar para verificar o uso do disco?

Você pode usar os três comandos a seguir para verificar o uso do disco:

  • df – É usado para verificar o espaço livre em disco.
  • du – É usado para verificar o uso do disco pelo diretório.
  • dfspace – Verifica o espaço livre em disco em megabytes (MB).

27. O que você entende por Crontab?

Crontab é a abreviação de cron table, onde Cron é um agendador de tarefas que executa tarefas. Crontab é uma lista de comandos que você deseja executar em um agendamento, juntamente com o comando que deseja usar para gerenciar essa lista.

28. Quando não devemos usar o Shell Scripting?

Não devemos usar o Shell Scripting nestes casos:

  • Se a tarefa for muito complicada, como escrever uma solução completa de processamento de folha de pagamento, não devemos usar o Shell Scripting.
  • Se o trabalho exigir um alto nível de produtividade, não devemos usar o Shell Scripting.
  • Se o trabalho exigir várias soluções de software, não devemos usar o Shell Scripting.

29. Como você compara as strings em um script Shell?

Usamos o comando test para comparar strings de texto. Ele compara strings de texto comparando cada caractere presente em cada string.

Leia: Perguntas da entrevista do engenheiro de dados

30. O que você quer dizer com sistema de arquivos?

Um sistema de arquivos é uma coleção de arquivos junto com informações relacionadas a esses arquivos. Ele controla como os dados são recuperados e armazenados. Sem sistemas de arquivos, os dados presentes no armazenamento seriam apenas um grande corpo de dados, sem nenhuma maneira de dizer onde um dado termina e outro começa.

31. Você consegue diferenciar entre aspas simples e aspas duplas?

sim. Usamos aspas simples onde não queremos realizar a avaliação das variáveis ​​para valores. Por outro lado, usamos aspas duplas onde queremos realizar a avaliação das variáveis ​​para valores.

32. O que você quer dizer com scripts de GUI?

Usamos GUI para controlar um computador e seus aplicativos. Por meio de scripts de GUI, podemos lidar com vários aplicativos, dependendo do sistema operacional.

33. O que você sabe sobre o script Super Block in Shell?

O Super Block é um programa que possui um registro de determinados sistemas de arquivos. Ele contém características que incluem o tamanho do bloco, blocos cheios e vazios com suas respectivas contagens, a localização e o tamanho das tabelas de inodes, informações de uso, o mapa de blocos do disco, etc.

34. Qual é a importância da linha Shebang?

A linha Shebang permanece no topo do roteiro. Ele fornece informações sobre o local onde está o mecanismo, que executa o script.

35. Forneça alguns dos comandos UNIX mais populares.

Aqui estão alguns dos comandos UNIX mais populares:

  • cd – O comando cd altera o diretório para o diretório inicial do usuário quando usado como $ cd. Você pode usá-lo para alterar o diretório para testar através do $ cd test.
  • ls – O comando ls lista os arquivos no diretório atual quando usado como $ ls. Você pode usá-lo para gravar arquivos no formato longo usando-o como $ ls -lrt.
  • rm – O comando rm excluirá o arquivo chamado fileA quando você o usar como $ rm fileA.
  • cat – Este comando exibiria o conteúdo presente em um arquivo quando você o usasse como $ cat filename.
  • mv – O comando mv pode renomear ou mover arquivos. Por exemplo, o comando $ mv fileA fileB moveria arquivos denominados fileA e fileB.
  • date – O comando date mostra a hora e a data atuais.
  • grep – O comando grep pode pesquisar informações específicas em um arquivo. Por exemplo, o comando $ grep Hello fileA buscaria as linhas onde a palavra 'Hello' estivesse presente.
  • finger – O comando finger mostra informações sobre o usuário.
  • ps – O comando ps mostra os processos atualmente em execução em sua máquina.
  • man – O comando man mostra a ajuda online ou manual sobre um comando especificado. Por exemplo, o comando $ ms rm exibiria o manual online para o comando rm.
  • pwd – O comando pwd mostra o diretório de trabalho atual.
  • wc – O comando wc conta o número de caracteres, palavras e linhas presentes em um arquivo.
  • history – O comando history mostra a lista de todos os comandos que você usou recentemente.
  • gzip – O comando gzip compacta o arquivo especificado. Por exemplo, o comando $ gzip fileA compactaria fileA e o transformaria em fileA.gz.
  • logname – O comando logname imprimiria o nome de log do usuário.
  • head – O comando head mostra as primeiras linhas presentes no arquivo. Por exemplo, o comando $ head -15 fileA exibiria as primeiras 15 linhas de fileA.

Notas adicionais: Esta é uma das perguntas mais importantes da entrevista de script da Shell. Recomendamos preparar uma lista mais completa de comandos UNIX, pois muitas versões dessa pergunta são feitas em entrevistas.

Leitura obrigatória: perguntas da entrevista sobre ciência de dados

36. Como C Shell é melhor que Bourne Shell?

C Shell é melhor que Bourne Shell pelas seguintes razões:

  • O C Shell permite que você crie um alias para os comandos. Isso significa que o usuário pode dar qualquer nome desejado a um comando. É bastante benéfico quando o usuário precisa usar um comando longo várias vezes. Em vez de digitar o nome longo do comando várias vezes, o usuário pode digitar o nome atribuído. Economiza muito tempo e energia, tornando o processo muito mais eficiente.
  • O C Shell possui um recurso de histórico de comandos, onde o C Shell lembra todos os comandos usados ​​anteriormente. Você pode usar esse recurso para evitar digitar o mesmo comando várias vezes. Aumenta substancialmente a eficiência.

Devido às duas razões acima, usar o C Shell é muito mais vantajoso do que o Bourne Shell.

37. O que é essencial para escrever Shell Scripts?

O script de shell tem muitos benefícios que o tornam crucial. Ele recebe a entrada dos usuários, arquiva e exibe na tela. Além disso, permite que você faça seus próprios comandos e automatize tarefas diárias simples. Você também pode usar o script Shell para automatizar as tarefas de administração do sistema. O script de shell torna seus processos mais eficientes, economizando muita energia e tempo. Devido a isso, é bastante essencial e amplamente utilizado.

Conclusão

Esperamos que essas 26 perguntas e respostas da entrevista do Shell Scripting ajudem você a quebrar o gelo no Shell Scripting e a se preparar para sua próxima entrevista!

Se você está curioso para aprender sobre ciência de dados, confira o Programa PG Executivo em Ciência de Dados do IIIT-B & upGrad, que é criado para profissionais que trabalham e oferece mais de 10 estudos de caso e projetos, workshops práticos práticos, orientação com especialistas do setor, 1 -on-1 com mentores do setor, mais de 400 horas de aprendizado e assistência de trabalho com as principais empresas.

O que é script de shell?

Shell scripting é o processo de escrever scripts/códigos para automatizar tarefas monótonas. Em vez de colocar os comandos um após o outro n vezes, você pode construir um script para automatizar uma série de instruções que são executadas uma após a outra. Os estágios essenciais no shell script são escrever o script, torná-lo acessível ao shell e conceder autoridade de execução do shell. Os scripts de shell são escritos em texto ASCII e incluem texto ASCII. Eles são criados com um editor de texto, processador de texto ou interface gráfica do usuário (GUI). O conteúdo do script consiste em uma sequência de comandos escritos em uma linguagem que o shell possa entender. Uma vez concluído, o arquivo é salvo com uma extensão e em um local acessível ao shell.

Quais são as aplicações do shell script?

O script de shell é fácil e eficaz. Ele utiliza a mesma sintaxe no script que usaria na linha de comando do shell, eliminando qualquer ambiguidade. Um script de shell é útil para atividades repetitivas que levariam muito tempo para serem concluídas inserindo uma linha de cada vez. Os usuários podem usar scripts de shell para diversas finalidades, como automatizar o processo de compilação de código, executar um programa ou estabelecer um ambiente de programação, concluir o lote e manipular arquivos, além de conectar programas existentes, realizar backups de rotina e monitorar sistemas.

Shell scripting é uma boa profissão?

O script Shell é usado em vários campos, como automação, programação, tarefas de administração do sistema, automação de aplicativos, configuração de pacotes, automação de validação, backup e restauração de dados em um sistema, etc. . Além disso, é útil em toda a carreira de TI de um indivíduo. Com um salário médio de ₹ 6.39.000 por ano, o script da Shell é uma boa profissão com muitas perspectivas para seus alunos. A maioria dos profissionais de TI o usa todos os dias para tarefas automatizadas modestas, pois economiza muito tempo.