Perintah ls tidak menampilkan folder tetapi saya tidak dapat membuatnya karena folder sudah ada

8

Saya menggunakan Ubuntu 16.04.

Langkah 1) Saya masuk ke rootakun pengguna saya .

Langkah 2) Saya biasa cdmenavigasi ke direktori home akun pengguna lain.

Langkah 3) Saya mengetik lsuntuk memeriksa isi direktori itu.

Langkah 4) Isi kembali sebagai kosong.

Langkah 5) Saya mengetik mkdir .sshuntuk membuat direktori.

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

Pertanyaan: Mengapa direktori terdaftar kosong jika ada folder .ssh di dalamnya?

- perbarui -

Saya login ke root karena ini adalah server uji. Saya berulang kali membuat dan menghancurkannya.

DR01D
sumber
gunakan llatau la, tidakls
phuclv
1
ll hanyalah sebuah alias, jadi gunakanlah ls -alF
Dennis Nolte
2
Proses Anda memiliki bug utama di dalamnya pada langkah 1.
Lightness Races di Orbit

Jawaban:

35

lsdengan sendirinya tidak menampilkan direktori tersembunyi (direktori dan file tersembunyi adalah direktori yang diawali dengan ., seperti .ssh)

Coba gunakan ls -adi direktori.

Dari manual ls:

-a, --semua

jangan abaikan entri yang dimulai dengan.

Seperti dicatat dalam komentar, direktori dan file "tersembunyi" secara teknis bukan suatu hal, hanya ada kode yang dibangun ke banyak alat umum yang memperlakukan .dan ..dengan makna khusus, hasilnya adalah yang .biasanya dianggap "tersembunyi" oleh sebagian besar alat. Alasan saya menggunakan istilah ini adalah karena sering mendengar istilah itu disebut seperti itu.

Selain itu .dan ..biasanya memiliki arti khusus untuk sebagian besar sistem file, masing-masing menunjukkan direktori saat ini dan direktori induk.

Patrick
sumber
4
Perhatikan bahwa "direktori tersembunyi" bukan sesuatu yang penting, mereka disembunyikan karena ls memiliki kode khusus untuk tidak menunjukkannya ketika mereka mulai dengan sebuah titik.
PlasmaHH
2
@PlasmaHH Nah, lsdan sejumlah alat lainnya. Tetapi pada prinsipnya Anda benar; sekali lagi, bahkan pada sistem yang melacak garis keturunan mereka kembali ke MS-DOS dan atribut file-nya, memerlukan kode khusus untuk menangani kasus file "tersembunyi" (yang berarti "file dengan set atribut tersembunyi mengatur" daripada "file yang telah dinamai pada formulir khusus ini ").
CVn
3
@ MichaelKjörling: pada banyak sistem ini adalah sebaliknya. Di sana Anda biasanya meminta sistem untuk "memberi saya segalanya" dan ketika Anda ingin menampilkan file tersembunyi, Anda mengatakan "berikan saya segalanya ditambah barang-barang tersembunyi" atau "berikan saya semua barang tersembunyi". Jadi melakukan upaya ekstra untuk menyembunyikan file vs. melakukan upaya ekstra untuk menampilkan file tersembunyi juga.
PlasmaHH
12
Fakta menarik, penemuan file tersembunyi adalah bug, lshanya disembunyikan .dan .., jadi mereka menambahkan kode untuk melihat apakah itu dimulai dengan titik
Ferrybig
4
Saya khawatir tentang bagian "masuk sebagai root" dikombinasikan dengan ketidakbiasaan dengan * nixes. Akan sangat mudah bagi OP untuk secara tidak sengaja menghancurkan sesuatu yang penting.
shoover
4

Di langkah 3 Anda, ketik ls -auntuk mendaftar isi direktori.

File atau direktori yang namanya dimulai .akan diabaikan oleh ls.

Bruce
sumber
0

.ssh adalah direktori tersembunyi, karena dimulai dengan a .

Untuk membuat daftar file dan direktori tersembunyi, gunakan ls -abukan hanya ls.

Muhammed Sherief
sumber
1
.sshbukan file, itu direktori
Ferrybig
7
Bagaimana ini lebih dari jawaban yang diterima diberikan 8 jam ke depan, atau jawaban yang lain diberikan pada waktu yang sama dengan jawaban yang diterima?
Colt
-2

"." dicadangkan untuk folder / file tersembunyi. lssecara default tidak akan mencantumkan file dan direktori tersembunyi. ("." dan ".." adalah dua direktori tersembunyi default di direktori mana pun). Untuk melihat semua file di dalam folder, gunakan ls -aatau ls -al(jika Anda ingin lebih detail tentang setiap file / folder.

Chintan Parikh
sumber
-4

Untuk membuat direktori, Anda harus menghapus direktori yang ada

Gunakan rm -rf .ssh itu akan menghapus direktori

Atau jika sudah ada Anda bisa menggunakan cd .ssh

Manoj Malviya
sumber