GNU/Linux >> Linux Esercitazione >  >> Linux

I comandi della shell sono scritti in quale lingua?

I programmi sono normali eseguibili scritti in qualsiasi linguaggio (principalmente C).

La shell accetta un comando immesso che è solo una stringa. Quindi cerca alcune sequenze di caratteri che hanno un significato speciale per la shell come le variabili ambientali che sono $ seguito da una parola o reindirizzamenti che sono > seguito da un sentiero. Dopo che questa sostituzione è stata eseguita, ha una stringa che viene suddivisa in spazi per generare un nome di un eseguibile e parametri. La shell cercherà quindi l'eseguibile nell'elenco delle directory nella variabile ambientale PATH. La shell utilizza quindi le chiamate di sistema per creare un processo dall'eseguibile con i parametri.

Ad esempio per eseguire il comando ls $HOME la shell riconoscerà prima quel $HOME è una variabile ambientale e sostituiscila con il suo valore in questo caso /home/user lasciando il comando ls /home/user . Quindi suddivide il comando nello spazio per ottenere il nome dell'eseguibile ls e parametro /home/user . La shell trova il primo eseguibile che corrisponde a ls di solito /bin/ls . Quindi utilizza ether le chiamate di sistema spawn()/ posix_spawn() o fork() ed exec() per creare il nuovo processo.


La maggior parte delle utilità di base in Linux sono scritte in C .Questo puoi verificarlo in busybox source code che supporta la maggior parte delle utilità di comando linux di base che sono scritte in C .Quindi comandi come ls,cd ...etc sono in c

Come la shell interpreterà il check-in sotto il link

in un sistema operativo c'è un programma speciale chiamato shell. La shell accetta comandi leggibili dall'uomo e li traduce in qualcosa che il kernel può leggere ed elaborare.

http://www.math.iitb.ac.in/resources/manuals/Unix_Unleashed/Vol_1/ch08.htm


Questi programmi sono principalmente scritti nel linguaggio di programmazione C così come il kernel Linux.


Linux
  1. Quali comandi mancano nel tuo file bashrc?

  2. Differenza tra variabili Shell che vengono esportate e quelle che non sono in Bash?

  3. Quali sono i parametri/variabili speciali della shell (bash)?

  4. Quali sono i diversi tipi di shell in Linux?

  5. Comandi di shell asincroni

Che cos'è la shell in Linux?

Che cos'è Subshell in Linux?

Che cos'è Login Shell in Linux?

Cos'è un file .sh?

Cosa significa la sintassi |&nel linguaggio della shell?

Cosa determina quali comandi Linux richiedono l'accesso root?