Yanıtlar:
ls
Dosyalar du
için komut ve dizinler için komut kullanın .
Dosya Boyutlarını Kontrol Etme
ls -l filename #Displays Size of the specified file
ls -l * #Displays Size of All the files in the current directory
ls -al * #Displays Size of All the files including hidden files in the current directory
ls -al dir/ #Displays Size of All the files including hidden files in the 'dir' directory
ls
komutu dizinlerin gerçek boyutunu listelemez ( neden? ). Bu nedenle, du
bu amaçla kullanıyoruz.
Dizin boyutlarını kontrol etme
du -sh directory_name #Gives you the summarized(-s) size of the directory in human readable(-h) format
du -bsh * #Gives you the apparent(-b) summarized(-s) size of all the files and directories in the current directory in human readable(-h) format
Dahil -h
yukarıdaki komutların hiçbirinde (Ör için: seçeneği ls -lh *
veya du -sh
) size insan okunabilir formatta boyutunu verecektir ( kb
, mb
, gb
, ...)
Daha fazla bilgi için bkz man ls
veman du
du
komut dosyasının disk kullanımını gösteren, hangi dosyanın gerçek boyutundan daha büyük olabilir. du -d
Gerçek boyutu almak için kullanabilirsiniz ls
. Daha fazla bilgi: unix.stackexchange.com/a/106278/155224
Orada du
komut.
Bir dizinin ve / veya dosyanın boyutu:
$ du -sh .bashrc /tmp
--apparent-size
komut satırı anahtarı, ls
gerçek disk kullanımı yerine görünür boyutları (ne gösterir) ölçmesini sağlar .
-h
bayrağı ne istersen yapmalı: insan tarafından okunabilir formatta baskı boyutları (örneğin, 1K
du
yapar DOSYA kümesinin disk kullanımını özetlemek , yani bir dosya çok küçükse (yani 2140 bayt) "du" çıktısı (benim durumumda)
--apparent-size
o zaman.
du -hs *
Geçerli dizindeki tüm dosyaların ve dizinlerin boyutunu görmek istiyorum .
Kullanabilirsiniz:
ls -lh
Bu komutu kullanarak, dizinin görünen alanını ve dosyaların gerçek alanını ve her birinin boyutunun ve oluşturulma tarihinin yanı sıra görüntülenen dosyaların adlarını ayrıntılı olarak göreceksiniz.
ls -l
meta veriler dahil u dosya boyutu verecek? denediğim bir dosya için biraz 4kb daha büyük gibi görünüyor
Dosya Boyutu (MB)
ls -l --b=M filename | cut -d " " -f5
GB cinsinden Dosya Boyutu
ls -l --b=G filename | cut -d " " -f5
Ayrıca harika bir ncdu
yardımcı program vardır - alt klasörler ve dosyalar hakkında ayrıntılı bilgi içeren dizin boyutunu gösterebilir.
Ubuntu:
$ sudo apt-get install ncdu
Sadece ncdu [path]
komut satırını yazın. Yolu analiz etmek için birkaç saniye sonra şöyle bir şey göreceksiniz:
$ ncdu 1.11 ~ Use the arrow keys to navigate, press ? for help
--- / ---------------------------------------------------------
. 96,1 GiB [##########] /home
. 17,7 GiB [# ] /usr
. 4,5 GiB [ ] /var
1,1 GiB [ ] /lib
732,1 MiB [ ] /opt
. 275,6 MiB [ ] /boot
198,0 MiB [ ] /storage
. 153,5 MiB [ ] /run
. 16,6 MiB [ ] /etc
13,5 MiB [ ] /bin
11,3 MiB [ ] /sbin
. 8,8 MiB [ ] /tmp
. 2,2 MiB [ ] /dev
! 16,0 KiB [ ] /lost+found
8,0 KiB [ ] /media
8,0 KiB [ ] /snap
4,0 KiB [ ] /lib64
e 4,0 KiB [ ] /srv
! 4,0 KiB [ ] /root
e 4,0 KiB [ ] /mnt
e 4,0 KiB [ ] /cdrom
. 0,0 B [ ] /proc
. 0,0 B [ ] /sys
@ 0,0 B [ ] initrd.img.old
@ 0,0 B [ ] initrd.img
@ 0,0 B [ ] vmlinuz.old
@ 0,0 B [ ] vmlinuz
Şu anda vurgulanan öğeyi silmek için + ile dçıkınCTRLc
ls -l --block-size = M size uzun formatlı bir liste (aslında dosya boyutunu görmek için gereklidir) ve en yakın MiB'ye kadar yuvarlak dosya boyutları verecektir.
MiB (2 ^ 20 bayt) birimleri yerine MB (10 ^ 6 bayt) istiyorsanız, bunun yerine --block-size = MB kullanın.
M sonekinin dosya boyutuna eklenmesini istemiyorsanız --block-size = 1M gibi bir şey kullanabilirsiniz. Bunu önerdiği için Stéphane Chazelas'a teşekkürler.
Bu, ls için kılavuz sayfasında açıklanmıştır; man ls ve SIZE araması yapın. MB / MiB dışındaki birimlere de izin verir ve görünüşe göre (bunu denemedim) rasgele blok boyutları da (böylece isterseniz dosya boyutunu 412 baytlık blok sayısı olarak görebilirsiniz) kadar).
--Block-size parametresinin Open Group l l'lerinin üstünde bir GNU uzantısı olduğunu unutmayın, bu nedenle bir GNU kullanıcı alanınız yoksa (çoğu Linux kurulumunun yaptığı) bu çalışmayabilir. GNU coreutils 8.5'den gelen ls, yukarıda açıklandığı gibi --block boyutunu destekler.
Seçilen dizine gidin ve yürütün:
$ du -d 1 -h
nerede:
-d 1 is the depth of the directories
-h is the human-readable option
Bunun gibi göreceksiniz:
0 ./proc
8.5M ./run
0 ./sys
56M ./etc
12G ./root
33G ./var
23M ./tmp
3.2G ./usr
154M ./boot
26G ./home
0 ./media
0 ./mnt
421M ./opt
0 ./srv
2.6G ./backups
80G .
Bir komut dosyasında kullanıyorsanız, kullanın stat
.
$ date | tee /tmp/foo
Wed Mar 13 05:36:31 UTC 2019
$ stat -c %s /tmp/foo
29
$ ls -l /tmp/foo
-rw-r--r-- 1 bruno wheel 29 Mar 13 05:36 /tmp/foo
Bu size bayt cinsinden boyut verecektir. Daha man stat
fazla çıktı biçimi seçeneği için bkz .
OS X / BSD eşdeğer olduğu:
$ date | tee /tmp/foo
Wed Mar 13 00:54:16 EDT 2019
$ stat -f %z /tmp/foo
29
$ ls -l /tmp/foo
-rw-r--r-- 1 bruno wheel 29 Mar 13 00:54 /tmp/foo
Her zaman aşağıdakileri yaparım:
$ du -sh backup-lr-May-02-2017-1493723588.tar.gz
NB:
-s, --summarize
display only a total for each argument
-h, --human-readable
print sizes in human readable format (e.g., 1K 234M 2G)
Toplam dizin boyutunu veya toplam dosya kullanım boyutunu elde etmek için,
du -csh <directory or filename*> | grep total
-H argümanıyla ls komutunu kullanın : [root @ hots19 etc] # ls -lh
h: insanlar tarafından okunabilir.
Exemple:
[root@CIEYY1Z3 etc]# ls -lh
total 1.4M
-rw-r--r--. 1 root root 44M Sep 15 2015 adjtime
-rw-r--r--. 1 root root 1.5K Jun 7 2013 aliases
-rw-r--r-- 1 root root 12K Nov 25 2015 aliases.db
drwxr-xr-x. 2 root root 4.0K Jan 11 2018 alternatives
-rw-------. 1 root root 541 Jul 8 2014 anacrontab
-rw-r--r--. 1 root root 55M Sep 16 2014 asound.conf
-rw-r--r--. 1 root root 1G Oct 6 2014 at.deny
Ben bir Ubuntu 16.04 kullanıcısıyım ve ll
komutun bir dizinin içeriğini görmenin en kolay yolu olduğunu düşünüyorum. Tüm Linux dağıtımlarının bu komutu desteklemediğini fark ettim, ancak muhtemelen her dağıtım için bir geçici çözüm / kurulum var.
Misal:
user@user-XPS-15-9560:/$ ll
total 188
drwxr-xr-x 27 root root 4096 Jan 26 09:13 ./
drwxr-xr-x 27 root root 4096 Jan 26 09:13 ../
drwxr-xr-x 2 root root 4096 Jan 22 15:13 bin/
drwxr-xr-x 4 root root 12288 Jan 29 11:35 boot/
drwxr-xr-x 2 root root 4096 Sep 3 18:14 cdrom/
drwxr-xr-x 20 root root 4440 Feb 5 08:43 dev/
drwxr-xr-x 153 root root 12288 Feb 2 15:17 etc/
drwxr-xr-x 4 root root 4096 Sep 3 18:15 home/
...
Benim için en büyük avantaj, kullanımı hızlı ve gerçekten sezgisel olmasıdır.
GÜNCELLEME: bilmediğim şey Ubuntu'da önceden yapılandırılmış bir takma ad. alias ll="ls -la"
Komut satırında çalıştırarak veya bu girdiyi .bashrc yapılandırma dosyanıza ekleyerek kolayca kendiniz ayarlayabilirsiniz :
sudo nano ~/.bashrc
...add line described above and save file by pressing Ctrl+X and Y...
source ~/.bashrc
Tek ihtiyacınız olan -l
ve --block-size
bayrakları
Çalışma dizini altındaki tüm dosya ve dizinlerin boyutu (MB cinsinden)
ls -l --block-size=M
Çalışma dizini altındaki tüm dosya ve dizinlerin boyutu (GB cinsinden)
ls -l --block-size=G
Belirli bir dosya veya dizinin boyutu
ls -l --block-size=M my_file.txt
ls -l --block-size=M my_dir/
ls --help
-l
uzun bir liste biçimi kullan
--block-size=SIZE
: boyutlarıSIZE
yazdırmadan önce ölçeklendirin ; örneğin,'--block-size=M'
boyutları 1.048.576 bayt cinsinden yazdırır; aşağıdakiSIZE
biçime bakın
SIZE
bir tamsayı ve isteğe bağlı birimdir (örnek: 10M, 10 * 1024 * 1024'tür). Birimler K, M, G, T, P, E, Z, Y (1024'ün gücü) veya KB, MB, ... (1000'in gücü).
Dosya boyutu ve disk kullanımı arasında ayrım yapmanız gerekir . İkisi arasındaki temel fark, dosyaların "parçalara ayrılması" ve bloklar halinde saklanmasıdır.
Modern blok boyutu 4KiB'dir, bu nedenle dosyalar ne kadar küçük olursa olsun 4KiB'nin birden çok disk alanını kullanır.
Komutu kullanırsanız, stat
her iki şekli de yan yana görebilirsiniz.
stat file.c
Bir dizin için daha kompakt bir görünüm ls -ls
istiyorsanız, 1KiB birimlerde size kullanım sağlayacak şekilde kullanabilirsiniz .
ls -ls dir
Ayrıca du
1KiB birimlerinde, size gerçek disk kullanımını ver, ya olacak dutree ile -u
bayrak.
Örnek: 1 baytlık dosyanın kullanımı
$ echo "" > file.c
$ ls -l file.c
-rw-r--r-- 1 nacho nacho 1 Apr 30 20:42 file.c
$ ls -ls file.c
4 -rw-r--r-- 1 nacho nacho 1 Apr 30 20:42 file.c
$ du file.c
4 file.c
$ dutree file.c
[ file.c 1 B ]
$ dutree -u file.c
[ file.c 4.00 KiB ]
$ stat file.c
File: file.c
Size: 1 Blocks: 8 IO Block: 4096 regular file
Device: 2fh/47d Inode: 2185244 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ nacho) Gid: ( 1000/ nacho)
Access: 2018-04-30 20:41:58.002124411 +0200
Modify: 2018-04-30 20:42:24.835458383 +0200
Change: 2018-04-30 20:42:24.835458383 +0200
Birth: -
Ek olarak, modern dosya sistemlerinde durumu daha da karmaşıklaştıran anlık görüntülere, seyrek dosyalara ( delikli dosyalar ) sahip olabiliriz.
Bu makalede daha fazla ayrıntı görebilirsiniz: Linux'ta dosya boyutunu anlama
ls
bir dizinin tüm içeriğinin toplam boyutunu göstermez.