30 domande di intervista su Linux più frequenti


Se hai già ottenuto la tua certificazione Linux e non vedi l'ora di assicurarti un lavoro Linux, è molto utile prepararsi per un colloquio che metta alla prova la tua conoscenza dei dettagli di Linux.

In questa guida, ti presentiamo alcune delle domande più frequenti nelle interviste e risposte su Linux.

Sommario

1. Cos'è Linux?

Linux è un sistema operativo gratuito e open source basato su UNIX. È stato rilasciato per la prima volta nel 1991 da Linux Torvalds. L'obiettivo dello sviluppo di Linux era fornire un'alternativa gratuita ea basso costo ai sistemi proprietari come Windows e macOS.

2. Che cos'è il kernel Linux?

Scritto in linguaggio di programmazione C, il kernel Linux è il componente principale di un sistema Linux. È il livello più basso di software che può interagire con l'hardware. Interfaccia il sistema operativo e l'hardware sottostante e consente la comunicazione tra i due.

Il kernel esegue le seguenti attività principali:

  • Gestisce i dispositivi hardware sottostanti.
  • Avvia e gestisce le applicazioni.
  • Gestisce le risorse del sistema operativo tra cui RAM, CPU e utilizzo del disco.

3. Cos'è GRUB?

GRUB (Grand Unified Bootloader) è un bootloader del progetto GNU. È un programma responsabile della gestione del processo di avvio. Fondamentalmente, subentra al BIOS all'avvio del sistema e carica il kernel nella memoria principale. Il kernel quindi carica il sistema operativo ei suoi componenti.

La schermata iniziale di GRUB è in genere ciò che vedrai sullo schermo una volta avviato il sistema. Visualizza un semplice menu che fornisce un paio di opzioni di avvio.

4. Quali sono i componenti essenziali di Linux?

Un sistema Linux comprende i seguenti componenti essenziali:

  • Kernel: questa è la parte centrale del sistema Linx che gestisce i componenti hardware e le applicazioni sottostanti a livello di sistema operativo.
  • Shell: questo è un interprete che fornisce un'interfaccia a riga di comando che accetta i comandi impartiti tramite la tastiera e li passa al sistema operativo per l'esecuzione.
  • GUI – Acronimo di Graphical User Interface. Comprende componenti grafici che gli utenti sfruttano per interagire con il sistema. Questi includono il desktop, le finestre, le icone, i pulsanti, le barre delle applicazioni e i popup.
  • Programmi applicativi: si tratta di applicazioni software installate su un sistema Linux che eseguono attività specifiche. Ad esempio il browser Web Firefox, il lettore multimediale VLC, la suite LibreOffice e molti altri.

5. Quali sono le shell utilizzate in Linux?

Le shell comunemente usate in Linux includono:

  • bash [Bourne Again Shell] – Questa è la shell predefinita sulla maggior parte dei sistemi Linux.
  • zsh [Z Shell] – Questa è la shell predefinita in Kali Linux e macOS. È basato su bash e include funzionalità aggiuntive come correzione ortografica, supporto per plug-in, migliore personalizzazione, ecc.
  • ksh [Korn Shell] – Questa è una shell del linguaggio di programmazione di alto livello.
  • csh [C Shell] – La sua sintassi prende in prestito pesantemente dal linguaggio di programmazione C. Molto utile per chiunque abbia conoscenze di programmazione in C.

6. Cos'è lo spazio di scambio in Linux?

Lo spazio di scambio si riferisce allo spazio sul disco rigido che è un'estensione della RAM o della memoria fisica. Viene utilizzato dal sistema quando la capacità della RAM si sta quasi esaurendo e non può più supportare le applicazioni in esecuzione. Lo spazio di swap memorizza programmi aggiuntivi che non possono più essere elaborati dalla RAM.

7. Come controllare l'utilizzo della memoria di Linux?

Di seguito sono riportati alcuni dei comandi Linux più utilizzati che è possibile utilizzare per verificare l'utilizzo della memoria del sistema.

  • free – Visualizza la quantità di memoria libera e utilizzata nel sistema.
  • top – Visualizza i processi e l'utilizzo di Linux in esecuzione.
  • htop – Un monitor di sistema interattivo, un visualizzatore di processi e un gestore di processi.
  • vmstat – Visualizza le statistiche della memoria virtuale.

Per verificare le prestazioni e l'utilizzo della memoria del sistema Linux, eseguire:

$ free  -m
$ top
$ htop
$ vmstat

8. Come controllare l'utilizzo dello spazio su disco di Linux?

L'utilizzo dello spazio su disco può essere verificato utilizzando i comandi df e du.

Il comando df (abbreviazione di disk free) viene utilizzato per visualizzare lo spazio su disco totale e disponibile per i filesystem sul proprio sistema. Viene spesso utilizzato con le opzioni -Th per visualizzare l'output in un formato leggibile dall'uomo.

$ df -Th

Il comando du (abbreviazione di utilizzo del disco) visualizza l'utilizzo dello spazio file in una directory. Tiene traccia dello spazio occupato da file e directory. Come il comando df, du è usato con l'opzione -h per visualizzare l'output in un formato leggibile dall'uomo.

$ du -h

9. Cosa sono un Inode e un PID?

Un inode è una struttura di file che memorizza i metadati per i file in Linux. I metadati includono la dimensione del file, le autorizzazioni necessarie per accedere al file, l'ID utente e di gruppo, il timestamp di creazione e il percorso del file.

Un numero di inode è un numero univoco o un numero intero assegnato a ciascun file su un sistema Linux.

$ ls -li ravi.txt 

1594567 -rwxrwxr-x 1 tecmint tecmint 0 Oct 28 10:58 ravi.txt

1594567 è il numero di inode e il flag -i mostra l'inode del file ravi.txt.

Un PID (Process ID) è un ID univoco assegnato a ciascun processo in esecuzione su un sistema Linux. Possiamo usare il comando pidof per trovare l'ID processo di qualsiasi programma in esecuzione.

$ pidof firefox

40982

10. Cosa sono i Demoni?

I daemon sono processi di servizio che vengono eseguiti in background senza alcuna interazione da parte dell'utente. Forniscono la funzionalità ad altri processi e gestiscono le richieste periodiche e le inoltrano alle applicazioni appropriate per l'esecuzione.

11. Che cos'è Process States in Linux?

In Linux, un processo è un'istanza di un programma o servizio in esecuzione. Ci sono quattro stati di processo. In qualsiasi momento, un processo si troverà in uno dei seguenti stati:

  • Pronto: il processo è già stato creato ed è pronto per essere eseguito.
  • In esecuzione: il processo è attivo o in esecuzione.
  • Interrotto: il processo ha terminato l'esecuzione ed è stato terminato dal sistema operativo.
  • Attendi: il processo è in attesa di un input da parte dell'utente.
  • Zombie: il processo è stato terminato, ma le informazioni esistono ancora nella tabella del processo.

Per verificare lo stato del processo Linux utilizzare il comando ps come mostrato.

$ ps a

La colonna STAT mostra lo stato di esecuzione del processo.

12. Cos'è la GUI?

GUI è l'acronimo di Graphical User Interface. Questi sono gli elementi grafici di un sistema operativo Linux che includono finestre, icone, menu, pulsanti, barre delle applicazioni e molto altro.

La GUI semplifica l'interazione con il sistema ed è per lo più preferita dai principianti o dai principianti che non sono esperti nel lavorare sulla CLI.

13. Cos'è la CLI?

CLI è l'acronimo di Command Line Interface. Questa è un'interfaccia che consente agli utenti di digitare comandi su una shell fornita dal terminale. La CLI è utilizzata principalmente da utenti Linux esperti o amministratori di sistema e ingegneri.

La CLI è la modalità preferita di amministrazione del sistema poiché consuma meno risorse di sistema, a differenza della GUI che ha un elevato sovraccarico di risorse.

14. Che cos'è l'account root?

Questo è l'account più privilegiato sul sistema Linux. Ti permette il pieno controllo del sistema Linux. Puoi fare praticamente tutto ciò che desideri, incluso l'aggiornamento del sistema, l'installazione e la disinstallazione di pacchetti software, la creazione e la rimozione di utenti, la configurazione di servizi e molto altro.

Nella maggior parte delle distribuzioni Linux, ti verrà richiesto di creare un account root durante l'installazione.

15. Cos'è il software open source?

La caratteristica del software di essere open source implica che tu ne visualizzi il codice sorgente, lo modifichi e lo ridistribuisca ad altri utenti senza restrizioni di licenza. Altri utenti sarebbero quindi in grado di apportare ulteriori modifiche, incluso il debug e la rettifica di errori nel codice sorgente.

In effetti, il software open source diventa ampiamente utilizzato e quindi avvantaggia tutti.

16. Quali sono i comandi della directory di Linux?

I seguenti sono i principali comandi della directory Linux:

  • pwd – Il comando visualizza la directory di lavoro attuale o il percorso della directory corrente.
  • ls – Questo comando elenca il contenuto di una directory.
  • cd – Consente di passare da una directory all'altra.
  • mkdir – Il comando crea una nuova directory vuota.
  • rmdir – Il comando elimina o rimuove una directory vuota.
  • rm – Rimuove uno o più file. Utilizzato con l'opzione -R per rimuovere una directory non vuota.

17. Che cos'è l'operatore di reindirizzamento?

Il reindirizzamento è il processo di invio dell'output del primo comando a un altro file. Inoltre, viene utilizzato anche per indirizzare un output come input a un altro processo.

In Linux, il reindirizzamento si ottiene utilizzando l'operatore \>\ (simbolo di maggiore) o l'operatore \|\ (pipe) che invia l'output standard di un comando a un altro comando come input standard.

18. Quali sono le diverse modalità di Vim?

L'editor vim fornisce le seguenti modalità principali:

  • Modalità normale/Modalità comando: questa è la modalità predefinita quando si apre un nuovo file o uno esistente. In questa modalità, puoi eseguire comandi come Annulla, Ripeti e Incolla.
  • Modalità di inserimento: questa modalità ti consente di digitare il testo.
  • Modalità visiva: questa modalità ti consente di selezionare il testo in modo da poter eseguire altre attività con esso come copiare, tagliare o incollare.

19. Cos'è un Alias?

Come suggerisce il nome, gli alias sono come scorciatoie personalizzate utilizzate per rappresentare un comando (o un insieme di comandi) eseguito con o senza opzioni personalizzate.

$ alias

20. Come elencare tutti i processi in esecuzione su Linux?

Per elencare tutti i processi in esecuzione su un sistema Linux, eseguire il comando:

# ps aux

Il comando elenca tutti i processi attualmente in esecuzione, inclusi i loro numeri PID (Process ID).

21. Cos'è un Soft Link?

Un collegamento software, noto anche come collegamento simbolico, è simile a un collegamento a un file nel sistema operativo Windows. Contiene il percorso del file e non il suo contenuto.

Un soft link può essere collegato a un file oa una directory. Se il file originale viene rimosso, il collegamento software si interrompe e viene definito collegamento sospeso. Tuttavia, la rimozione del soft stesso non influisce su nulla.

Inoltre, i soft link possono collegarsi tra file system.

22. Che cos'è un collegamento reale?

Un hard link è un collegamento a un file che collega il contenuto effettivo di un file, a differenza di un soft link che contiene solo il percorso del file. Ha le stesse dimensioni del file originale e condivide lo stesso numero di inode del file originale.

Quando il file origins viene aggiornato, viene aggiornato anche il contenuto dell'hard link. Inoltre, l'hard link rimane inalterato anche se il file originale viene rimosso.

Lo svantaggio di un hard link è che non può essere creato su diversi file system.

23. Cosa sono i file nascosti in Linux?

I file nascosti sono file preceduti da un punto o da un punto. Contengono principalmente file di configurazione che contengono dati o impostazioni importanti. Per visualizzare i file nascosti, usa il comando ls con l'opzione -la.

$ ls -la

24. Quali sono i diversi tipi di autorizzazioni in Linux?

Ci sono 3 permessi di file distinti in Linux:

  • Leggi (r) – Consente agli utenti di leggere file o elencare una directory.
  • Scrivi (w): consente all'utente di modificare o modificare i file.
  • Esegui (x): consente agli utenti di eseguire il file.

25. Come si modificano le autorizzazioni di un file o di una directory?

Il comando chmod è il comando che modifica i permessi di un file o di una directory.

Segue la sintassi mostrata.

# chmod [OPTIONS] [permissions] file

Per esempio. Per assegnare i permessi ottali 755 (tutti i permessi al proprietario e i permessi di lettura e scrittura solo per i membri del gruppo e tutti gli altri) a un file chiamato file1.txt, eseguire il comando.

# chmod 755 file1.txt

26. Cos'è il comando Grep?

Grep è uno strumento a riga di comando per la ricerca e la corrispondenza di file di testo o righe in un file di testo. Richiede opzioni e parametri che vengono utilizzati per manipolare o migliorare l'output della ricerca.

Prende la seguente sintassi:

$ grep [options] pattern [files]

Il seguente comando conta il numero di occorrenze della stringa Unix in file1.txt.

$ grep -c "Unix" file1.txt

27. Come terminare un processo in esecuzione in Linux?

Per terminare o terminare un processo, utilizzare il comando kill seguito dal PID del processo.

Il comando ps ti aiuterà a identificare il PID di un processo.

$ kill PID

Per terminare un processo che non risponde, passa l'opzione -9 mostrata

$ kill -9 PID

Per terminare un processo per nome, utilizzare il comando killall seguito dal nome del processo. Ad esempio, per terminare il processo di Firefox, eseguire il comando:

$ killall firefox

28. Come eseguire più comandi in un singolo comando?

Per eseguire più comandi uno dopo l'altro in un singolo comando, puoi utilizzare il punto e virgola ;, la doppia e commerciale && o || simboli.

  • X Y: esegue i comandi X e Y indipendentemente dal successo di X.
  • X && Y: esegue Y se e solo se X viene eseguito correttamente.
  • X || Y – Questo esegue Y se e solo se X fallisce.

29. Controlla da quanto tempo è in esecuzione il sistema Linux?

Per verificare il tempo di attività o da quanto tempo un sistema è in esecuzione, è sufficiente eseguire il comando uptime come mostrato.

$ uptime

12:09:11 up  2:49,  2 users,  load average: 0.62, 0.97, 0.88

30. Come controllare le informazioni sul sistema Linux?

Per controllare le informazioni di base del sistema come il nome e la versione del kernel, il nome host e il sistema operativo, esegui il comando uname usando l'opzione -a come mostrato.

$ uname -a

Linux tecmint 5.15.0-53-generic #59~20.04.1-Ubuntu SMP Thu Oct 20 15:10:22 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Certo, questo non è affatto un elenco completo di tutte le domande del colloquio che sei obbligato ad affrontare nella stanza del colloquio. Tuttavia, è più probabile che tu debba affrontare queste domande del colloquio per testare la tua conoscenza di base del sistema Linux. Ti auguro il meglio mentre ti prepari per il colloquio.

Ci siamo persi qualche domanda importante dell'intervista su Linux? Cosa ne pensi di queste domande? Se hai domande sull'intervista, condividile nei commenti qui sotto.