GNU/Linux >> Linux Esercitazione >  >> Linux

Perché Cd non è un programma?

Mi sono sempre chiesto perché cd non è un programma, ma non sono mai riuscito a trovare la risposta.

Qualcuno sa perché questo è il caso?

Risposta accettata:

Il cd il comando modifica la "directory di lavoro corrente", giusto?

"directory di lavoro corrente" è una proprietà unica per ogni processo.

Quindi, se cd fosse un programma funzionerebbe così:

  1. cd foo
  2. il cd inizia il processo
  3. il cd process cambia la directory per il processo cd
  4. il cd il processo esce
  5. la tua shell ha ancora lo stesso stato, inclusa la directory di lavoro corrente, che aveva prima di iniziare.

Linux
  1. Linux – Quando non dovrei uccidere -9 Un processo?

  2. Perché Sigint non viene propagato al processo figlio quando viene inviato al processo padre?

  3. Perché Nullglob non è predefinito?

  4. Perché il meccanismo di creazione del processo predefinito è fork?

  5. Perché è Rm -rf e non Rmdir -rf?

Come uccidere un processo o fermare un programma in Linux

Perché "cancella" non cancella l'intero schermo?

Perché un lungo ritardo dopo il comando non trovato?

Perché `esce &` non funziona?

Linux:chiudi un programma con la riga di comando (non uccidilo)

Perché usiamo su - e non solo su?