Estou usando o Ubuntu 16.04.
Etapa 1) Entrei na minha root
conta de usuário.
Etapa 2) Eu costumava cd
navegar para o diretório inicial de uma conta de usuário diferente.
Etapa 3) Digitei ls
para examinar o conteúdo desse diretório.
Etapa 4) O conteúdo voltou como vazio.
Etapa 5) Digitei mkdir .ssh
para criar um diretório.
Resultado) mkdir: cannot create directory '.ssh': File exists
Pergunta: Por que o diretório está listado como vazio se uma pasta .ssh existe dentro dele?
- atualização -
Eu entrei na raiz porque este é um servidor de teste. Estou criando e destruindo repetidamente.
ll
orla
, not #ls
Respostas:
ls
por si só não mostra diretórios ocultos (diretórios e arquivos ocultos são aqueles que começam com a.
, como.ssh
)Tente usar
ls -a
no diretórioNa página de manual ls:
Como observado nos comentários, diretórios e arquivos "ocultos" não são tecnicamente uma coisa, há apenas código incorporado a muitas ferramentas comuns que tratam
.
e..
com significado especial, o resultado sendo que.
geralmente é considerado "oculto" pela maioria das ferramentas. A razão pela qual usei esse termo é porque é comum ouvi-lo referir-se a essa maneira.Adicionalmente
.
e..
geralmente tem um significado especial para a maioria dos sistemas de arquivos, indicando o diretório atual e o diretório pai, respectivamente.fonte
ls
e um monte de outras ferramentas. Mas, em princípio, você está absolutamente certo; por outro lado, mesmo em sistemas que rastreiam sua linhagem até o MS-DOS e seus atributos de arquivo, é necessário um código especial para lidar com o caso de arquivos "ocultos" (o que significa "arquivos com o conjunto de atributos ocultos" em vez de arquivos que nomearam neste formulário em particular ").ls
só devia esconder.
e..
, por isso, eles acrescentaram código para ver se ele começou com um pontoroot
" combinada com a aparente familiaridade com * nixes. Seria muito fácil para o OP destruir acidentalmente algo importante.Na sua etapa 3, digite
ls -a
para listar o conteúdo do diretório.O arquivo ou diretório cujo nome começa com
.
será ignorado porls
.fonte
.ssh é um diretório oculto, pois começa com um
.
Para listar arquivos e diretórios ocultos, use em
ls -a
vez de apenasls
.fonte
.ssh
não é um arquivo, é um diretório"." está reservado para pastas / arquivos ocultos.
ls
por padrão, não listará os arquivos e diretórios ocultos. ("." e ".." são dois diretórios ocultos padrão em qualquer diretório). Para visualizar todos os arquivos dentro de uma pasta, usels -a
ouls -al
(se desejar obter mais detalhes sobre cada arquivo / pasta.fonte
Para criar o diretório, você precisa remover o diretório existente
Use rm -rf .ssh para remover o diretório
Ou, se já existir, você pode usar cd .ssh
fonte