Convenciones de nomenclatura de archivos y directorios

21

Quiero refactorizar los archivos y directorios en mi sistema. Sin embargo, no estoy seguro de cuál es la mejor práctica .

Después de leer esta pregunta y sus respuestas , supongo que la parte más importante es ser coherente. Sin embargo, aquí es donde estoy atrapado. Por ejemplo, en la raíz, hay directorios como /biny /usr, que usan letras minúsculas. Pero en el directorio de mi usuario /home/foobar/, ¡ya hay un montón de directorios como ~/Pictures, ~/Documentsy ~/Music(que están en mayúscula)!

Tal vez esto sea solo porque uso Ubuntu, pero ¿qué se considera mejor práctica ?

torbellino
fuente
77
Haces en tu sistema lo que quieres. Si desea almacenar su colección de pornografía en / boot nadie lo restringe.
Anton Barkovsky
2
Para su información, cuando comienza una ruta con /, como lo ha hecho con /Pictures, eso significa que la ruta comienza en el nivel raíz (es decir, una ruta absoluta ). Si una ruta comienza con ~, entonces su punto de partida es un directorio de inicio (su directorio de inicio si es seguido por un /o nada, el de otra persona si es seguido por su nombre de usuario). Por lo tanto, debería escribir ~/Picturesen el directorio Imágenes en su directorio de inicio, o simplemente escribir Pictures. Si desea mostrar que es un directorio, sígalo con un /, como en Pictures/.
Mike DeSimone

Respuestas:

7

Hay un par de partes en conflicto aquí. El comentario acerca de poder hacer lo que quieras es cierto, pero a la larga también hará mucho más trabajo para ti.

Si tiene alguna idea sobre reorganizar cualquier cosa fuera de su directorio de inicio, ¡ deténgase ! Eso es mucho más complicado de lo que piensas y deberías dejarlo solo. Si no te gusta, debes cambiar a una distribución diferente o incluso a un sistema operativo. Si ninguno le conviene, necesitaría rodar el suyo, pero no puede mover los directorios del sistema sin quemarse. Vea esta pregunta para tener una idea de lo que sucedería si quisiera ir por ese camino.

Así que estamos en su directorio de inicio.

En primer lugar, recuerde al pensar en una estructura que los permisos son jerárquicos. Para que alguien tenga permisos en una carpeta determinada, debe tener al menos permisos de ejecución en cada carpeta ARRIBA de esa carpeta. Si tiene algo en su directorio personal que comparte, debe estar cerca de la parte superior (por ejemplo, ~ / Música), todo lo que desee restringir debe estar en subcarpetas con permisos limitados (por ejemplo, ~ / .ssh / id_rsa).

En segundo lugar, no hay reglas o incluso mejores prácticas per se, pero hay convenciones. Una gran cantidad de software utiliza valores predeterminados que puede o no puede cambiar, pero incluso cuando puede cambiarlos es problemático tener que hacerlo constantemente. A Gnome, y particularmente a Ubuntu, le gustan las carpetas con nombres bonitos que comienzan con mayúsculas. Si intenta mover "Descargas" a "descargas", encontrará que el programa original probablemente se vuelva a crear en poco tiempo por algún programa con un valor predeterminado asumido. Tendrás que decidir cuánto nadar contra la corriente quieres hacer en estos casos.

Caleb
fuente
Y pensé que Linux es tan configurable como quieras ...
daGrevis
¿Aún necesita ejecutar permisos en cada carpeta sobre un directorio si accede a ese directorio desde un enlace suave? Además, ¿por qué no crear un enlace suave de 'Descargas' a 'descargas' como respuesta a su último punto sobre algunos comportamientos de distribución?
deed02392
15

La organización de los archivos del sistema depende del fabricante del sistema operativo. Las distribuciones de Linux en general siguen el estándar de jerarquía del sistema de archivos de Linux (FHS) . Como usuario o administrador del sistema, el FHS (y las convenciones adicionales de su distribución) en ocasiones puede ser útil si necesita ubicar un archivo o si desea comprender el papel de un archivo dada su ubicación, pero no lo limita, puede aún haga lo que quiera (bajo su propio riesgo).

Dentro de su directorio de inicio, puede hacer casi lo que quiera, con una excepción: los archivos de puntos, es decir, los archivos cuyo nombre comienza con un .en su directorio de inicio, son archivos de configuración o de estado, y las aplicaciones requieren que tengan un nombre en particular. Por ejemplo, bash siempre leerá ~/.bashrccuando comience (excepto cuando no lo haga, pero esa es otra historia), por lo que será mejor que no uses ese nombre para otro propósito.

El proyecto Freedesktop , que es principalmente una base común para Gnome y KDE , se ha definido un par de directorios estándar en$HOME : Documents, Music, etc. Algunas aplicaciones crear estos directorios si no existen, y utilizarlos como ubicaciones predeterminadas. Puede cambiar sus nombres y, de hecho, se supone que deben traducirse a su idioma. El componente de software que gestiona estos directorios es xdg-users-dirs. Puede cambiar los nombres de directorio estableciendo diferentes valores en ~/.config/user-dirs.dirs.

Gilles 'SO- deja de ser malvado'
fuente
1

En GNU / Linux, el estándar relevante es el Estándar de Jerarquía del Sistema de Archivos (FHS). Sin embargo, eso no cubre las convenciones de nomenclatura de directorios dentro del directorio de inicio de un usuario.

fpmurphy
fuente
Objeción: Si lo hace PREFIX=$HOME ./configure; make; make installpara construir algo sin privilegios de root obtendrá bin, lib, include, share, manetc bajo $HOME, por lo que si hay alguna posibilidad de que usted va a todos los que quieren hacer que también podría utilizar los nombres tradicionales en el primer lugar.
dmckee