Convenções de Nomenclatura de Arquivos e Diretórios

21

Quero refatorar os arquivos e diretórios no meu sistema. No entanto, não sei ao certo qual é a melhor prática .

Depois de ler esta pergunta e suas respostas , assumo que a parte mais importante é ser consistente. No entanto, é aqui que estou preso. Por exemplo, na raiz, existem diretórios como /bine /usr, que usam letras minúsculas. Mas no diretório do meu usuário /home/foobar/, já existem vários diretórios como ~/Pictures, ~/Documentse ~/Music(que estão em maiúsculas)!

Talvez seja apenas porque eu uso o Ubuntu, mas o que é considerado uma boa prática ?

turbilhão
fonte
7
Você faz no seu sistema o que deseja. Se você deseja armazenar sua coleção de pornografia em / boot, ninguém a restringe.
Anton Barkovsky
2
Para sua informação, quando você inicia um caminho com /, como você /Picturesiniciou, significa que o caminho começa no nível raiz (ou seja, um caminho absoluto ). Se um caminho começa com ~, então seu ponto de partida é um diretório inicial (seu diretório inicial, se for seguido por um /ou nada, alguém será seguido pelo nome de usuário). Portanto, você deve escrever ~/Picturespara significar o diretório Imagens em seu diretório pessoal ou apenas escrever Pictures. Se você quiser mostrar que é um diretório, siga -o com a /, como em Pictures/.
Mike DeSimone

Respostas:

7

Existem algumas partes conflitantes aqui. O comentário sobre poder fazer o que você quiser é verdadeiro, mas também fará muito mais trabalho para você a longo prazo.

Se você tem alguma idéia de reorganizar algo fora do diretório inicial, pare ! Isso é muito mais complicado do que você pensa e deve deixar em paz. Se você não gostar, deve mudar para uma distribuição diferente ou mesmo para o sistema operacional. Se nada lhe convier, você precisaria criar o seu próprio, mas você não pode simplesmente mover os diretórios do sistema sem se queimar. Veja esta pergunta para ter uma idéia do que aconteceria se você quisesse seguir esse caminho.

Então, estamos no seu diretório pessoal.

Antes de tudo, lembre-se de criar uma estrutura em que as permissões sejam hierárquicas. Para que alguém tenha permissões em uma determinada pasta, ele precisa ter pelo menos permissões de execução em todas as pastas ACIMA dessa pasta. Se você tiver algo em seu diretório pessoal que você compartilhe, ele precisa estar próximo do topo (por exemplo, ~ / Music), qualquer coisa que você queira restringir deve estar em subpastas com permissões limitadas (por exemplo, ~ / .ssh / id_rsa).

Em segundo lugar, não existem regras ou mesmo práticas recomendadas, mas existem convenções. Muitos softwares usam valores padrão que você pode ou não conseguir alterar, mas mesmo quando você pode alterá-los, é problemático precisar constantemente. O Gnome, e particularmente o Ubuntu, gosta de pastas com bons nomes começando com maiúsculas. Se você tentar mover "Downloads" para "downloads", verá que o original provavelmente será criado novamente em pouco tempo por algum programa com um padrão assumido. Você terá que decidir quanto nadar contra a maré que deseja fazer nesses casos.

Caleb
fonte
E eu pensei que o Linux é tão configurável quanto você deseja ... #
933 daGrevis
Você ainda precisa executar permissões em todas as pastas acima de um diretório, se acessar esse diretório a partir de um softlink? Além disso, por que não criar um link virtual de 'Downloads' para 'downloads' como uma resposta ao seu último ponto sobre alguns comportamentos de distribuição.
deed02392
15

A organização dos arquivos do sistema depende do fabricante do sistema operacional. As distribuições Linux geralmente seguem o padrão de hierarquia de sistemas de arquivos do Linux (FHS) . Como usuário ou administrador do sistema, o FHS (e as convenções adicionais da sua distribuição) pode ocasionalmente ser útil se você precisar localizar um arquivo ou se quiser entender a função de um arquivo, dada a sua localização, mas não o restringir, você pode ainda faça o que quiser (por sua conta e risco).

Dentro do diretório inicial, você pode fazer praticamente o que deseja, com uma exceção: arquivos de ponto, ou seja, arquivos cujo nome começa com um .no diretório inicial, são arquivos de configuração ou estado, e os aplicativos exigem que eles tenham um nome específico. Por exemplo, o bash sempre lerá ~/.bashrcquando for iniciado (exceto quando não for, mas isso é outra história); portanto, é melhor não usar esse nome para outro propósito.

O projeto Freedesktop , que é principalmente um terreno comum para Gnome e KDE , definiu alguns diretórios padrão em$HOME : Documents, Music, etc. Algumas aplicações irá criar esses diretórios se eles não existirem, e usá-los como locais padrão. Você pode mudar os nomes deles e, na verdade, eles devem ser traduzidos para o seu idioma. O componente de software que gerencia esses diretórios é xdg-users-dirs. Você pode alterar os nomes dos diretórios definindo valores diferentes em ~/.config/user-dirs.dirs.

Gilles 'SO- parar de ser mau'
fonte
1

No GNU / Linux, o padrão relevante é o FHS (Filesystem Hierarchy Standard). No entanto, isso não cobre as convenções de nomenclatura de diretório dentro de um diretório inicial do usuário.

fpmurphy
fonte
Quibble: Se você fizer PREFIX=$HOME ./configure; make; make installpara construir algo sem privilégios de root você vai ter bin, lib, include, share, manetc sob $HOME, por isso, se há alguma chance de que você vai cada quero fazer isso assim como você pode usar os nomes tradicionais em primeiro lugar.
dmckee