Oltre 30 domande e risposte alle interviste frequenti su Linux [2023]
Pubblicato: 2023-01-03Sebbene il sistema operativo Linux sia iniziato come un progetto per hobby di Linus Torvalds nel 1991, è cresciuto fino a diventare un attore dominante nell'alimentazione di supercomputer, server Web, smartphone e molte altre tecnologie.
Linux è favorito per la sua stabilità, sicurezza e uso efficace delle risorse. L'uso e la domanda di Linux sono cresciuti nel corso degli anni e questa tendenza non si fermerà presto.
Nel 2021 Statista ha riferito che il 47% degli sviluppatori professionisti utilizza Linux. Nello stesso anno il 9° rapporto annuale sui lavori open source ha mostrato che lo sviluppo e l'amministrazione di Linux era la seconda competenza più richiesta dai responsabili delle assunzioni e dagli sviluppatori.
Le competenze in Linux sono cruciali nello sviluppo di software, amministrazione di sistema, DevOps, amministrazione di rete, ingegneria della sicurezza e scienza dei dati, tra molti altri. Pertanto, se sei interessato a uno di questi campi, è probabile che verrai intervistato sulle tue abilità in Linux.
Per aiutarti a prepararti, ecco alcune delle principali domande dell'intervista su Linux che potresti incontrare e le relative risposte.
Cos'è Linux?
Risposta : Linux è un sistema operativo gratuito e open source sviluppato nel 1991 da Linux Torvalds e rilasciato sotto GNU General Public License (GPL).
Perché usare Linux?
Risposta : Ci sono diversi vantaggi nell'usare il sistema operativo Linux. Innanzitutto, Linux è altamente sicuro e quasi completamente immune agli attacchi di malware.
Inoltre, Linux è altamente stabile, affidabile e raramente si arresta in modo anomalo, motivo per cui molti server utilizzano Linux. Linux ha anche il vantaggio di essere leggero, consumando meno RAM e memoria, permettendone l'utilizzo anche su macchine più vecchie.
Per dirla tutta, Linux è gratuito, open source, regolarmente aggiornato e altamente personalizzabile, consentendo agli utenti di modificare qualsiasi cosa sul sistema operativo per soddisfare le proprie esigenze. Esistono anche diverse distribuzioni ottimizzate per gli hacker, altre per i programmatori e persino per gli utenti generici.
Quali sono i componenti di base del sistema operativo Linux?
Risposta: Il sistema operativo Linux è costituito da tre componenti di base.
- Kernel: questo è il componente principale del sistema operativo Linux. È il livello più basso del sistema operativo Linux e interagisce direttamente con l'hardware di un computer. Il kernel alloca e gestisce le risorse hardware come la CPU, la memoria e l'archiviazione e fornisce servizi ad altre parti del sistema operativo e ai programmi in esecuzione sul computer.
- Shell: questa è un'interfaccia della riga di comando che consente agli utenti di interagire con il sistema operativo ed eseguire programmi. Funge da interfaccia tra gli utenti e il kernel. Interpreta i comandi degli utenti e li esegue.
- Applicazioni: questi programmi vengono eseguiti sul sistema operativo e forniscono funzioni specifiche come la navigazione sul Web, l'elaborazione di testi e la riproduzione di musica, tra le altre.
Il kernel, la shell e le applicazioni costituiscono il sistema operativo Linux.
Perché Linux è considerato più sicuro?
Risposta: Un fattore chiave che rende sicuro Linux è la sua natura open-source. Molti sviluppatori esaminano regolarmente il codice Linux e, quando viene rilevato un bug o una vulnerabilità, viene sollevato nel forum Linux e risolto nel giro di pochi giorni.
Inoltre, il modo in cui Linux gestisce i permessi ei privilegi assicura che l'accesso root non sia concesso a nessun utente normale per impostazione predefinita.
Questo limita il danno che può essere fatto da un virus. Anche i suoi bassi numeri di utilizzo da parte degli utenti di tutti i giorni contribuiscono alla sua sicurezza, poiché gli hacker preferiscono prendere di mira i sistemi operativi con molti utenti.
Che cos'è il kernel Linux?
Risposta: questo è il livello più basso del sistema operativo Linux e il suo componente principale. Il kernel si trova tra l'hardware e altre parti del sistema operativo Linux. Il kernel interagisce con l'hardware di un computer e gestisce le risorse hardware come memoria, CPU e archiviazione.
Garantisce inoltre che a vari compiti e processi vengano assegnate le risorse necessarie per funzionare in modo fluido ed efficiente.
Qual è la differenza tra Linux e Unix?
Risposta: Linux è un sistema operativo gratuito e open source sviluppato da Linus Torvalds, mentre Unix è un sistema operativo portatile, proprietario, multitasking e multiutente sviluppato da AT&T. Unix non è open-source, a differenza di Linux.
Cos'è una GUI?
Risposta: Un'interfaccia utente grafica (GUI) è un'interfaccia utente per un sistema operativo che consente agli utenti di interagire con esso tramite elementi grafici come finestre, icone, menu, puntatori e barre di scorrimento (WIMPS).
Gli elementi grafici vengono manipolati tramite dispositivi di puntamento come mouse, stilo, trackball o un dito sui touch screen.
Che cos'è CLI?
Risposta: Un'interfaccia della riga di comando (CLI) è un'interfaccia utente basata su testo che consente agli utenti di interagire con un sistema informatico immettendo comandi come stringhe di testo nel terminale.
Il sistema informatico risponde eseguendo i comandi passati o visualizzando le informazioni richieste.
Spiega Linux Shell .
Risposta: La shell di Linux è un programma che interpreta ed esegue i comandi immessi tramite l'interfaccia della riga di comando consentendo agli utenti di interagire con il sistema operativo e quindi controllare i propri computer.
La shell riceve i comandi in un formato leggibile dall'uomo, li interpreta in una forma che può essere compresa dal kernel e poi li passa al kernel per l'esecuzione.
Tipi di shell in Linux .
Risposta: Esistono diversi tipi di shell in Linux, ciascuno ottimizzato per un uso particolare. I diversi tipi di shell in Linux includono:
- La Bourne Shell è indicata come sh
- Il Bourne Again Shell indicato come Bash
- La C Shell denotata come csh
- Il KornShell indicato come ksh
- Z Shell indicato come zsh
- Friendly Interactive Shell indicato come pesce
- Debian Almquist Shell indicato come trattino
- TENEX C Shell indicato come tcsh
Quanto sopra sono alcune delle popolari shell Linux.
Che cos'è uno script di shell?
Risposta: Questo è un file di testo con una sequenza di comandi che devono essere eseguiti da una shell Linux nell'ordine in cui appaiono.
Gli script di shell contengono comandi che altrimenti avrebbero dovuto essere inseriti nell'interfaccia della riga di comando uno alla volta. Gli script di shell sono utili per automatizzare attività ripetitive o per eseguire processi batch.
Spiegare i permessi dei file in Linux .
Risposta: Ci sono tre tipi di permessi sui file in Linux:
- Leggi (r): questa autorizzazione consente a un utente di aprire e leggere il contenuto di un file o visualizzare il contenuto di una directory. Tuttavia, un utente non può modificare il file o il contenuto di una directory.
- Scrivi (w): un permesso di scrittura su un file consente a un utente di modificare il contenuto di un file. Un'autorizzazione di scrittura su una directory consente a un utente di aggiungere, rimuovere e rinominare i file in una directory.
- Esegui (x): consente a un utente di eseguire il file come programma. In Linux, un utente non può eseguire un programma a meno che non disponga di un'autorizzazione di esecuzione.
Quanto sopra costituisce i tipi di file nel sistema operativo Linux.
Come concedere le autorizzazioni in Linux?
Risposta: Per concedere i permessi in Linux, viene usato il comando chmod , che sta per 'change mode'. chmod viene utilizzato per modificare i permessi di un file o di una directory.
L'autorizzazione può essere concessa per i diversi gruppi di utenti, che includono: gruppo(g), utente(u), altri(o) e tutti gli utenti(a). Le autorizzazioni per questi utenti possono essere concesse aggiungendo (+) o sottraendo (-) le autorizzazioni di lettura (r), scrittura (w) ed esecuzione ( x ).
La sintassi per modificare le autorizzazioni di concessione è la seguente:
chmod permissions file/directory-name
Come trovare dove è archiviato un file in Linux?
Risposta: per trovare dove è archiviato un file in Linux, eseguire innanzitutto il comando
find <fileName>
per cercare il file nelle directory disponibili. Se viene trovato un file con il fileName inserito, puoi eseguire quanto segue:
realpath <fileName>
per trovare un percorso assoluto alla posizione di archiviazione del file.
Come eliminare una directory in Linux?
Risposta: per eliminare una directory in Linux, puoi utilizzare il comando rmdir . Questo comando sta per "rimuovi directory" e viene utilizzato per eliminare le directory vuote.
Ad esempio, per eliminare una directory vuota chiamata test, eseguire:
rmdir test
Per eliminare una directory non vuota, esegui rm insieme al suo flag -r ,
rm -r sample
Cos'è lo spazio di scambio?
Risposta: Questa è un'area riservata su un disco rigido, solitamente sotto forma di partizione, utilizzata dal sistema operativo Linux quando la RAM è piena.
Se è necessaria più memoria e la RAM è piena, inattiva o a cui si accede raramente, le pagine vengono rimosse dalla RAM e archiviate nello spazio di scambio, liberando spazio per più processi nella RAM.
Cos'è LILO?
Risposta: Il Linux Loader (LILO) è un bootloader per il sistema operativo Linux. Un bootloader è un programma per caricare un sistema operativo in memoria e avviarlo dopo l'accensione di un computer.
Una volta acceso un computer, LILO individua il kernel Linux e altri programmi richiesti e li carica in memoria. Fatto ciò, avvia il kernel Linux.
Che cos'è il reindirizzamento?
Risposta: Questo sta alterando l'origine dell'input standard, che di solito è la tastiera, e le destinazioni dell'output standard e dell'errore standard, che di solito è lo schermo.
Ad esempio, attraverso il reindirizzamento, l'input può essere ottenuto da un file e anche l'output e le informazioni sull'errore possono essere salvate in un file.
Che cos'è il raggruppamento dei comandi?
Risposta: questo è un modo per eseguire più comandi collettivamente come una singola unità. Il raggruppamento consente di eseguire più comandi come un unico blocco.
Il raggruppamento utilizza spesso funzionalità come il reindirizzamento e il piping per creare script più complessi e automatizzare le attività.
Che cos'è un server Linux stateless?
Risposta: questo server non memorizza localmente informazioni o dati sullo stato. Tutta l'archiviazione dei dati avviene sul lato client e il server non ha alcuna registrazione dei dati che serve.
Che cos'è il legame di rete?
Risposta: questa è una tecnica per compilare più interfacce di rete in un'unica interfaccia. Ciò aumenta la larghezza di banda della rete, il throughput e la connettività di backup, migliorando le prestazioni di una rete.
Qual è il comando grep?
Risposta: Il comando Global regular expression print (Grep) è uno strumento della riga di comando utilizzato per cercare modelli in un file e visualizza tutte le righe del file che contengono i modelli. Il modello cercato è un'espressione regolare e in genere una stringa di caratteri.
Cosa sono i Demoni?
Risposta: i daemon sono programmi di utilità che vengono eseguiti in background senza l'intervento dell'utente. I demoni eseguono attività come il monitoraggio delle periferiche e l'esecuzione della manutenzione del sistema. I demoni assicurano che il sistema operativo funzioni senza problemi.
Cosa sono i link simbolici?
Risposta: Un collegamento simbolico, noto anche come collegamento simbolico o collegamento software, è un tipo di file nel sistema operativo Linux che punta a un altro file o directory. È l'equivalente di un collegamento nel sistema operativo Windows.
I collegamenti simbolici migliorano l'accessibilità di file che altrimenti sarebbero stati difficili o scomodi.
Cosa sono le variabili ambientali?
Risposta: Queste sono variabili dinamiche impostate nella shell e vengono utilizzate per memorizzare le informazioni di cui i programmi hanno bisogno per eseguire o configurare il loro comportamento per soddisfare le esigenze degli utenti.
Esempi di alcune variabili di ambiente includono LANG, che memorizza la lingua predefinita in un sistema. TEMP fornisce la directory utilizzata per i file temporanei e HOME, che mostra, tra le altre, la home directory degli utenti correnti.
Differenziare tra i comandi Bash e dos per esaminare il contenuto dei file .
Risposta: Nella shell bash, i comandi che puoi utilizzare per visualizzare i contenuti dei file includono:
- cat – stampa il contenuto del file sullo schermo
- nl – simile a cat, ma antepone i numeri di riga al contenuto visualizzato
- less – legge il contenuto di un file una pagina (schermo) alla volta
- head – visualizza sullo schermo le prime 10 righe di un file
- tail – visualizza sullo schermo le ultime 10 righe di un file
Nella shell dos, i seguenti comandi possono essere utilizzati per visualizzare il contenuto del file:
- type – visualizza il contenuto di un file senza modificarlo
- more – visualizza il contenuto di un file una schermata alla volta
Le shell Bash e dos hanno diversi comandi utilizzati per visualizzare il contenuto dei file.
Nomina alcune distribuzioni Linux.
Risposta: le distribuzioni Linux sono versioni di Linux basate sulla shell Linux che vengono impacchettate e distribuite agli utenti.
Alcune distribuzioni Linux popolari includono Ubuntu, Fedora, Debian, CentOS, Arch Linux, Red Hat Enterprise Linux e Mint Linux.
Quali sono i diversi stati di processo in Linux?
Risposta: Gli stati principali del processo in Linux includono:
- In esecuzione: un processo è attualmente in esecuzione da parte della CPU
- Inattivo: un processo è in attesa di risorse attualmente non disponibili
- Interrotto: un processo è stato terminato dal processore o da un segnale
- Zombie: un processo è stato terminato, ma il suo processo padre non ha ancora eliminato le sue risorse
Quanto sopra costituisce gli stati del processo principale in Linux.
Quali sono le diverse chiamate del sistema di gestione dei processi in Linux?
Risposta: Le diverse chiamate al sistema di gestione dei processi includono:
- fork() – Utilizzato per creare un nuovo processo
- kill() – utilizzato per inviare un segnale per terminare un processo in esecuzione
- wait() – sospende l'esecuzione del processo chiamante fino al termine di un processo figlio
- exec() – carica un programma nel processo corrente e lo esegue
- exit() – termina l'esecuzione di un programma
Quanto sopra sono le principali chiamate di sistema di gestione dei processi in Linux.
Come trovare lo stato di un processo?
Risposta: Puoi trovare lo stato di un processo eseguendo il comando 'ps' per vedere lo stato corrente di tutti i processi attivi in un sistema Linux.
Per visualizzare maggiori dettagli su un particolare processo, eseguire quanto segue:
ps -p <processID>
Come interrompere un processo in esecuzione in Linux?
Risposta: puoi interrompere un processo in esecuzione in Linux eseguendo:
kill <processID>
Per terminare un processo in esecuzione usando il suo ID. Puoi anche interrompere un processo in esecuzione in base al suo nome eseguendo:
killall <processName>
In che modo la distinzione tra maiuscole e minuscole influisce sui comandi?
Risposta: Nel sistema operativo Linux, i comandi fanno distinzione tra maiuscole e minuscole, il che significa che la shell tratta i comandi scritti in maiuscole e minuscole diverse come distinti e differenti.
Ad esempio, il comando 'rmdir' non è lo stesso di 'RMDIR' . Nel sistema operativo Linux, i comandi della riga di comando sono solitamente scritti in minuscolo.
Qual è il comando utilizzato per verificare la quantità di memoria utilizzata da Linux?
Risposta: Il comando free , quando eseguito, visualizza la quantità di spazio utilizzato e lo spazio libero nel sistema. Diversi flag possono essere utilizzati con il comando per visualizzare diversi tipi di informazioni.
Che cos'è il comando ls?
Risposta: Questo è un comando per elencare il contenuto di una directory.
Cos'è il comando ps?
Risposta: Il comando ps visualizza informazioni sui processi attualmente attivi.
Cos'è il comando netstat?
Risposta: Questo è un comando utilizzato per mostrare informazioni relative alle connessioni di rete sul sistema. Visualizza informazioni sulle connessioni di rete attualmente attive.
Cos'è il comando cp?
Risposta: Questo è un comando utilizzato per copiare file e directory.
Cos'è mdir?
Risposta: questo è un comando utilizzato per creare directory in Linux.
Cos'è il comando gatto?
Risposta: questo è un comando utilizzato per visualizzare il contenuto di un file, creare un nuovo file, reindirizzare l'output di altri comandi, concatenare più file e visualizzare l'output sullo schermo.
Parole finali
Questo articolo sulle domande e le risposte dell'intervista su Linux ti aiuterà a superare l'imminente intervista.
Buona fortuna!