Forskellen mellem "which" og "whereis" kommandoer i Unix-systemer

Hvad er forskellen mellem "which" og "whereis"?

Forskellen mellem "which" og "whereis" er, at "which" finder den fulde sti til en eksekverbar fil i brugerens PATH, mens "whereis" finder binære filer, kildekode og manual sider for en given kommando.

Forskellen mellem "which" og "whereis"

Begge kommandoer, "which" og "whereis", bruges i Unix-baserede systemer til at finde placeringen af eksekverbare filer. Men der er nogle væsentlige forskelle mellem dem:

  • Formål:
    • which: Bruges til at finde den fulde sti til en eksekverbar fil, der er i brugerens PATH.
    • whereis: Bruges til at finde binære filer, kildekode og manual sider for en given kommando.
  • Output:
    • which: Viser kun stien til den eksekverbare fil.
    • whereis: Viser stier til binære filer, kildekode og manual sider.
  • Søgeområde:
    • which: Søger kun i de stier, der er angivet i brugerens PATH miljøvariabel.
    • whereis: Søger i standard systemkataloger og kan også søge i brugerdefinerede kataloger.
  • Brugervenlighed:
    • which: Simpel og hurtig til at finde den eksekverbare fil i PATH.
    • whereis: Mere omfattende og kan give flere oplysninger om en kommando.

Her er et eksempel på brugen af begge kommandoer:

  • which:
    which ls

    Output: /bin/ls

  • whereis:
    whereis ls

    Output: ls: /bin/ls /usr/share/man/man1/ls.1.gz

Som det fremgår, giver "which" kun stien til den eksekverbare fil, mens "whereis" giver flere oplysninger, herunder placeringen af manual sider.