मैं लिनक्स में फ़ाइलों और निर्देशिकाओं के आकार को कैसे देख सकता हूं?


341

मैं लिनक्स में फाइलों और निर्देशिकाओं का आकार कैसे देख सकता हूं? यदि उपयोग किया जाता है df -m, तो यह शीर्ष स्तर पर सभी निर्देशिका का आकार दिखाता है, लेकिन, निर्देशिका के अंदर निर्देशिका और फ़ाइलों के लिए, मैं आकार की जांच कैसे करूं?

जवाबों:


533

lsफ़ाइलों के लिए कमांड का उपयोग करें और duनिर्देशिकाओं के लिए कमांड का उपयोग करें ।

फ़ाइल आकार की जाँच करना

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कमांड निर्देशिकाओं के वास्तविक आकार ( क्यों? ) को सूचीबद्ध नहीं करेगा । इसलिए, हम duइस उद्देश्य के लिए उपयोग करते हैं।

निर्देशिका आकारों की जाँच करना

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

भी शामिल है -hऊपर बताए गए आदेशों में से किसी में (पूर्व के लिए: विकल्प ls -lh *या du -sh) आप मानव पठनीय प्रारूप में आकार दे देंगे ( kb, mb, gb, ...)

अधिक जानकारी के लिए देखें man lsऔरman du


7
lsकिसी निर्देशिका की सभी सामग्रियों का कुल आकार आपको नहीं दिखाएगा।
मैक्सिम इगोरुशिन

3
@MaximYegorushkin धन्यवाद। सही किया।
एमके ..

2
मैं बाइट्स (मेगा, गीगा, ...) में आकार कैसे देख सकता हूं?
फ्रांसिस्को कॉर्लेस मोरेल्स

7
@FranciscoCorralesMorales ls -l kb MB GB आदि में आपको आकार दिखाएगा
mk ..

4
ध्यान दें कि duकमांड फ़ाइल के डिस्क उपयोग को दिखाता है, जो फ़ाइल के वास्तविक आकार से बड़ा हो सकता है। आप du -dवास्तविक आकार प्राप्त करने के लिए उपयोग कर सकते हैं ls। अधिक जानकारी: unix.stackexchange.com/a/106278/155224
लुकास अलोंसो

148

नहीं है duआदेश।

एक निर्देशिका और / या फ़ाइल का आकार:

$ du -sh .bashrc /tmp

--apparent-sizeकमांड लाइन स्विच lsवास्तविक आकार के उपयोग के बजाय स्पष्ट आकार (क्या दिखाता है) को मापता है ।


1
मैं बाइट्स (किलो, मेगा, गीगा, ...) में आकार कैसे देख सकता हूं?
फ्रांसिस्को कॉर्लेस मोरेल्स

8
@FranciscoCorralesMorales -hध्वज को आपको क्या करना चाहिए: मानव पठनीय प्रारूप में प्रिंट आकार (उदाहरण के लिए, 1K 234M 2G)
मैक्सिम ईगोरुस्किन

3
मुझे नहीं लगता कि यह सही है। Files के सेट का सुमेराइज डिस्क उपयोग क्या duहै , यदि कोई फ़ाइल बहुत छोटी है (यानी 2140 बाइट्स) "du" का आउटपुट (मेरे मामले में) 4KB है, क्योंकि यह क्लस्टर का आकार है
mflorts

@mfloris --apparent-sizeतब उपयोग करें ।
मैक्सिम एगोरुस्किन

3
मुझे du -hs *वर्तमान निर्देशिका में सभी फ़ाइलों और निर्देशिकाओं का आकार देखना पसंद है।
जॉर्डन स्टीवर्ट 1

82

ls -sफ़ाइल आकार सूचीबद्ध करने के लिए उपयोग करें , या यदि आप चाहेंls -sh मानव पठनीय आकारों के लिए हैं।

निर्देशिकाओं के उपयोग के लिए du, और फिर से, du -hमानव पठनीय आकारों के लिए।


7
एक टिप का उपयोग करना है; सभी निर्देशिका आकारों को सूचीबद्ध करने के लिए 'du -sh *'। :)
एंटाल्पी

36

आप उपयोग कर सकते हैं:

ls -lh

इस आदेश का उपयोग करके आप फ़ाइलों की निर्देशिका और वास्तविक स्थान की स्पष्ट जगह और प्रत्येक के आकार और निर्माण की तारीख के अलावा प्रदर्शित फ़ाइलों के नामों का विवरण देखेंगे।


ls -lमेटाडेटा सहित u फ़ाइल का आकार देगा? के रूप में यह एक फ़ाइल है कि मैं के साथ की कोशिश की के लिए थोड़ा 4kb बड़ा लगता है
Jun711

22

MB में फ़ाइल का आकार

ls -l --b=M  filename | cut -d " " -f5

GB में फ़ाइल का आकार

ls -l --b=G  filename | cut -d " " -f5

आउटपुट के रूप में दो फ़ील्ड कैसे प्राप्त करें?
surbhiGoel 10

17

एक महान ncduउपयोगिता भी है - यह सबफ़ोल्डर्स और फ़ाइलों के बारे में विस्तृत जानकारी के साथ निर्देशिका आकार दिखा सकता है।

स्थापना

उबंटू:

$ sudo apt-get install ncdu

प्रयोग

बस ncdu [path]कमांड लाइन में टाइप करें । पथ के विश्लेषण के लिए कुछ सेकंड के बाद, आप कुछ इस तरह देखेंगे:

$ 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

वर्तमान में हाइलाइट किए गए तत्व को हटाएं d, CTRL+ के साथ बाहर निकलेंc


16

ls -l --block-size = M आपको एक लंबी प्रारूप लिस्टिंग (वास्तव में फ़ाइल का आकार देखने के लिए आवश्यक) और निकटतम MiB तक के गोल फ़ाइल आकार देगा।

यदि आप MiB (2 ^ 20 बाइट्स) इकाइयों के बजाय MB (10 ^ 6 बाइट्स) चाहते हैं, तो इसके बजाय --block-size = MB का उपयोग करें।

यदि आप फ़ाइल के आकार में M प्रत्यय नहीं चाहते हैं, तो आप कुछ का उपयोग कर सकते हैं जैसे --block-size = 1M। यह सुझाव देने के लिए धन्यवाद स्टीफन चेज़लस।

यह ls के लिए मैन पेज में वर्णित है; आदमी ls और खोज के लिए खोजें। यह MB / MiB के अलावा अन्य इकाइयों के लिए भी अनुमति देता है, और इसके लुक से (मैंने यह कोशिश नहीं की) मनमाने ढंग से ब्लॉक आकार के साथ ही (इसलिए आप चाहें तो फ़ाइल का आकार 412-बाइट ब्लॉक की संख्या के रूप में देख सकते हैं। सेवा)।

ध्यान दें कि --block-size का पैरामीटर ओपन ग्रुप के एलएस के शीर्ष पर एक GNU एक्सटेंशन है, इसलिए यदि आपके पास GNU यूजरलैंड नहीं है (जो अधिकांश लिनक्स इंस्टॉलेशन करते हैं) तो यह काम नहीं कर सकता है। जीएनयू कोरुटिल्स 8.5 से एलएस समर्थन करता है - ऊपर वर्णित के अनुसार -ब्लॉक-आकार।


13

चुने गए निर्देशिका पर जाएं और निष्पादित करें:

$ du -d 1 -h

कहाँ पे:

-d 1 is the depth of the directories

-h is the human-readable option

आप इस तरह देखेंगे:

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 .

9

यदि आप इसे किसी स्क्रिप्ट में उपयोग कर रहे हैं, तो उपयोग करें 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

यह आपको बाइट्स में आकार देगा। man statअधिक आउटपुट स्वरूप विकल्पों के लिए देखें ।

OSX / बीएसडी बराबर है:

$ 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

8

आप आसानी से मानव पठनीय प्रारूप में फ़ाइलों की सूची प्राप्त करने के लिए कमांड का उपयोग कर सकते हैं।

ls-लरेश


7

मैं हर समय निम्नलिखित कार्य करता हूं:

$ du -sh backup-lr-May-02-2017-1493723588.tar.gz

ध्यान दें:

-s, --summarize
            display only a total for each argument
-h, --human-readable
            print sizes in human readable format (e.g., 1K 234M 2G)

5

निर्देशिका का कुल आकार या फ़ाइल उपयोग के कुल आकार को प्राप्त करने के लिए,

du -csh <directory or filename*> | grep total

5

उपयोग -S तर्क के साथ ls कमांड का : [रूट @ hots19 आदि] # ls -lh
h: मानव पठनीय के लिए।

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

4

मैं खुद एक उबंटू 16.04 उपयोगकर्ता हूं और मुझे लगता है कि llनिर्देशिका की सामग्री को देखने के लिए कमांड सबसे आसान तरीका है। मैंने देखा है कि सभी लिनक्स वितरण इस कमांड का समर्थन नहीं करते हैं, लेकिन संभवतः वहाँ से प्रत्येक डिस्ट्रो के लिए एक वर्कअराउंड / इंस्टॉलेशन है।

उदाहरण:

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/
...

मेरे लिए सबसे बड़ा फायदा यह है कि यह जल्दी और वास्तव में उपयोग करने के लिए सहज है।

अद्यतन: मुझे नहीं पता था कि उबंटू पर यह एक पूर्व-कॉन्फ़िगर किया गया उपनाम है। आप इसे alias ll="ls -la"कमांड लाइन पर निष्पादित करके या अपनी .bashrc config फाइल में इस प्रविष्टि को जोड़कर आसानी से सेट कर सकते हैं :

sudo nano ~/.bashrc
...add line described above and save file by pressing Ctrl+X and Y...
source ~/.bashrc

3

du -sh [file_name]

किसी विशेष फ़ाइल का आकार पाने के लिए पूरी तरह से काम करता है।


3

बस आपको जरूरत है -lऔर --block-sizeझंडे की

सभी फ़ाइलों और निर्देशिकाओं का आकार कार्यशील निर्देशिका (MBs में)

ls -l --block-size=M

कार्यशील निर्देशिका (GBs में) के अंतर्गत सभी फ़ाइलों और निर्देशिकाओं का आकार

ls -l --block-size=G

किसी विशिष्ट फ़ाइल या निर्देशिका का आकार

ls -l --block-size=M my_file.txt
ls -l --block-size=M my_dir/

ls --help

-l एक लंबी सूची प्रारूप का उपयोग करें

--block-size=SIZE: SIZEउन्हें मुद्रित करने से पहले पैमाने के आकार ; उदाहरण के लिए, '--block-size=M'1,048,576 बाइट्स की इकाइयों में प्रिंट करता है; देखने के SIZEलिए नीचे दिए गए प्रारूप

SIZEएक पूर्णांक और वैकल्पिक इकाई है (उदाहरण: 10M 10 * 1024 * 1024)। इकाइयाँ K, M, G, T, P, E, Z, Y (1024 की शक्तियाँ) या KB, MB, ... (1000 की शक्तियाँ) हैं।



2

आपको फ़ाइल आकार और डिस्क उपयोग के बीच अंतर करना होगा । दोनों के बीच मुख्य अंतर इस तथ्य से आता है कि फाइलें "टुकड़ों में कट जाती हैं" और ब्लॉकों में संग्रहीत होती हैं।

आधुनिक ब्लॉक का आकार 4KiB है, इसलिए फाइलें 4KiB के डिस्क स्पेस मल्टीपल का उपयोग करेंगी, भले ही वे कितने भी छोटे हों।

यदि आप कमांड का उपयोग करते हैं तो आप statदोनों आकृतियों को एक साथ देख सकते हैं।

stat file.c

यदि आप किसी निर्देशिका के लिए अधिक कॉम्पैक्ट दृश्य चाहते हैं, तो आप उपयोग कर सकते हैं ls -ls, जो आपको 1KiB इकाइयों में उपयोग देगा।

ls -ls dir

इसके अलावा duआपको असली डिस्क का उपयोग, 1KiB इकाइयों में, या ध्वज के साथ डट्री देगा-u

उदाहरण: 1 बाइट फ़ाइल का उपयोग

$ 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: -

इसके अलावा, आधुनिक फाइल सिस्टम में हमारे पास स्नैपशॉट, विरल फाइलें ( उनमें छेद वाली फाइलें ) हो सकती हैं जो स्थिति को और जटिल बनाती हैं।

आप इस लेख में अधिक विवरण देख सकते हैं: लिनक्स में फ़ाइल का आकार समझना


1

आप Linux में ls -sh का उपयोग कर सकते हैं, आप उस प्रकार को भी कर सकते हैं जिसमें आपको dir जाने की आवश्यकता होती है जहाँ आप फ़ाइलों के आकार की जांच करना चाहते हैं


1

पर जाने के विशिष्ट निर्देशिका फिर कमांड नीचे चलाने

# du -sh * 

4.0K    1
4.0K    anadb.sh --> Shell file
4.0K    db.sh/    --> shell file
24K     backup4/  --> Directory
8.0K    backup6/  --> Directory 
1.9G    backup.sql.gz  --> sql file

0

आप ncduयहां डिस्क उपयोग विश्लेषक का उपयोग कर सकते हैं । यह एक ncurses इंटरफ़ेस में फ़ाइलों और निर्देशिकाओं के आकार को प्रदर्शित करता है। आप प्रत्येक निर्देशिका में नेविगेट कर सकते हैं और एक ही इंटरफ़ेस से फ़ाइलें आकार देख सकते हैं।

स्थापित करने के लिए

$ sudo apt-get install ncdu

विश्लेषण करना

$ ncdu <directory>

यहां छवि विवरण दर्ज करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.