Conventions de dénomination des fichiers et des répertoires


21

Je souhaite refactoriser les fichiers et répertoires de mon système. Cependant, je ne sais pas quelle est la meilleure pratique .

Après avoir lu cette question et ses réponses, je suppose que la partie la plus importante est d'être cohérent. Cependant, c'est là que je suis coincé. Par exemple, à la racine, il existe des répertoires tels que /binet /usr, qui utilisent tous des minuscules. Mais dans le répertoire de mon utilisateur /home/foobar/, il y a déjà un tas de répertoires tels que ~/Pictures, ~/Documentset ~/Music(qui sont en majuscules)!

C'est peut-être simplement parce que j'utilise Ubuntu, mais qu'est-ce qui est considéré comme la meilleure pratique ?


7
Vous faites sur votre système ce que vous voulez. Si vous souhaitez stocker votre collection porno dans / boot, personne ne restreint cela.
Anton Barkovsky

2
Pour info, lorsque vous démarrez un chemin avec /, comme vous l'avez fait avec /Pictures, cela signifie que le chemin commence au niveau racine (c'est-à-dire un chemin absolu ). Si un chemin commence par ~, son point de départ est un répertoire personnel (votre répertoire personnel s'il est suivi d'un /ou de rien du tout, de quelqu'un d'autre s'il est suivi de son nom d'utilisateur). Vous devriez donc plutôt écrire ~/Picturespour désigner le répertoire Pictures dans votre répertoire personnel, ou vous devriez simplement écrire Pictures. Si vous voulez montrer que c'est un répertoire, suivez- le avec un /, comme dans Pictures/.
Mike DeSimone

Réponses:


7

Il y a quelques parties contradictoires ici. Le commentaire selon lequel vous pouvez faire tout ce que vous voulez est vrai, mais cela fera aussi beaucoup plus de travail pour vous à long terme.

Si vous avez une idée de réorganiser quoi que ce soit en dehors de votre répertoire personnel, arrêtez ! C'est beaucoup plus compliqué que vous ne le pensez et vous devriez le laisser tranquille. Si vous ne l'aimez pas, vous devez passer à une distribution différente ou même à un système d'exploitation. Si rien ne vous convient, vous devrez rouler le vôtre, mais vous ne pouvez pas simplement déplacer les répertoires système sans vous brûler. Voir cette question pour une idée de ce qui se passerait si vous vouliez suivre cette voie.

Nous en sommes donc à votre répertoire personnel.

Tout d'abord, souvenez-vous, lorsque vous imaginez une structure, que les autorisations sont hiérarchiques. Pour que quelqu'un ait des autorisations sur un dossier donné, il doit au moins exécuter des autorisations sur chaque dossier AU-DESSUS de ce dossier. Si vous avez quelque chose dans votre répertoire personnel que vous partagez, il doit être proche du haut (par exemple, ~ / Music), tout ce que vous souhaitez restreindre doit être dans des sous-dossiers avec des autorisations limitées (par exemple ~ / .ssh / id_rsa).

Deuxièmement, il n'y a pas de règles ni même de meilleures pratiques en soi, mais il existe des conventions. De nombreux logiciels utilisent des valeurs par défaut que vous pouvez ou ne pouvez pas modifier, mais même lorsque vous pouvez les modifier, il est difficile de le faire constamment. Gnome, et en particulier Ubuntu, aime les dossiers avec de beaux noms commençant par des majuscules. Si vous essayez de déplacer "Téléchargements" vers "Téléchargements", vous constaterez que l'original est probablement recréé avant trop longtemps par un programme avec une valeur par défaut supposée. Vous devrez décider de la quantité de nage à contre-courant que vous souhaitez faire dans ces cas.


Et je pensais que Linux est aussi configurable que vous le souhaitez ...
daGrevis

Avez-vous toujours besoin d'autorisations d'exécution sur chaque dossier au-dessus d'un répertoire si vous accédez à ce répertoire à partir d'un lien logiciel? De plus, pourquoi ne pas créer un lien logiciel de «Téléchargements» vers «Téléchargements» en réponse à votre dernier point sur certains comportements de distribution.
deed02392

15

L'organisation des fichiers système appartient au fabricant du système d'exploitation. Les distributions Linux suivent globalement la norme de hiérarchie des systèmes de fichiers Linux (FHS) . En tant qu'utilisateur ou administrateur système, le FHS (et les conventions supplémentaires de votre distribution) peuvent parfois être utiles si vous devez localiser un fichier ou si vous souhaitez comprendre le rôle d'un fichier compte tenu de son emplacement, mais cela ne vous contraint pas, vous pouvez faites toujours ce que vous voulez (à vos risques et périls).

Dans votre répertoire personnel, vous pouvez faire à peu près ce que vous voulez, à une exception près: les fichiers dot, c'est-à-dire les fichiers dont le nom commence par un .dans votre répertoire personnel, sont des fichiers de configuration ou d'état, et les applications exigent qu'ils aient un nom particulier. Par exemple, bash lira toujours ~/.bashrcquand il démarre (sauf quand ce n'est pas le cas mais c'est une autre histoire), il vaut donc mieux ne pas utiliser ce nom à une autre fin.

Le projet Freedesktop , qui est principalement une base commune pour Gnome et KDE , a défini quelques répertoires standards dans$HOME : Documents, Music, etc. Certaines applications vont créer ces répertoires si elles n'existent pas, et les utiliser comme emplacement par défaut. Vous pouvez changer leurs noms, et en fait, ils sont censés être traduits dans votre langue. Le composant logiciel qui gère ces répertoires est xdg-users-dirs. Vous pouvez modifier les noms de répertoire en définissant différentes valeurs dans ~/.config/user-dirs.dirs.


1

Sur GNU / Linux, la norme pertinente est la norme de hiérarchie du système de fichiers (FHS). Cependant, cela ne couvre pas les conventions de dénomination des répertoires dans le répertoire de base d'un utilisateur.


Ergoter: Si vous faites PREFIX=$HOME ./configure; make; make installquelque chose de construction sans privilège de racine que vous aurez bin, lib, include, share, manetc. sous $HOME, donc s'il y a une chance que vous tous besoin de faire que vous pourriez aussi bien utiliser les noms traditionnels en premier lieu.
dmckee
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.