J'utilise Ubuntu 16.04.
Étape 1) Je me suis connecté à mon root
compte utilisateur.
Étape 2) J'ai utilisé cd
pour naviguer vers le répertoire personnel d'un autre compte d'utilisateur.
Étape 3) J'ai tapé ls
pour examiner le contenu de ce répertoire.
Étape 4) Le contenu est revenu vide.
Étape 5) J'ai tapé mkdir .ssh
pour créer un répertoire.
Résultat) mkdir: cannot create directory '.ssh': File exists
Question: Pourquoi le répertoire est-il répertorié comme vide si un dossier .ssh existe à l'intérieur?
-- mise à jour --
Je me suis connecté en root car il s'agit d'un serveur de test. Je le crée et le détruis à plusieurs reprises.
ll
oula
nonls
Réponses:
ls
par lui-même n'affiche pas les répertoires cachés (les répertoires et fichiers cachés sont ceux qui commencent par un.
, comme.ssh
)Essayez d'utiliser
ls -a
dans le répertoire.Depuis la page de manuel ls:
Comme indiqué dans les commentaires, les répertoires et fichiers "cachés" ne sont pas techniquement une chose, il y a juste du code intégré dans de nombreux outils communs qui traitent
.
et..
avec une signification particulière, le résultat étant.
généralement considéré comme "caché" par la plupart des outils. La raison pour laquelle j'ai utilisé ce terme est qu'il est courant de l'entendre se référer de cette façon.De plus
.
,..
ils ont généralement une signification spéciale pour la plupart des systèmes de fichiers, indiquant respectivement le répertoire actuel et le répertoire parent.la source
ls
et tout un tas d'autres outils. Mais en principe, vous avez absolument raison; là encore, même sur les systèmes qui remontent leur lignée à MS-DOS et ses attributs de fichier, il nécessite un code spécial pour gérer la casse des fichiers "cachés" (ce qui signifie "fichiers avec le jeu d'attributs cachés" plutôt que "fichiers qui ont nommé sur ce formulaire particulier ").ls
était seulement censée se cacher.
et..
, alors ils ont ajouté du code pour voir si cela commençait par un pointroot
» combinée avec une méconnaissance apparente avec * nixes. Il serait très facile pour OP de détruire accidentellement quelque chose d'important.À votre étape 3, tapez
ls -a
pour répertorier le contenu du répertoire.Le fichier ou le répertoire dont le nom commence par
.
sera ignoré parls
.la source
.ssh est un répertoire caché, car il commence par un
.
Pour répertorier les fichiers et répertoires cachés, utilisez
ls -a
plutôt que justels
.la source
.ssh
n'est pas un fichier, c'est un répertoire"." est réservé aux dossiers / fichiers cachés.
ls
par défaut, ne répertorie pas les fichiers et répertoires masqués. ("." et ".." sont deux répertoires cachés par défaut dans n'importe quel répertoire). Pour afficher tous les fichiers d'un dossier, utilisezls -a
ouls -al
(si vous souhaitez plus de détails sur chaque fichier / dossier.la source
Pour créer le répertoire, vous devez supprimer le répertoire existant
Utilisez rm -rf .ssh, cela supprimera le répertoire
Ou s'il existe déjà Vous pouvez utiliser cd .ssh
la source