Pertanyaan Mengapa direktori root root superuser Linux saya tidak menampilkan semua file?


Jika saya masuk dan kemudian menuju ke root superuser saya melalui:

sudo su -

Saya sekarang ada di direktori root. Saya bisa menampilkan daftar file dan direktori via ls. Namun beberapa direktori sepertinya tidak ada di sana. Misalnya, saya dapat:

cd /svr/www

dan berakhir di direktori www. Itu svr direktori tidak ditampilkan ketika saya mengetik ls perintah dari root, atau tampaknya tidak berada di bawah direktori yang ditampilkan.

Apa yang saya rindukan?


5
2017-09-20 22:04


asal


Apa rasa khusus "Unix" ini? Apakah ini Sistem V yang sebenarnya dari tahun 1970-an, atau apakah Anda menggunakan beberapa turunan seperti, oh saya tidak tahu, Linux atau BSD? Silakan telepon dengan apa yang sebenarnya dan bukan istilah umum seperti "Unix". - allquixotic
Diubah ke Linux. Terima kasih telah menunjukkan ini. - UnixNewbie2012
Setelah kamu sudo su - Apakah kamu cd ke direktori lain atau merupakan perintah pertama yang Anda ketikkan ls ? - Lipongo


Jawaban:


Setelah perintah sudo su - Saya pikir Anda akan menemukan Anda berada di direktori home root /root bukan di direktori root /. Karenanya ls tidak akan ditampilkan /srv. Saya sarankan Anda gunakan pwd untuk memeriksa folder mana Anda berada.


7
2017-09-20 23:10



Ah ha! S persis itu. Terima kasih. - UnixNewbie2012
@allquixotic (dan lainnya) Dari tanggapan OP ini tidak duplikat dari pertanyaan sebelumnya! - StarNamer


Jika Anda berada di / direktori dan jenis ls, kamu akan tidak lihat subdirektori "rekursif". Anda hanya akan melihat direktori yang merupakan anak langsung dari direktori saat ini. Jadi untuk dilihat /srv/www Anda harus terlebih dahulu cd /srv lalu ls.

Ada yang namanya rekursif ls; namun, jika Anda membutuhkan jalur lengkap, find adalah alternatif yang lebih baik.

Lihat pertanyaan StackOverflow ini yang telah memperlakukan subjek rekursif file / daftar direktori sudah.


2
2017-09-20 22:08



Maaf, saya salah ketik dalam pertanyaan di atas. Saya maksudkan bahwa 'svr' tidak ditampilkan di bawah root. - UnixNewbie2012
Apakah Anda tidak melihatnya dari # (root) shell, atau dari $ kulit? Izin dapat diatur sedemikian rupa sehingga hanya pengguna root yang dapat melihat direktori ... misalnya, chmod o-x / bisa melakukan ini (jika / tidak bisa dieksekusi). - allquixotic
# shell. Apa perbedaan antara # dan $ shell sebagai root? - UnixNewbie2012
# adalah cangkang root. Jika Anda "login" sebagai root, shell Anda akan menjadi #. Jika Anda masuk sebagai pengguna biasa, shell Anda akan menjadi $. Root seharusnya tidak menderita apa saja pembatasan izin kontrol akses discretionary apapun, yang berarti itu chmod dan chown dan izin yang serupa pada direktori / file harus diabaikan, dan seharusnya tidak menjadi penyebab perilaku melihat seperti ini. - allquixotic
Satu hal tambahan yang bisa Anda coba adalah ls -la - opsi baris perintah tambahan akan ditampilkan misalnya file yang tersembunyi juga ... meskipun biasanya satu-satunya file yang tersembunyi adalah file yang dimulai dengan titik . karakter; mereka selalu tersembunyi dari reguler lsperintah. - allquixotic