Le 50 principali domande di intervista su Unix e amp; Risposte

Anonim

Scarica il pdf

1) Cos'è UNIX?

È un sistema operativo portatile progettato per funzioni multi-tasking e multiutente efficienti. La sua portabilità gli consente di funzionare su diverse piattaforme hardware. È stato scritto in C e consente agli utenti di eseguire l'elaborazione e il controllo sotto una shell.

2) Cosa sono i filtri?

Il termine filtro viene spesso utilizzato per fare riferimento a qualsiasi programma che può ricevere input dallo standard input, eseguire alcune operazioni su quell'input e scrivere i risultati sullo standard output. Un filtro è anche qualsiasi programma che può essere utilizzato tra altri due programmi in una pipeline.

3) Qual è una sintassi tipica che viene seguita quando si emettono comandi nella shell?

La sintassi tipica dei comandi nella shell UNIX segue il formato:

Comando [-argument] [-argument] [--argument] [file]

4) C'è un modo per cancellare tutti i file nella directory corrente, comprese tutte le sue sottodirectory, usando un solo comando?

Sì, è possibile. Usa "rm -r *" per questo scopo. Il comando rm serve per eliminare i file. L'opzione -r cancellerà directory e sottodirectory, inclusi i file all'interno di. L'asterisco rappresenta tutte le voci.

5) Qual è la differenza principale tra l'opzione -v e -x s da impostare?

L'opzione -v riproduce ogni comando prima che argomenti e variabili siano stati sostituiti; l'opzione -x riproduce i comandi dopo che è avvenuta la sostituzione.

6) Cos'è il kernel?

Il kernel è il sistema operativo UNIX è il programma principale che controlla le risorse del computer, assegnandole a diversi utenti ed eseguendo diversi compiti. Tuttavia, il kernel non tratta direttamente con un utente. Invece, avvia un programma interattivo separato, chiamato shell, per ogni utente quando accede.

7) Cos'è Shell?

Una shell funge da interfaccia tra l'utente e il sistema. In qualità di interprete dei comandi, la shell accetta i comandi e li imposta per l'esecuzione.

8) Quali sono le caratteristiche principali di Korn Shell?

  • meccanismo della cronologia con un editor integrato che simula emacs o vi
  • aritmetica dei numeri interi incorporata
  • capacità di manipolazione delle stringhe
  • alias dei comandi
  • array
  • controllo del lavoro

9) Quali sono alcune conchiglie comuni e quali sono i loro indicatori?

  • sh - Bourne shell
  • csh - C SHell
  • bash - Bourne Again Shell
  • tcsh - Shell C migliorata
  • zsh - Z SHell
  • ksh - Korn SHell

10) Differenzia il multiutente dal multitasking.

Multiutente significa che più di una persona può utilizzare il computer contemporaneamente. Multitasking significa che anche un singolo utente può far lavorare il computer su più attività o programmi contemporaneamente.

11) Cos'è la sostituzione dei comandi?

La sostituzione dei comandi è uno dei passaggi che vengono eseguiti ogni volta che i comandi vengono elaborati dalla shell. La shell esegue solo quei comandi racchiusi tra virgolette. Questo sostituirà quindi l'output standard del comando e visualizzato sulla riga di comando.

12) Cos'è una directory?

Ogni file è assegnato a una directory. Una directory è una forma specializzata di un file che mantiene un elenco di tutti i file in esso contenuti.

13) Cos'è inode?

Un inode è una voce creata su una sezione del disco riservata a un file system. L'inode contiene quasi tutte le informazioni su un file. Include la posizione sul disco in cui inizia il file, la dimensione del file, quando il file è stato utilizzato l'ultima volta quando il file è stato modificato l'ultima volta, quali sono i vari permessi di lettura, scrittura ed esecuzione, chi possiede il file e altre informazioni .

14) Hai un file chiamato tonky nella directory honky. Successivamente aggiungi nuovo materiale a tonky. Quali modifiche avvengono nella directory, nell'inode e nel file?

La voce della rubrica rimane invariata poiché il nome e il numero di inode rimangono invariati. Nel file inode vengono aggiornate le dimensioni del file, l'ora dell'ultimo accesso e l'ora dell'ultima modifica. Nel file stesso viene aggiunto il nuovo materiale.

15) Descrivi i file system in UNIX

La comprensione dei file system in UNIX ha a che fare con il modo in cui i file e gli inode vengono memorizzati su un sistema. Quello che succede è che un disco o parte di un disco viene messo da parte per memorizzare i file e le voci di inode. L'intera unità funzionale viene definita file system.

16) Differenzia il percorso relativo da un percorso assoluto.

Il percorso relativo si riferisce al percorso relativo al percorso corrente. Un percorso assoluto, d'altra parte, si riferisce al percorso esatto a cui fa riferimento la directory principale.

17) Spiegare l'importanza delle directory in un sistema UNIX

I file in una directory possono essere una directory stessa; sarebbe chiamata una sottodirectory dell'originale. Questa capacità rende possibile sviluppare una struttura ad albero di directory e file, che è fondamentale per mantenere uno schema organizzativo.

18) Descrivi brevemente le responsabilità della Shell

  • esecuzione del programma
  • sostituzione di nomi di file e variabili
  • Reindirizzamento I / O
  • collegamento della conduttura
  • controllo ambientale
  • linguaggio di programmazione interpretato

19) Cosa sono le variabili di shell?

Le variabili di shell sono una combinazione di un nome (identificatore) e un valore assegnato, che esiste all'interno della shell. Queste variabili possono avere valori predefiniti o i cui valori possono essere impostati manualmente utilizzando il comando di assegnazione appropriato. Esempi di variabili di shell sono PATH, TERM e HOME.

20) Quali sono le differenze tra una chiamata di sistema, una funzione di libreria e un comando UNIX?

Una chiamata di sistema fa parte della programmazione del kernel. Una funzione di libreria è un programma che non fa parte del kernel ma che è disponibile per gli utenti del sistema. I comandi UNIX, tuttavia, sono programmi autonomi; possono incorporare sia chiamate di sistema che funzioni di libreria nella loro programmazione.

21) Cos'è Bash Shell?

È una shell gratuita progettata per funzionare sul sistema UNIX. Essendo la shell predefinita per la maggior parte dei sistemi basati su UNIX, combina funzionalità disponibili sia in C che in Korn Shell.

22) Enumera alcuni dei comandi di rete più comunemente usati in UNIX

  • telnet: utilizzato per l'accesso remoto
  • ping - una richiesta di eco per testare la connettività
  • su - comando di commutazione utente
  • ftp - protocollo di trasferimento file utilizzato per copiare i file
  • finger - comando di raccolta di informazioni

23) Differenzia il comando cmp dal comando diff.

Il comando cmp viene utilizzato principalmente per confrontare due file byte per byte, dopodiché viene mostrato il primo disallineamento riscontrato. D'altra parte, il comando diff viene utilizzato per indicare le modifiche che devono essere apportate per rendere i due file identici tra loro.

24) A cosa serve -l quando si elenca una directory?

-l, che viene normalmente utilizzato nei comandi di elenco come ls, viene utilizzato per mostrare i file in un formato lungo, un file per riga. Il formato lungo si riferisce a informazioni aggiuntive associate al file, come proprietà, autorizzazioni, dati e dimensioni del file.

25) Cosa sono le tubazioni?

Piping, rappresentato dal carattere pipe "|", viene utilizzato per combinare due o più comandi insieme. L'output del primo comando funge da input per il comando successivo e così via.

26) Cos'è un superutente?

Un superutente è un tipo di utente speciale che ha accesso aperto a tutti i file e comandi su un sistema. Nota che il login del superuser è solitamente root ed è protetto da una cosiddetta password di root.

27) Come si determina e si imposta il percorso in UNIX?

Ogni volta che si immette un comando, una variabile denominata PATH o path definirà in quale directory la shell cercherà quel comando. Nei casi in cui è stato restituito un messaggio di errore, il motivo potrebbe essere che il comando non era nel tuo percorso o che il comando stesso non esiste. È inoltre possibile impostare manualmente il percorso utilizzando il comando "set path = [directory path]".

28) È possibile visualizzare le informazioni su un processo mentre è in esecuzione?

Ogni processo è identificato in modo univoco da un identificatore di processo. È possibile visualizzare i dettagli e lo stato relativi a un processo utilizzando il comando ps.

29) Qual è la convenzione standard seguita quando si denominano i file in UNIX?

Una regola importante quando si nominano i file è che i caratteri che hanno un significato speciale non sono consentiti, come * / & e%. Una directory, essendo un tipo speciale di file, segue la stessa convenzione di denominazione di quella dei file. Vengono utilizzati lettere e numeri, insieme a caratteri come trattini bassi e punti.

30) Perché non è consigliabile utilizzare root come login predefinito?

L'account di root è molto importante e, con un utilizzo abusivo, può facilmente portare a danni al sistema. Questo perché le protezioni che normalmente si applicano agli account utente non sono applicabili all'account root.

31) A cosa serve il comando tee?

Il comando tee fa due cose: una è ottenere i dati dallo standard input e inviarli allo standard output; il secondo è che reindirizza una copia di quei dati di input in un file che è stato specificato.

32) Differenzia il comando cat da altri comandi.

Quando si utilizza il comando cat per visualizzare il contenuto del file, i dati di grandi dimensioni che non si adattano allo schermo scorrono senza interruzioni, rendendo quindi difficile la visualizzazione. D'altra parte, l'uso del comando more è più appropriato in questi casi perché visualizzerà il contenuto del file una pagina dello schermo alla volta.

33) Cos'è il parsing?

L'analisi è il processo di suddivisione di una riga di comando in parole. Ciò è reso possibile utilizzando delimitatori e spazi. Nel caso in cui le tabulazioni o più spazi facciano parte del comando, questi vengono eventualmente sostituiti da un unico spazio.

34) Cos'è il pid?

Pid è l'abbreviazione di Process ID. Viene utilizzato principalmente per identificare ogni processo in esecuzione sul sistema UNIX, sia che venga eseguito in primo piano sia che venga eseguito in background. Ogni pid è considerato unico.

35) Come fa il sistema a sapere dove finisce un comando e ne inizia un altro?

Normalmente, il carattere di nuova riga, generato dal tasto INVIO o RITORNO, funge da segnaletica. Tuttavia, il punto e virgola e la e commerciale possono anche fungere da terminatori di comando.

37) Cos'è l'interpretazione jolly?

Quando una riga di comando contiene caratteri jolly come "*" o "?". Sono sostituiti dalla shell con un elenco ordinato di file il cui modello corrisponde al comando di input. I caratteri jolly vengono utilizzati per impostare un elenco di file per l'elaborazione, invece di specificarli uno alla volta.

38) Qual è l'output di questo comando? $ who | sort -logfile> newfile

In questo comando, l'output del comando "who" diventa l'input del comando "sort". Allo stesso tempo, "sort" apre il file di log, lo dispone insieme all'output del comando "who" e inserisce l'output ordinato finale nel file newfile.

39) Come si passa da qualsiasi tipo di utente a un tipo di super utente?

Per passare da qualsiasi tipo di utente a superutente, si utilizza il comando su. Tuttavia, ti verrà chiesto di inserire la password di superutente corretta prima di concederti i privilegi di accesso completo.

40) Quale sarebbe l'effetto della modifica del valore di PATH in:.: / Usr / della / bin: / bin: / usr / bin

Ciò farebbe sì che la shell cerchi nella directory / usr / della / bin dopo aver cercato nella directory corrente e prima di cercare nella directory / bin durante la ricerca di un file di comando.

41) Scrivi un comando che visualizzi i file nella directory corrente, in un formato lungo e colorato.

Risposta: ls -l --color

42) Scrivi un comando che trovi tutti i file di testo in una directory tale che non contenga la parola "stupefacente" in nessuna forma (cioè, deve includere le parole Amazing, AMAZING o aMAZINg)

Risposta:

grep -vi amazing *.txt

43) Scrivete un comando che produrrà il contenuto ordinato di un file chiamato IN.TXT e posizionerà l'output in un altro file chiamato OUT.TXT, escludendo allo stesso tempo le voci duplicate.

Risposta:

sort IN.TXT | uniq > OUT.TXT

44) Scrivere un comando che consentirà a un sistema UNIX di spegnersi in 15 minuti, dopodiché eseguirà un riavvio.

Risposta:

/sbin/shutdown -r +15

45) Quale comando cambierà il tuo prompt in MYPROMPT?

Per modificare un prompt, utilizziamo il comando PS1, come questo:

PS1 = 'MYPROMPT:'

46) Cosa fa questo comando? cibo per gatti 1> kitty

Risposta: reindirizza l'output del cibo per gatti nel file kitty; il comando è lo stesso di: cibo per gatti> gattino

47) Cosa c'è di sbagliato in questo script di shell interattivo?

echo Che mese è questo? leggi $ monthecho $ mese è un mese buono come un altro.

Risposta: Inizialmente, il punto interrogativo dovrebbe essere preceduto da caratteri di escape (\?) In modo che non venga interpretato come un metacarattere della shell. Secondo, dovrebbe essere letto mese, non $ mese.

48) Scrivere uno script di shell che richieda l'età dell'utente e poi lo faccia eco, insieme a qualche commento appropriato.

Risposta:

echo Hello! What\'s your age\?read ageecho $age! I\'ll be obsolete by that age!

49) Scrivi uno script che stampa le informazioni sulla data in questo ordine: ora, giorno della settimana, numero del giorno, mese, anno (output di esempio: 17:34:51 PDT Sun 12 Feb 2012)

Risposta:

set 'date'echo $4 $5 $1 $3 $2 $6

50) Scrivi uno script che mostrerà quanto segue come output:

Dammi una U!

U!

Dai a mamma una N!

N!

Dammi una I!

IO!

Dammi una X!

X!

Risposta: for i in UNI Xdo

echo Give me a $i!echo $i!done