Quel est l'équivalent du répertoire bin pour Windows?

18

Existe-t-il un équivalent de binWindows? Si oui, comment puis-je y accéder à partir de l'invite de commande?

Toby Blunt
la source
5
Vous devez élaborer un peu plus ... Que recherchez-vous et essayez-vous de réaliser?
Eric F
8
binn'est pas spécial, il est juste répertorié dans l' PATHenvironnement précieux. Windows de Microsoft possède également cette variable. La seule différence est qu'il utilise à la ;place de :, et il y a une implication .à la mendicité pour une insécurité accrue. Jetez donc un œil à cette variable. Vous pouvez également le modifier pour ajouter un binrépertoire.
ctrl-alt-delor
Incroyable ce qu'un bon montage peut réaliser. : P
Michael Frank
1
@MichaelFrank Surtout lorsque vous faites des hypothèses et ajoutez des choses que le PO n'a pas posées (par exemple: "peut-il être créé sous Windows"). Nous devons faire attention à cela.
Ƭᴇcʜιᴇ007
2
Ou rendre le titre ambigu en supprimant un mot clé comme "répertoire". Au début, je pensais que le sujet concernait un type de fichier.
sciure

Réponses:

29

Il n'y a rien de vraiment spécial /binsur Unix / Linux. Il est juste l'endroit où les fichiers exécutables (y compris les scripts, qui ne sont pas réellement bin fichiers ary) sont placés par convention , et il est inclus dans la PATHvariable d'environnement par défaut pour tous les utilisateurs. Comme le dit Ryan, le \Windows\System32répertoire sur Windows est également PATHdestiné à tous les utilisateurs de Windows (et, même s'il ne l'est pas, le chargeur de programmes de Windows y recherchera de toute façon).

Vous pouvez facilement créer votre propre équivalent de /binWindows. Pour le rendre à l'échelle du système, placez-le quelque part comme la racine du système de fichiers (comme dans C:\bin) ou sous un emplacement déjà restreint comme \Windows\System32\bin), et ajoutez-le à la PATHvariable d'environnement pour tous les utilisateurs. Pour un emplacement par utilisateur, créez le répertoire dans votre propre profil ( %USERPROFILE%\bin) et ajoutez-le à la PATHvariable d'environnement de votre compte . Windows combine les PATHvariables d'environnement par utilisateur et à l'échelle du système, donc tout ce qui se trouve dans la PATHvariable machine est également ajouté à n'importe quel utilisateur PATH, mais pas l'inverse.

Bien sûr, vous devrez ajouter vous-même des fichiers / scripts / raccourcis / liens symboliques à votre binrépertoire. Les installateurs de Windows ne s'attendent pas à une telle chose, et ne mettront pas automatiquement les fichiers comme les installateurs Linux le feront habituellement.

CBHacking
la source
10
Je ne mettrais pas de binrépertoire semblable à System32. Ce sont les domaines du système d'exploitation. Mieux vaut le mettre ailleurs, comme votre c: \ bin suggéré, et recréer les ACL. Cela ne devrait pas prendre plus d'une minute ou deux si vous vous familiarisez avec l'interface ACL; un peu plus longtemps sinon, mais pas encore longtemps.
un CVn
1
J'ajouterais que la façon standard d'obtenir les outils CLI installés par l'utilisateur accessibles à partir de l'invite de commandes est d'ajouter leur répertoire d'installation (probablement dans% ProgramFiles%) au PATH.
Jens
Windows ne combine pas les variables d'environnement avec le même nom - normalement, les variables d'environnement au niveau utilisateur remplacent celles au niveau système. PATHest un cas particulier et AFAIK le seul traité de cette façon par Windows.
afrazier
L'OP n'a jamais demandé de créer un répertoire bin ou des variables d'environnement ... parler de hors-sujet.
Ryan Babchishin
1
Avec tout le respect que je vous dois, poser des questions sur "un équivalent de binWindows" revient à ne demander que des variables d'environnement, car c'est tout ce qui /binest un dossier dans la PATHvariable d'environnement . Il existe des conventions d’utilisation concernant la façon dont vous utilisez les dossiers comme /bin(ou %WINDIR%, ou %WINDIR%\System32), mais le système ne les connaît pas ou ne s’en soucie pas; tout ce qui l'intéresse (dans ce contexte) est la PATHvariable d'environnement.
CBHacking
6

Si vous faites référence à bin, comme sous Unix / Linux, pas tout à fait. Windows n'utilise pas le FHS partagé par différentes variantes d'Unix. Bien que Windows garde des trucs partout, tout comme Unix.

La chose la plus proche de / bin pourrait être c: \ windows \ system32

cd c:\windows\system32
Ryan Babchishin
la source
1
Ni Windows, ni Linux (ou le FHS) "ne gardent des trucs partout". Windows utilise principalement le répertoire System32 et les répertoires (aujourd'hui deux) Program Files pour garder les choses raisonnablement ordonnées. Sous Linux (et de nombreux autres systèmes de type Unix), vous disposez bin(outils utilisateur courants) et sbin(classiquement, outils d'administration système) sous chacun des répertoires racine, / usr et éventuellement / usr / local, selon l'importance du système pour l'outil. (/ Usr et / usr / local peuvent être séparés du système de fichiers racine.) Windows n'a pas une séparation aussi claire dans le système de fichiers entre les types d'outils.
un CVn
1
Je pense que vous venez de prouver mon point de vue, il existe de nombreux endroits où les exécutables sont stockés. Ce n'est pas aléatoire, si vous pensez que c'est ce que je voulais dire. Mon bureau Linux a 479 répertoires sous / usr seuls qui contiennent des fichiers exécutables d'une certaine sorte. Si je le parcourais, je suppose que certains fichiers seraient marqués de manière inappropriée comme exécutables, mais vous avez compris. Le FHS spécifie 7 répertoires parents standard qui peuvent être utilisés pour le stockage exécutable, dont beaucoup peuvent avoir des sous-répertoires. Windows est similaire, car il stocke les exécutables à plusieurs endroits sous c: \ windows et dans c: \ Program Files.
Ryan Babchishin
Il y a 6 entrées dans la variable PATH par défaut sur les systèmes Ubuntu.
Ryan Babchishin
6

Le binrépertoire des systèmes de type Unix contient les programmes du système et ceux installés, mais sous Windows, les programmes système sont situés dans C:\Windows\System32et ceux installés sont probablement situés dans C:\Program Files.

Hamza Abbad
la source
2

Comme d'autres l'ont dit, ce n'est pas clair exactement ce que vous entendez par «équivalent», mais la plupart des commandes couramment utilisées sur la ligne de commande sont soit intégrées à cmd.exe (dir, copy, type, mkdir, etc.) même lorsque l'équivalent Unix serait dans / bin, et d'autres (findstr, net, mountvol, shutdown, tasklist, etc.) sont principalement situés dans (généralement) C: \ Windows \ System32 (versions 32 bits sur les systèmes 64 bits dans c: \ Windows \ SysWOW64).

Une liste de commandes peut être affichée avec la helpcommande, cela inclut certaines qui sont intégrées à cmd.exe et d'autres qui sont des programmes externes.

Aléatoire832
la source
1

Je gère des serveurs depuis près de 30 ans à la fois sous Windows et Linux. Pour une raison quelconque, au début, j'ai commencé à créer un dossier bin à la racine de c: et je mets toujours tous mes scripts et utilitaires que j'utilise pour maintenir le serveur. Parfois, j'ai ajouté au Chemin, mais pas toujours. Je suppose que j'aime toujours l'idée d'un dossier appelé bin sur les deux systèmes pour y mettre mes scripts.

Mais oui, rien de magique, vous pouvez faire quelque chose de différent sur chaque système.

Merci,

user510304
la source