Bu neden gizli dosya / klasörleri göstermiyor?


140

Bunu du -sch ./*bulduğumda sebepsiz yere stokladığım gereksiz dosyaları bulmak için sistemime bakıyordum :

$ du -sch ./*
du: cannot read directory ‘./drbunsen/.gvfs’: Permission denied
du: cannot read directory ‘./drbunsen/.cache/dconf’: Permission denied
18G ./drbunsen
18G total

$ cd drbunsen/
$ du -sch ./*
601M ./Desktop
20K ./Documents
598M ./Downloads
4.0K ./flash
4.0K ./Music
8.0M ./Pictures
4.0K ./Public
4.0K ./Templates
4.0K ./Ubuntu One
8.0K ./Videos
11G ./VirtualBox VMs
6.9M ./workspace
12G total

Gizli dosyaları nasıl görünür yapabilirim? du -sch ./.*aynı sonucu verir du -sch ./*.


du -hs .[^.]* *tüm gizli dosyalar için, hariç tutulan .ve ..hangi yanıtların eksik olduğu görünüyor.
laggingreflex

Yanıtlar:


245

kullanım

du -sch .[!.]* * |sort -h

Ana klasörünüzde

Alternatif olarak, en sık kullandığım komut

ncdu

Gerekirse kurulumu kolaydır:

sudo apt-get install ncdu

1
Teşekkürler, sen bir dahisin. Ben bashta usta değilim, [!.] Ne yaparsın?
Dr_Bunsen

10
@Dr_Bunsen: Tek ile başlayan tüm dosyaları listeleyen bir dünya .. İşte temiz bir püf noktası: dünyaya özgü bir şeyin ne yaptığını bilmiyorsanız, kaçmaya çalışın echo .[!.]*ya da her neyse. Kabuk daha sonra glob'ı genişletecek ve echosonuç olarak ortaya çıkan dosyaların listesini yazdırarak içine iletecektir .
Tikhon Jelvis

14
Bu, adlandırılmış dosyaları listelemekte başarısız olur ..foove adı ile başlayan dosyalarda sorunlara neden olabilir -. Argü listesi çok uzunsa da başarısız olabilir. du -ahd1Bu sorunların hiçbiri olmazdı.
Stéphane Chazelas

Asıl soruya alakasız ama günlük kullanım ile güne alakalı: toplam görüntülemek için ve hatırlamak için bu komut biraz daha kolay hale getirmek için seçenekler biraz yeniden düzenlemek için 'c' geçiş dahil etmek yararlı olabilir: du -cksh .[!.]* * |sort -h.
Daddy32,

56

Coreutils posta listesinde de aynı sorum var, çünkü bu garip komutu @ don.joey tarafından hatırlamak benim için zordu. Bob Proulx daha iyi, daha doğal bir emir önerdi : du -ahd1 | sort -h

Geçerli dizindeki tüm dosyaları listelemek istiyorsanız, '' düğmesini kullanın. veya hiçbir dosya argümanı vermeyin. Ayrıca -d, --max-depth = N seçeneğini kullanmak isteyebilirsiniz.

Bunu dene:

du -hd1


7
-aEşdeğer olması için seçenek ekleyin .
Stéphane Chazelas

6
Bu kabul edilen cevap olmalı çünkü hatırlamak ve anlamak daha kolay ve kolaydır.
Bastien

8

Aynı komutu dizinin içinde çalıştırdığınızda ., sayı ile başlayan gizli dosyaları içermez. Örneğin Steam yüklü ise, oyunları yüklemek için varsayılan ayardır ~/.local/share/Steam/ve kendisi de oraya yüklenir.

Bash altında du -sch .[!.]* *, .*dünyayı düzgün bir şekilde genişletmediği için kaçmanız gerekir. Altında zshveya diğer kabukları altında , geçerli dizindeki tüm gizli dosyaların listesini içerecek şekilde genişletilmesi gerektiği du -sch * .*gibi çalışması .*gerekir.


TAMAM. Görünüşe göre bash ile ilgili bir problem var, çünkü düzgün şekilde genişlemiyor gibi görünüyor .*. Ancak du -sch * .*altında doğru olanı yapar zsh. Bash altında du -sch .*sayılıyor gibi görünüyor .ama dosyaları tek tek gösterecek şekilde genişlemiyor.
dobey

Benim için. * Da ../* 'ye genişler ve bu yüzden du, büyüklüğünü görmek istediğim dizinden çıkar! Bunun yerine. /.
Ari

Zsh ve Forsyth kabuğundan elde edilen tüm kabukları (günümüzde çoğunlukla pdksh ve türevlerini içeren) doğru şeyi yapan ve genişletmeyen şey. ve burada. Diğer tüm Bourne benzeri kabukları (bash, Bourne, AT&T ksh, dash, yash ...) yapar. İçinde olsa zshkullanırsın . du -sch -- *(D)du -sch -- * .*
Stéphane Chazelas,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.