26 Domande e risposte sull'intervista sugli script di shell da leggere [per principianti ed esperti]

Pubblicato: 2020-12-17

Una Shell è un interprete della riga di comando o un ambiente completo progettato per eseguire comandi, script di shell e programmi. Una volta inseriti i comandi nella shell, eseguirà il programma in base al tuo input.

In sostanza, traduce i comandi di input e li converte in un linguaggio compatibile con il kernel. Uno script della shell si riferisce a un elenco di comandi in un programma eseguito dalla shell Unix. Lo script include commenti che definiscono i comandi in ordine di sequenza di esecuzione.

Se l'introduzione ti fa venire voglia di saperne di più su Shell Scripting, continua a scorrere fino alla fine: abbiamo compilato un elenco di domande e risposte per interviste Shell Scripting per aiutarti a dare il via al tuo processo di apprendimento! Se vuoi saperne di più sulla scienza dei dati, dai un'occhiata ai nostri corsi sulla scienza dei dati.

Sommario

Domande e risposte sull'intervista sugli script di shell

  1. Quali sono i vantaggi di Shell Scripting?

I maggiori vantaggi di Shell Scripting sono:

  • Ti consente di creare un sistema operativo personalizzato per soddisfare al meglio le tue esigenze.
  • Ti consente di progettare applicazioni software basate sulla piattaforma che stai utilizzando.
  • È esperto di tempo in quanto aiuta ad automatizzare le attività di amministrazione del sistema.

2. Cosa sono le variabili Shell?

Le variabili Shell costituiscono la parte principale di un programma o script Shell. Le variabili consentono a Shell di memorizzare e manipolare le informazioni all'interno di un programma Shell. Le variabili shell sono generalmente memorizzate come variabili stringa.

3. Elencare i tipi di variabili utilizzati in Shell Scripting.

Di solito, uno script di shell ha due tipi di variabili:

  • Variabili definite dal sistema: vengono create dal sistema operativo (Linux) e sono definite in lettere maiuscole. Puoi visualizzarli usando il comando Imposta.
  • Variabili definite dall'utente: vengono create e definite dagli utenti del sistema. È possibile visualizzare i valori delle variabili utilizzando il comando Echo.
  1. Come rendere immutabile una variabile?

Puoi rendere una variabile non modificabile usando la sola lettura. Diciamo che vuoi che il valore della variabile 'a' rimanga come cinque e lo mantenga costante, quindi usi readonly in questo modo:

$ un=5

$ di sola lettura a

  1. Assegna un nome ai diversi tipi di conchiglie.

Esistono quattro tipi principali di Shell, vale a dire:

  • Bourne Shell (sh)
  • C Shell (csh)
  • Conchiglia Korn (ksh)
  • Bourne Again Shell (bash)
  1. Spiega "Parametri di posizione".

I parametri posizionali sono variabili definite da una Shell. Sono usati per passare informazioni al programma specificando argomenti nella riga di comando.

  1. Quante shell e kernel sono disponibili in un ambiente UNIX?

In genere, un ambiente UNIX ha un solo kernel. Tuttavia, sono disponibili più Shell.

  1. Hai bisogno di un compilatore separato per eseguire un programma Shell?

No, non è necessario un compilatore separato per eseguire un programma Shell. Poiché Shell stessa è una riga di comando nel programma della shell e li esegue.

  1. Come si modificano i permessi dei file in Shell Scripting?

Puoi modificare i permessi dei file tramite umask.

  1. Che cosa significa un "." (punto) all'inizio di un nome di file indicare?

Un nome file che inizia con un "." è un file nascosto. Di solito, quando si tenta di elencare i file in una Shell, vengono elencati tutti i file tranne i file nascosti. Tuttavia, i file nascosti sono presenti nella directory. Se desideri visualizzare i file nascosti, devi eseguire il comando Is con il flag “–a”.

  1. Come creare un collegamento in Linux?

Puoi creare scorciatoie in Linux tramite due collegamenti:

Hard link: questi collegamenti sono collegati all'inode del file. Sono sempre presenti nello stesso file system del file. Anche se elimini il file originale, il collegamento fisico rimarrà inalterato.

Collegamento software: questi collegamenti sono collegati al nome del file. Possono risiedere o meno sullo stesso file system del file. Se elimini il file originale, il collegamento software diventa inattivo.

12. Assegna un nome alle diverse fasi di un processo Linux.

Tipicamente, un processo Linux attraversa quattro fasi:

  • In attesa: in questa fase, il processo Linux deve attendere la risorsa richiesta.
  • In esecuzione: in questa fase, il processo viene eseguito.
  • Arrestato: dopo l'esecuzione riuscita, il processo Linux si interrompe.
  • Zombie – Nella fase finale, anche se il processo non è più in esecuzione, rimane attivo nella tabella dei processi.
  1. Esiste un comando alternativo per "eco?"

Sì, tput è un'alternativa al comando echo. Il comando tput consente di controllare come l'output verrà visualizzato sullo schermo.

  1. Quanti blocchi contiene un file system?

Un file system ha quattro blocchi:

  • Superblock: questo blocco offre informazioni sullo stato di un file system come dimensione del blocco, dimensione del gruppo di blocchi, informazioni sull'utilizzo, blocchi vuoti/pieni e rispettivi conteggi, dimensioni e posizione delle tabelle di inode, ecc.
  • Bootblock: questo blocco contiene il programma di caricamento bootstrap che viene eseguito quando un utente avvia la macchina host.
  • Datablock: questo blocco include il contenuto del file del file system.
  • Tabella degli inode: UNIX tratta tutti gli elementi come file e tutte le informazioni relative ai file vengono archiviate nella tabella degli inode.

Da leggere: Domande sull'intervista Python

  1. Assegna un nome alle tre modalità di funzionamento di vi editor.

Le tre modalità di funzionamento sono:

  • Modalità di comando: questa modalità tratta e interpreta qualsiasi tasto premuto da un utente come comandi dell'editor.
  • Modalità di inserimento: è possibile utilizzare questa modalità per inserire un nuovo testo, modificare un testo esistente, ecc.
  • Modalità ex comando: un utente può immettere tutti i comandi su una riga di comando.
  1. Definisci "Istruzioni di controllo". Quanti tipi di istruzioni di controllo sono disponibili in una shell?

Le istruzioni di controllo sono comandi che consentono di specificare come devono essere eseguite le diverse istruzioni in uno script. Pertanto, il loro scopo principale è determinare il flusso di controllo in un programma Shell.

Una shell ha quattro tipi di istruzioni di controllo:

  • L'istruzione di controllo della sequenza impone l'esecuzione delle istruzioni nello stesso ordine in cui si trovano nel programma.
  • Istruzione di controllo di selezione/decisione che consente al computer di determinare quale istruzione deve essere eseguita successivamente.
  • Istruzioni di ripetizione/controllo del ciclo che consentono al computer di eseguire un gruppo di istruzioni in modo ripetitivo.
  • L'istruzione case-control viene utilizzata quando è necessario scegliere tra una gamma di alternative.
  1. Definisci "IFS".

IFS si riferisce al separatore di campo interno. È una variabile di sistema il cui valore predefinito è spazio, tab, seguito da una nuova riga. IFS indica dove un campo o una parola termina in una riga e dove inizia un'altra.

  1. Definisci "Metacaratteri".

Una shell è costituita da metacaratteri, che sono caratteri speciali in un campo dati o in un programma che offre informazioni su altri caratteri. Ad esempio, il comando “ls s*” in una Shell elenca tutti i file che iniziano con il carattere 's'.

  1. Distinguere tra $* e $@.

Mentre $* tratta un gruppo completo di parametri posizionali come una singola stringa, $@ tratta ogni argomento tra virgolette come argomenti separati.

Leggi anche: Stipendio per sviluppatori Python in India

21. Scrivete la sintassi del ciclo while in Shell Scripting.

In Shell Scripting, il ciclo while viene utilizzato quando si desidera ripetere più volte il blocco di comandi. La sintassi per il ciclo "while" è:

mentre [condizione di prova]

fare

comandi...

fatto

  1. In che modo i comandi di interruzione e continua sono diversi?

Il comando break viene utilizzato per uscire da un ciclo in esecuzione. È possibile utilizzare il comando break per uscire da qualsiasi comando di ciclo, inclusi i cicli fino e while. D'altra parte, il comando continue viene utilizzato per uscire dall'iterazione corrente del ciclo senza uscire dal ciclo completo.

23. Perché utilizziamo la linea Shebang in Shell Scripting?

La riga Shebang è situata nella parte superiore di uno script/programma Shell. Informa l'utente sulla posizione del motore che esegue lo script.

Ecco un esempio di una linea Shebang:

#!/bin/sh

ct $ 1

  1. Puoi eseguire più script in una Shell?

Sì, è possibile eseguire più script in una Shell. L'esecuzione di più script consente di richiamare uno script da un altro. Per fare ciò, devi menzionare il nome dello script da chiamare quando desideri invocarlo.

  1. Quale comando dovresti usare per sapere da quanto tempo è in esecuzione un sistema?

È necessario utilizzare il comando uptime per sapere da quanto tempo è in esecuzione un sistema. Ecco un esempio del comando uptime:

u/user1/Shell_Scripts_2018> tempo di attività

  1. Quale comando dovresti usare per controllare l'utilizzo del disco?

È possibile utilizzare i tre comandi seguenti per verificare l'utilizzo del disco:

  • df – Viene utilizzato per controllare lo spazio libero su disco.
  • du – Viene utilizzato per controllare l'utilizzo del disco in base alla directory.
  • dfspace – Controlla lo spazio libero su disco in megabyte (MB).

27. Cosa intendi per Crontab?

Crontab è l'abbreviazione di cron table, dove Cron è un programma di pianificazione dei lavori che esegue attività. Crontab è un elenco di comandi che desideri eseguire in base a una pianificazione, insieme al comando che desideri utilizzare per gestire tale elenco.

28. Quando non dovremmo usare Shell Scripting?

Non dovremmo usare Shell Scripting in questi casi:

  • Se l'attività è molto complicata, come la scrittura di una soluzione completa per l'elaborazione delle buste paga, non dovremmo utilizzare Shell Scripting.
  • Se il lavoro richiede un alto livello di produttività, non dovremmo usare Shell Scripting.
  • Se il lavoro richiede più soluzioni software, non dovremmo utilizzare Shell Scripting.

29. Come si confrontano le stringhe in uno script Shell?

Usiamo il comando test per confrontare le stringhe di testo. Confronta le stringhe di testo confrontando ogni carattere presente in ogni stringa.

Leggi: Domande per il colloquio con l'ingegnere dei dati

30. Cosa intendi per file system?

Un file system è una raccolta di file insieme alle informazioni relative a tali file. Controlla come i dati vengono recuperati e archiviati. Senza i file system, i dati presenti nell'archiviazione sarebbero solo un grande corpo di dati senza modo di sapere dove finisce un dato e inizia un altro.

31. Riesci a distinguere tra virgolette singole e virgolette doppie?

Sì. Usiamo virgolette singole dove non vogliamo eseguire la valutazione delle variabili sui valori. D'altra parte, utilizziamo le virgolette dove vogliamo eseguire la valutazione delle variabili sui valori.

32. Cosa intendi per scripting GUI?

Usiamo la GUI per controllare un computer e le sue applicazioni. Attraverso lo scripting della GUI, possiamo gestire varie applicazioni, a seconda del sistema operativo.

33. Cosa sai dello script Super Block in Shell?

Il Super Block è un programma che ha una registrazione di particolari file system. Contiene caratteristiche tra cui la dimensione del blocco, i blocchi pieni e vuoti con i rispettivi conteggi, la posizione e la dimensione delle tabelle degli inode, le informazioni sull'utilizzo, la mappa dei blocchi del disco, ecc.

34. Qual è l'importanza della linea Shebang?

La linea Shebang rimane in cima alla sceneggiatura. Fornisce informazioni sulla posizione in cui si trova il motore, che esegue lo script.

35. Fornire alcuni dei comandi UNIX più popolari.

Ecco alcuni dei comandi UNIX più popolari:

  • cd – Il comando cd cambia la directory nella home directory dell'utente quando viene utilizzato come $ cd. Puoi usarlo per cambiare la directory da testare tramite $ cd test.
  • ls – Il comando ls elenca i file nella directory corrente quando viene utilizzato come $ ls. Puoi usarlo per registrare file nel formato lungo usandolo come $ ls -lrt.
  • rm – Il comando rm cancellerà il file denominato fileA quando lo si utilizza come $ rm fileA.
  • cat – Questo comando mostrerebbe il contenuto presente in un file quando lo usi come $ cat nomefile.
  • mv – Il comando mv può rinominare o spostare file. Ad esempio, il comando $ mv fileA fileB sposta i file denominati fileA e fileB.
  • date – Il comando date mostra l'ora e la data attuali.
  • grep – Il comando grep può cercare informazioni specifiche in un file. Ad esempio, il comando $ grep Hello fileA cercherà le righe in cui è presente la parola "Hello".
  • finger – Il comando finger mostra le informazioni sull'utente.
  • ps – Il comando ps mostra i processi attualmente in esecuzione sulla tua macchina.
  • man – Il comando man mostra la guida in linea o il manuale su un comando specificato. Ad esempio, il comando $ ms rm visualizzerebbe il manuale in linea per il comando rm.
  • pwd – Il comando pwd mostra la directory di lavoro corrente.
  • wc – Il comando wc conta il numero di caratteri, parole e righe presenti in un file.
  • cronologia: il comando cronologia mostra l'elenco di tutti i comandi utilizzati di recente.
  • gzip – Il comando gzip comprime il file specificato. Ad esempio, il comando $ gzip fileA comprime il fileA e lo cambia in fileA.gz.
  • logname – Il comando logname stamperebbe il nome del registro dell'utente.
  • head – Il comando head mostra le prime righe presenti nel file. Ad esempio, il comando $ head -15 fileA visualizzerà le prime 15 righe di fileA.

Note aggiuntive: questa è una delle domande più cruciali dell'intervista sugli script Shell. Raccomandiamo di preparare un elenco più completo di comandi UNIX poiché molte versioni di questa domanda vengono poste nelle interviste.

Da leggere: Domande sull'intervista sulla scienza dei dati

36. In che modo C Shell è migliore di Bourne Shell?

C Shell è migliore di Bourne Shell per i seguenti motivi:

  • C Shell ti consente di alias i comandi. Ciò significa che l'utente può assegnare qualsiasi nome desiderato a un comando. È abbastanza vantaggioso quando l'utente deve utilizzare un comando lungo più volte. Invece di digitare più volte il nome lungo del comando, l'utente può digitare il nome assegnato. Risparmia molto tempo ed energia, rendendo il processo molto più efficiente.
  • C Shell ha una funzione di cronologia dei comandi, in cui C Shell ricorda tutti i comandi utilizzati in precedenza. È possibile utilizzare questa funzione per evitare di digitare lo stesso comando più volte. Migliora notevolmente l'efficienza.

Per i due motivi di cui sopra, l'utilizzo di C Shell è molto più vantaggioso di Bourne Shell.

37. Che cosa è essenziale per scrivere script di shell?

Lo scripting della shell ha molti vantaggi che lo rendono cruciale. Prende l'input dagli utenti, lo archivia e lo visualizza sullo schermo. Inoltre, ti consente di creare i tuoi comandi e automatizzare semplici attività quotidiane. È possibile utilizzare gli script Shell anche per automatizzare le attività di amministrazione del sistema. Lo scripting della shell rende i tuoi processi più efficienti facendoti risparmiare molta energia e tempo. Per questo motivo è piuttosto essenziale e ampiamente utilizzato.

Conclusione

Ci auguriamo che queste 26 domande e risposte sull'intervista Shell Scripting ti aiutino a rompere il ghiaccio su Shell Scripting e prepararti per la tua prossima intervista!

Se sei curioso di conoscere la scienza dei dati, dai un'occhiata al programma Executive PG in Data Science di IIIT-B e upGrad, creato per i professionisti che lavorano e offre oltre 10 casi di studio e progetti, workshop pratici pratici, tutoraggio con esperti del settore, 1 -on-1 con mentori del settore, oltre 400 ore di apprendimento e assistenza al lavoro con le migliori aziende.

Che cos'è lo scripting della shell?

Lo scripting della shell è il processo di scrittura di script/codici per automatizzare attività monotone. Invece di inserire i comandi uno dopo l'altro n volte, puoi creare uno script per automatizzare una serie di istruzioni che vengono eseguite una dopo l'altra. Le fasi essenziali nello scripting della shell sono scrivere lo script, renderlo accessibile alla shell e concedere l'autorità di esecuzione della shell. Gli script della shell sono scritti in testo ASCII e includono testo ASCII. Vengono creati con un editor di testo, un elaboratore di testi o un'interfaccia utente grafica (GUI). Il contenuto dello script consiste in una sequenza di comandi scritti in un linguaggio comprensibile alla shell. Una volta completato, il file viene salvato con estensione e in un luogo accessibile alla shell.

Quali sono le applicazioni degli script di shell?

Lo scripting della shell è facile ed efficace. Utilizza la stessa sintassi nello script come farebbe sulla riga di comando della shell, eliminando qualsiasi ambiguità. Uno script di shell è utile per attività ripetitive che richiederebbero troppo tempo per essere completate inserendo una riga alla volta. Gli utenti possono utilizzare gli script della shell per una varietà di scopi, come automatizzare il processo di compilazione del codice, eseguire un programma o creare un ambiente di programmazione, completare il batch e manipolare i file, nonché collegare programmi esistenti, eseguire backup di routine e monitorare i sistemi.

Lo scripting di shell è una buona professione?

Lo scripting della shell viene utilizzato in vari campi come l'automazione, la programmazione, le attività di amministrazione del sistema, l'automazione delle applicazioni, l'impostazione dei pacchetti, l'automazione della convalida, il backup e il ripristino dei dati in un sistema, ecc. Quindi, lo scripting della shell è una parte essenziale del reparto IT di ogni azienda . Inoltre, è utile durante la carriera IT di un individuo. Con una paga media di ₹ 6.39.000 all'anno, lo scripting Shell è una buona professione con molte prospettive per i suoi studenti. La maggior parte dei professionisti IT lo utilizza ogni giorno per piccole faccende automatizzate in quanto consente di risparmiare molto tempo.