Eu posso entender a lógica de ocultar arquivos e pastas no /home/user
diretório para impedir que os usuários mexam com as coisas. No entanto, eu não vejo como o mesmo raciocínio pode ser aplicado a arquivos no /etc
, /boot
e /var
diretórios que é o domínio de administradores.
Minha pergunta é por que alguns arquivos e pastas estão ocultos dos administradores? Exemplo:
/boot/.vmlinuz-3.11.1-200.fc20.x86_64.hmac
/etc/.pwd.lock
/etc/selinux/targeted/.policy.sha512
/etc/.java
/etc/.java/.systemPrefs
/etc/skel/.bash_profile
/root/.ssh
/root/.config
/var/cache/yum/x86_64/20/.gpgkeyschecked.yum
/var/spool/at/.SEQ
/var/lib/pear/.filemap
ls
comando simplesmente não lista os arquivos que começam com um ponto por padrão (consulteinfo ls
) - é o design desse software específico.ls
; também a expansão shell de globs não incluirá esses arquivos, a menos que o ponto inicial seja explicitamente incluído no padrão, e geralmente os gerenciadores de arquivos não os mostrarão, a menos que você escolha a opção "Mostrar arquivos ocultos" (sim, a opção usa esse termo).Respostas:
Você interpretou mal a lógica principal de "arquivos ocultos". Não é
Embora possa ter essa conseqüência para usuários muito novos até que eles aprendam o que é um "arquivo de pontos" ( arquivo de pontos e diretório de pontos são talvez termos mais adequados e específicos que "oculto"). Por si só, não impede que você mexa com as coisas - é para isso que servem as permissões. Talvez ajude a indicar aos novos usuários que isso é algo que eles não devem mexer até entenderem o que é.
Assim, você pode pensar no prefixo de ponto como uma espécie de sufixo de arquivo - observe que eles geralmente não têm um desses, embora possam. Indica que este arquivo não é de interesse para a navegação geral, e é por isso que
ls
os navegadores de arquivos geralmente não o exibem. No entanto, como é um prefixo em vez de um sufixo, há o bônus adicional, quando você os exibe (ls -a
) em ordem lexicográfica, para vê-los todos listados juntos.O objetivo normal de um arquivo como esse é para ser usado por um aplicativo (por exemplo, configuração). Você não precisa usá-los diretamente ou mesmo estar ciente deles.
Portanto, esse "esconderijo" não se destina tanto a ocultar literalmente o arquivo do usuário quanto a reduzir a confusão e fornecer alguma organização conceitualmente.
fonte
git
varre um determinado diretório, se houver um.gitignore
arquivo presente, ele será lido; e quando você iniciargdb
, ele lerá um$PWD/.gdbinit
arquivo, se presente ( e um~/.gdbinit
; outro método comum)./etc/skel
contém arquivos a serem copiados para os diretórios pessoais do novo usuário; portanto, os nomes são obviamente os mesmos do diretório pessoal do usuário. Isso explica/etc/skel/.bash_profile
. O diretório/root
também é um diretório inicial, ou seja, o diretório inicial do usuárioroot
. Isso explica/root/.ssh
e/root/.config
./etc/.pwd.lock
parece ser um arquivo de bloqueio. Você normalmente não está interessado em arquivos de bloqueio, portanto, faz sentido que ele seja oculto.Para os outros arquivos, não sei para que servem, mas tenho certeza de que também há uma boa explicação sobre por que eles estão ocultos.
E é claro que goldilocks está certo em que dotfiles estão ocultos não para impedir que alguém mexa com eles (a idéia básica do Unix é assumir que o usuário sabe o que ele faz), mas para impedir que eles sobrecarregem as listagens de diretório ( embora, para arquivos de configuração no diretório inicial, eu considerasse um
etc
subdiretório uma solução melhor).fonte
Esta pode ser uma resposta altamente opiniated, mas acho que a razão principal de arquivos de ponto e ponto diretórios são marcadas como esse não é para esconder ou obscurecer -los - eu acho que é apenas para deixar o know usuário que dentro desses arquivos e diretórios são o programa de e usuário configurações que podem ser alteradas por eles ou pelos próprios programas.
O fato de os arquivos e diretórios de ponto serem omitidos por padrão pela linha de comando
ls
e das visualizações na maioria dos gerenciadores de arquivos é apenas uma mercadoria - você não deseja mostrar os detalhes / internos de tudo, a menos que solicitado pelo usuário; se o usuário deseja alterar uma configuração e não pode fazê-lo por meio de uma GUI, é muito provável que encontre a configuração que ele está procurando nos arquivos de ponto .por exemplo,> dentro,
$HOME/.vimrc
você encontrará a configuração paravim
.fonte