প্রশ্ন কিভাবে কমান্ড লাইন থেকে একটি ডিরেক্টরি (ফোল্ডার) এর মোট আকার নির্ধারণ করব?


একটি ফোল্ডার (ফোল্ডার) মধ্যে সব ফাইল মোট সামগ্রিক আকার (ডিস্ক ব্যবহার) প্রদর্শন করার জন্য একটি সহজ কমান্ড আছে?

আমি এই চেষ্টা করেছি, এবং তারা যা চায় আমি তা করি না:

  • ls -l, যা শুধুমাত্র একটি ডিরেক্টরির মধ্যে পৃথক ফাইল আকার প্রদর্শন করে
  • df -h, যা শুধুমাত্র আমার ডিস্কে বিনামূল্যে এবং ব্যবহৃত স্থান প্রদর্শন করে।

685
2017-08-05 18:20


উত্স


সম্পর্কিত: একটি ডিরেক্টরির মধ্যে ফাইল এবং ডিরেক্টরি recursive ফাইল মাপ তালিকা কিভাবে? - Peter Mortensen
ক্রস সাইট অনুলিপি: আমি কমান্ড লাইনের একটি ডিরেক্টরি আকার কিভাবে পেতে পারি? - Peter Mortensen


উত্তর:


আদেশ du "প্রতিটি FILE এর ডিস্ক ব্যবহার সংক্ষিপ্তভাবে ডিরেক্টরিগুলির জন্য সংক্ষিপ্ত করে," উদাহরণস্বরূপ,

du -hs /path/to/directory
  • -h সংখ্যা "মানুষের পঠনযোগ্য" পেতে হয়, যেমন। পাওয়া 140M পরিবর্তে 143260 (KBytes মধ্যে আকার)
  • -s সারাংশের জন্য (অন্যথায় আপনি শুধুমাত্র ফোল্ডারের আকার পাবেন না তবে সবকিছুও পাবেন মধ্যে আলাদাভাবে ফোল্ডার)

আপনি ব্যবহার করছেন -h আপনি ব্যবহার করে মানুষের পঠনযোগ্য মান বাছাই করতে পারেন

du -sh | sort -h

দ্য -h পতাকা sort বিবেচনা "মানব পঠনযোগ্য" আকার মান বিবেচনা করা হবে।


সব ফাইল এবং ডিরেক্টরি তালিকাভুক্ত recursively এড়াতে চান, আপনি সরবরাহ করতে পারেন --max-depth কত আইটেম প্রদর্শিত হয় সীমাবদ্ধ পরামিতি। সাধারণত, --max-depth=1

du -sh --max-depth=1 /path/to/directory

1090
2017-08-05 18:27



অতিরিক্ত মাইল যাচ্ছে জন্য সম্মান। :) - myusuf3
আমি ব্যবহার করি du -sh অথবা DOOSH এটি মনে রাখার একটি উপায় হিসাবে (দ্রষ্টব্য: কমান্ডটি একই, মেমরির উদ্দেশ্যে কেবলমাত্র কমান্ডাইন ফ্ল্যাগগুলির সংগঠন) - Marco Ceppi♦
অপেক্ষাকৃত ছোট আকারের ডুকে একটি কার্যকর বিকল্প রয়েছে। এটি কোনও ফাইল বা ডিরেক্টরিটির প্রকৃত আকার (যেমন ডিস্কের পাদচরণের বিপরীতে) খুঁজে পেতে ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, মাত্র 4 টি অক্ষর সহ একটি পাঠ্য ফাইল প্রায় 6 বাইট দখল করবে, তবে এটি এখনও ~ 4K গ্রহণ করার সময় প্রদর্শিত হবে একটি নিয়মিত du -sh আউটপুট। যাইহোক, যদি আপনি - স্প্যান্ট-সাইজ বিকল্পটি পাস করেন তবে আউটপুট হবে 6. ম্যান ডু বলে: - ডিস্ক ব্যবহারের পরিবর্তে অ্যাপপারেন্ট সাইজ প্রিন্ট মাপের আকার; যদিও আপাত আকারটি সাধারণত ছোট, তবে এটি বড় হতে পারে ('স্পারস') ফাইলগুলিতে, অভ্যন্তরীণ বিভাজন, পরোক্ষ ব্লকগুলিতে - Hopping Bunny
এই ওএস এক্স জন্য কাজ করে! ধন্যবাদ, আমি সত্যিই আমার স্থানীয় মেশিন এবং আমার সার্ভার উভয় ফাইলগুলি সাফ করার উপায় খুঁজছি, কিন্তু স্বয়ংক্রিয় পদ্ধতিগুলি কাজ করে না বলে মনে হচ্ছে। সুতরাং, আমি দৌড়ে du -hs * এবং বৃহত্তম ডিরেক্টরি মধ্যে গিয়েছিলাম এবং খুঁজে পাওয়া যায় যে ফাইল এত বড় ছিল ... এটি একটি ভাল পদ্ধতি, এবং ভাল অংশ আপনি কিছু ইনস্টল করতে হবে না! অবশ্যই আমার আপত্তিকর প্রাপ্য - Dev
@ ব্যান্ডমুহম্মদআলহেলাল আমি মনে করি দুটি কারণ আছে: গোলাকার (du কিছুটা অদ্ভুত গোলাকার আছে, যদি মানটি নির্বাচিত ইউনিটের একাধিক সংখ্যা থাকে তবে কোন দশমিক দেখানো হয়), এবং শাস্ত্রীয় 1024 বনাম 1000 উপসর্গ সমস্যা. du একটি বিকল্প আছে -B (অথবা --block-size) ইউনিট পরিবর্তন যা মান প্রদর্শন করে, বা আপনি ব্যবহার করতে পারেন -b পরিবর্তে -h বাইট মধ্যে "কাঁচা" মান পেতে। - Marcel Stimberg


সম্প্রতি আমি একটি দুর্দান্ত, ncurses ভিত্তিক ইন্টারেক্টিভ টুল খুঁজে পেয়েছি, যা দ্রুত আপনাকে ডিরেক্টরি মাপ সম্পর্কে একটি সংক্ষিপ্ত বিবরণ দেয়। বছর ধরে যে ধরনের টুল জন্য অনুসন্ধান।

  • ফাইল অনুক্রমের মাধ্যমে দ্রুত drilldown
  • আপনি যেমন মুছে ফেলতে পারেন হাতিয়ার থেকে বিশাল অস্থায়ী ফাইল
  • অত্যন্ত দ্রুত

হিসাবে এটি চিন্তা করুন বাঁদুরে রুটির গাছ কমান্ড লাইন জন্য:

apt-get install ncdu

140
2017-10-11 07:24



এই একেবারে চমত্কার! ওএসএক্সের জন্য ডেইজিডিস্কের মত - subZero
অবিশ্বাস্য টুল! - Ted
ncdu অসাধারণ! এটি ইনস্টল করার পরে, এই কাজ ncdu /। আপনি খুব দ্রুত সিস্টেমে বৃহত্তম ফাইল খুঁজে পাবেন। এছাড়াও চাপুন h এনসিডু এর কনসোল ইন্টারফেসের ভিতরে। এটা খুব দরকারী শর্টকাট আছে - vlad-ardelean
অসাধারণ টুল! সতর্ক থাকুন জন্য ধন্যবাদ! - kstratis
সত্যিই সন্ত্রস্ত এবং সহায়ক হাতিয়ার। ধন্যবাদ মানুষ :) - Frank


এটি আকারটিকে পুনরাবৃত্তি করে এবং প্রতিটি ফোল্ডার নামের পাশে এটি নীচে রাখে, মোট আকারের নীচে, সমস্ত মানব বিন্যাসে

du -hsc *

43
2017-12-19 16:32





উপভোগ করুন!

du foldername

যে কমান্ড আরও তথ্য এখানে 


14
2017-08-05 18:22





tree এই কাজের জন্য অন্য দরকারী কমান্ড:

শুধু মাধ্যমে এটি ইনস্টল sudo apt-get install tree এবং নিম্নলিখিত টাইপ করুন:

tree --du -h /path/to/directory
...
...

33.7M used in 0 directories, 25 files

থেকে মানুষ গাছ:

-h    Print  the size of each file but in a more human readable way, e.g. appending a size letter for kilo‐
      bytes (K), megabytes (M), gigabytes (G), terabytes (T), petabytes (P) and exabytes (E).

--du  For each directory report its size as the accumulation of sizes of all its files and  sub-directories
      (and their files, and so on). The total amount of used space is also given in the final report (like
      the 'du -c' command.)

7
2018-01-27 12:37





নীচে আমি মোট, ফোল্ডার, এবং ফাইলের আকার মুদ্রণ করতে ব্যবহার করছি:

$ du -sch /home/vivek/* | sort -rh

বিস্তারিত

 ------------------------------------------------------------
   -c, --total
          produce a grand total
   -h, --human-readable
          print sizes in human readable format (e.g., 1K 234M 2G)
   -s, --summarize
          display only a total for each argument
 -------------------------------------------------------------
   -h, --human-numeric-sort
          compare human readable numbers (e.g., 2K 1G)
   -r, --reverse
          reverse the result of comparisons

আউটপুট

 70M    total
 69M    /home/vivek/Downloads/gatling-charts-highcharts-bundle-2.2.2/lib
992K    /home/vivek/Downloads/gatling-charts-highcharts-bundle-2.2.2/results
292K    /home/vivek/Downloads/gatling-charts-highcharts-bundle-2.2.2/target
 52K    /home/vivek/Downloads/gatling-charts-highcharts-bundle-2.2.2/user-files

5
2017-10-06 14:05





উত্তর এটা স্পষ্ট করেছে যে du একটি ডিরেক্টরি মোট মাপ খুঁজে টুল। তবে বিবেচনা করার কয়েকটি কারণ রয়েছে:

  • মাঝেমধ্যে, du আউটপুট বিভ্রান্তিকর হতে পারে কারণ এটি ফাইল সিস্টেম দ্বারা বরাদ্দ করা স্থানটি রিপোর্ট করে, যা পৃথক ফাইলগুলির মাপের সমষ্টি থেকে আলাদা হতে পারে। সাধারণত ফাইল ফাইলটি 4096 বাইট একটি ফাইলের জন্য বরাদ্দ করবে এমনকি যদি আপনি এটিতে কেবল একটি অক্ষর সংরক্ষণ করেন!

  • আউটপুট পার্থক্য ২ পাওয়ার এবং 10 ইউনিটের পাওয়ার কারণে। দ্য -h সুইচ du একটি মানুষের পাঠযোগ্য আউটপুট দিতে 2 ^ 10 (1024), 2 ^ 20 (1048576) ইত্যাদি দ্বারা বাইট সংখ্যা ভাগ করে। অনেক লোক 10 (যেমন 1 কে = 1000, 1 এম = 1000000) ক্ষমতা দেখতে আরো অভ্যাসযুক্ত হতে পারে এবং ফলাফল দ্বারা অবাক হবেন।

একটি ডিরেক্টরির মধ্যে সমস্ত ফাইলের মাপের মোট সমষ্টি খুঁজতে, বাইটগুলিতে, করুন:

find <dir> -ls | awk '{sum += $7} END {print sum}'

উদাহরণ:

$ du -s -B 1
255729664

$ find .  -ls | awk '{sum += $7} END {print sum}'
249008169

3
2018-02-04 18:56



Find-ls-awk বড় ফোল্ডারগুলির জন্য একটি ভুল মান প্রদান করবে # 1। নতুন awk জন্য আপনি যোগ করতে পারেন --bignum অথবা -M ; যদি এটি একটি বিকল্প ব্যবহার না হয় find . -ls | tr -s ' '|cut -d' ' -f 7| paste -sd+ |bc  # 2। - goozez
2 ব্যবহার করা হচ্ছে ক্ষমতা একটি সমস্যা, আছে --si বিকল্প: "যেমন- H, কিন্তু 1000 শক্তি নয় 1024" - muru


শুধুমাত্র একটি পঠনযোগ্য বিন্যাসে ডিরেক্টরি আকারের জন্য, নীচের ব্যবহার করুন:

du -hs directoryname

এটি সম্ভবত সঠিক বিভাগে নয়, তবে কমান্ড লাইন থেকে আপনি চেষ্টা করতে পারেন:

ls -sh filename

দ্য -sআকার, এবং -h মানুষের পঠনযোগ্য।

ব্যবহার -l প্রদর্শন করতে ls তালিকা, নীচের মত:

ls -shl

1
2018-05-12 09:09