Bagaimana cara mengetahui daftar direktori di bawah sistem file?

11

Jika saya menjalankan sudo df -hperintah, saya mendapat output di bawah ini:

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              12G  9.5G  1.1G  91% /
/dev/sda4             3.8G  1.5G  2.1G  41% /home
/dev/sda1              99M   75M   20M  80% /boot
tmpfs                 3.9G     0  3.9G   0% /dev/shm
/dev/sdc1              51G  2.6G   46G   6% /u000

Tapi, bagaimana saya tahu daftar direktori di bawah /sda2? Sebagai contoh, Jika saya menjalankan ls /perintah, saya mendapatkan semua direktori di root.

$ ls /
bin   cdunix     dev  etc   lib    lost+found  misc  mnt1  mtp     net  PatchInstall  root  selinux  sys       tmp   usr
boot  cron_4058  esm  home  lib64  media       mnt   mnt2  NB_DIR  opt  proc          sbin  srv      tftpboot  u000  var
  • Tapi, apakah ada perintah atau cara yang bisa saya gunakan untuk mendaftarkan sistem file mereka juga?
  • Karena, jumlah ruang yang tersisa sangat sedikit /dev/sda2/. Bagaimana saya bisa mengosongkan lebih banyak ruang dari partisi ini?
ursitesion
sumber

Jawaban:

4

Jika saya membaca pertanyaan ini dengan benar, ada program yang disebut tree. Ini akan mendaftar semua direktori dalam struktur seperti pohon. Dengan diinstal, Anda dapat melakukan sesuatu seperti:

tree -xDi mana -xTetap hanya pada sistem file saat ini. Ala find -xdev.

UPDATE: Saya telah mencoba tree -P /dev/xvdadan tampaknya telah menunjukkan direktori di bawah filesystem itu. The -Pperintah singkatan pola. Jadi untuk menjawab pertanyaan Anda, Anda harus dapat menggunakannya untuk mendaftar direktori di sistem file.

Untuk daftar level pertama dalam /direktori, coba perintah:

tree -LP 1 /dev/xvda

di mana Llevel Max menampilkan kedalaman pohon direktori.

Lihat halaman manual di sini

ryekayo
sumber
dapatkah saya menggunakan perintah tree dengan filesystem untuk mendaftar semua direktori?
ursitesion
1
Saya memperbarui jawaban saya. Saya percaya kamu bisa.
ryekayo
Saya mengeksekusi tree -P /dev/sda4/dan mendapatkan hasil ini: `. 0 direktori, 0 file`
ursitesion
Pastikan Anda berada di /direktori ketika menjalankan perintah ini
ryekayo
benar. Bagaimana daftar direktori hanya satu tingkat?
ursitesion
8

Jika Anda mencari direktori yang menghabiskan ruang, dan tidak pada partisi yang berbeda, maka Anda inginkan du -hx --max-depth=1 /. The -xmengatakan itu tidak turun ke direktori yang ada di filesystem lain (partisi). Permintaan --max-depth=1untuk hanya mencetak baris (daftar ruang total untuk direktori itu dan semua subdirektori) untuk setiap direktori /daripada setiap subdirektori tunggal.

Anda kemudian dapat mulai menelusuri subdirektori yang lebih besar untuk menemukan apa yang mengambil ruang.

psusi
sumber
3

Tapi, bagaimana saya tahu daftar direktori di bawah / sda2?

Tidak ada direktori di bawah / dev / sda2, / dev / sda2 adalah partisi pada disk (sda adalah disk dan 2 adalah nomor partisi).

Tapi, apakah ada perintah atau cara yang bisa saya gunakan untuk mendaftarkan sistem file mereka juga?

Karena Anda hanya memiliki satu filesystem yang di-mount maka semuanya ada di / fs.

Cara yang lebih baik untuk melihat daftar filesystem yang dipasang adalah dengan menggunakan mount:

$ sudo mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=2018106,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,relatime,size=3232436k,mode=755)
/dev/sda5 on / type ext4 (rw,noatime,errors=remount-ro,data=ordered)

Untuk melihat jumlah penyimpanan yang digunakan oleh folder Anda dapat menggunakan duperintah, misalnya .:

~/tmp$ du -sh
752K    .

dutelah banyak menggunakan opsi lengkap. Yang benar-benar bagus ketika melacak folder besar adalah --max-depth=1yang akan membatasi kedalaman output:

du -h --max-depth=1 /
7,9M    /sbin
702M    /lib

Anda akan mendapatkan banyak pesan kesalahan jika Anda menjalankan ini di / tanpa menjadi root.

dudapat membantu Anda mencari tahu file mana yang akan dihapus untuk membuat lebih banyak ruang. Jika Anda tidak dapat menghapus file apa pun maka Anda perlu mengubah ukuran partisi atau memindahkan beberapa data ke partisi lain.

Martin
sumber
Saya telah menambahkan semua sistem file di server saya.
ursitesion
@sursi OK, apa pertanyaan Anda yang sebenarnya?
Martin
Saya ingin mengurangi 'menggunakan% `dalam my/dev/sda2
ursitesion
ah .. Anda harus mengedit pertanyaan Anda. Saya akan memperbarui jawaban saya
Martin
Diperbarui pertanyaan saya ....
ursitesion