Il comando ls non mostra la cartella ma non riesco a crearla perché la cartella esiste già


8

Sto usando Ubuntu 16.04.

Passaggio 1) Ho effettuato l'accesso al mio rootaccount utente.

Passaggio 2) cdPassavo alla home directory di un altro account utente.

Passaggio 3) Ho digitato lsper esaminare il contenuto di quella directory.

Passaggio 4) Il contenuto è tornato vuoto.

Passaggio 5) Ho digitato mkdir .sshper creare una directory.

Risultato) mkdir: cannot create directory '.ssh': File exists

Domanda: Perché la directory è elencata come vuota se al suo interno esiste una cartella .ssh?

-- aggiornare --

Ho effettuato l'accesso a root perché si tratta di un server di prova. Lo sto creando e distruggendo ripetutamente.


usare llo lanols
phuclv il

1
ll è solo un alias, quindi usa ls -alF
Dennis Nolte il

2
Il tuo processo presenta un bug importante al passaggio 1.
Razze di leggerezza in orbita

Risposte:


35

lsdi per sé non mostra directory nascoste (directory e file nascosti sono quelli che iniziano con un ., come .ssh)

Prova a utilizzare ls -anella directory.

Dalla pagina man ls:

-a, --all

non ignorare le voci che iniziano con.

Come notato nei commenti, le directory e i file "nascosti" non sono tecnicamente una cosa, c'è solo il codice incorporato in molti strumenti comuni che trattano .e ..con un significato speciale, il risultato è che di .solito è considerato "nascosto" dalla maggior parte degli strumenti. Il motivo per cui ho usato questo termine è perché è comune sentirlo riferirsi a quel modo.

Inoltre .e di ..solito hanno un significato speciale per la maggior parte dei filesystem, indicando rispettivamente la directory corrente e la directory principale.


4
Nota che le "directory nascoste" non sono una cosa in sé, sono nascoste perché ls ha un codice speciale per non mostrarle quando iniziano con un punto.
PlasmaHH,

2
@PlasmaHH Bene, lse un sacco di altri strumenti. Ma in linea di principio hai assolutamente ragione; poi di nuovo, anche su sistemi che riconducono il loro lignaggio a MS-DOS e ai suoi attributi di file, richiede un codice speciale per gestire il caso di file "nascosti" (che significa "file con l'attributo nascosto impostato" anziché "file che hanno nominato questo particolare modulo ").
un CVn del

3
@ MichaelKjörling: su molti di questi sistemi è comunque il contrario. Lì normalmente chiedi al sistema di "darmi tutto" e quando vuoi visualizzare i file nascosti dici "dammi tutto più le cose nascoste" o "dammi tutte le cose nascoste". Quindi sta facendo uno sforzo extra per nascondere i file piuttosto che uno sforzo extra per visualizzare anche i file nascosti.
PlasmaHH,

12
Fatto curioso, l'invenzione dei file nascosti era un bug, lsdoveva solo nascondere .e .., quindi, hanno aggiunto il codice per vedere se è iniziato con un punto
Ferrybig,

4
Sono preoccupato per la parte "logged as root" combinata con apparente familiarità con * nixes. Sarebbe molto facile per OP distruggere accidentalmente qualcosa di importante.
cambio

4

Nel passaggio 3, digitare ls -aper elencare il contenuto della directory.

Il file o la directory il cui nome inizia con .saranno ignorati da ls.


0

.ssh è una directory nascosta, poiché inizia con a .

Per elencare file e directory nascosti, utilizzare ls -ainvece di solo ls.


1
.sshnon è un file, è una directory
Ferrybig

7
In che modo è qualcosa di più della risposta accettata data 8 ore prima o dell'altra risposta fornita contemporaneamente alla risposta accettata?
Colt

-2

"" è riservato per cartelle / file nascosti. lsper impostazione predefinita non elencherà i file e le directory nascosti. ("." e ".." sono due directory nascoste predefinite in qualsiasi directory). Per visualizzare tutti i file all'interno di una cartella, utilizzare ls -ao ls -al(se si desidera maggiori dettagli su ciascun file / cartella.


-4

Per creare la directory è necessario rimuovere la directory esistente

Usa rm -rf .ssh rimuoverà la directory

O se già esiste È possibile utilizzare cd .ssh

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.