GNU/Linux >> Tutoriels Linux >  >> Linux

Pourquoi le CD n'est-il pas un programme ?

Je me suis toujours demandé pourquoi cd n'est pas un programme, mais n'a jamais réussi à trouver la réponse.

Quelqu'un sait pourquoi c'est le cas ?

Réponse acceptée :

Le cd commande modifie le "répertoire de travail actuel", n'est-ce pas ?

"répertoire de travail actuel" est une propriété unique à chaque processus.

Donc, si cd était un programme, il fonctionnerait comme ceci :

  1. cd foo
  2. le cd le processus démarre
  3. le cd le processus change le répertoire pour le processus cd
  4. le cd traiter les sorties
  5. votre shell a toujours le même état, y compris le répertoire de travail actuel, qu'il avait avant que vous ne commenciez.

Linux
  1. Pourquoi le Pgid des processus enfants n'est-il pas le PID du parent ?

  2. Pourquoi Sigint n'est-il pas propagé au processus enfant lorsqu'il est envoyé à son processus parent ?

  3. Pourquoi Find n'accepte-t-il pas '-exec Cp {} Dir +' ?

  4. Pourquoi le mécanisme de création de processus par défaut est-il un fork ?

  5. Pourquoi `exit &` ne fonctionne pas ?

Comment tuer un processus ou arrêter un programme sous Linux

Linux - Quand ne devrais-je pas tuer -9 Un processus ?

Pourquoi "effacer" ne pas effacer tout l'écran ?

Linux :fermer un programme avec la ligne de commande (ne pas le tuer)

pourquoi sftp rmdir ne fonctionne-t-il pas?

pourquoi supprimer l'historique bash n'est pas suffisant?