টার্মিনাল সহ বর্তমান ফোল্ডার ফোল্ডারের আকার তালিকাভুক্ত করবেন?


134

আমি বর্তমান ডিরেক্টরি থেকে ফোল্ডারগুলির একটি তালিকা চাই বা তাদের আকারের সাথে উল্লেখ করব one

আমি ডু দিয়ে চেষ্টা করেছি তবে আমি কেবলমাত্র উল্লিখিত ডিরেক্টরিগুলির আকার পেয়েছি (du ./f1), এবং ls ফোল্ডারগুলির আকার দেখায় না।

আমি কোনও স্ক্রিপ্টিং ছাড়াই এটি কীভাবে করব?


ঝাঁকুনির মতো শোনার জন্য নয়, 'ম্যান ডু';)
জাকুব

5
ধন্যবাদ ;-) তবে আমি ইতিমধ্যে চেষ্টা করেছি এবং কিছুই খুঁজে পেলাম না। এবং গুগলিং ডু ব্যবহার করে দেখুন!
কেভিন

উত্তর:


212

আপনি যদি বর্তমান ডিরেক্টরিতে সমস্ত ডিরেক্টরি প্রদর্শন করতে চান:

$ du -sh */
788K    foo/
500K    bar/
931K    baz/

এগুলি অন্য ডিরেক্টরি থেকে শুরু করে দেখাতে:

$ du -sh /path/to/dir/*/
48K     /path/to/dir/dir1/
4.0K    /path/to/dir/dir2/
6.7M    /path/to/dir/dir3/
20K     /path/to/dir/dir4/
8.0K    /path/to/dir/dir5/
44K     /path/to/dir/dir6/

আপনি যদি ডট দিয়ে শুরু করা নামের সাথে ডিরেক্টরিগুলি অন্তর্ভুক্ত করাতে নিশ্চিত করতে চান তবে shopt -s dotglobপ্রথমে করুন।


সমস্ত দুর্দান্ত উত্তরের জন্য ধন্যবাদ তবে এটি একটি সহজতম উত্তর। আমি আমার পরীক্ষাগুলির শেষটি ভুলে গেছি।
কেভিন

1
যেখানে -র অর্থ সংক্ষিপ্তকরণ, মোট প্রদর্শন এবং
-হ

2
আকার দ্বারা ফোল্ডার বাছাই: du -s */ | sort -n
আন্তন তারাসেনকো


1
@ অ্যান্টানটারাসেনকো: shopt -s dotglob ডক
ডেনিস উইলিয়ামসন

18

ম্যাকে --max-গভীরতা বিকল্পটি -d [গভীরতা] দ্বারা পরিবেশন করা হয়। সুতরাং, আপনার রুট ড্রাইভের 2 টি স্তরের গভীর ব্যবহারের জন্য একটি মানব পাঠযোগ্য তালিকা দেখতে নিম্নলিখিতটি ব্যবহার করুন:

du -hd 2 /* 

দ্রষ্টব্য: এই আদেশটি আপনার মূল থেকে শীর্ষ দুটি ডিরেক্টরি স্তর প্রকাশ করবে। এর মধ্যে আপনার ভলিউমগুলিতে একটি স্তর স্থানান্তরিত হওয়া অন্তর্ভুক্ত রয়েছে এবং আপনার সংযুক্ত খণ্ডগুলির প্রতিটিতে শীর্ষ স্তরের ডিরেক্টরিগুলির সংক্ষিপ্ত আকারের তালিকা তৈরি করবে। আপনি যা সংযুক্ত করেছেন তার উপর নির্ভর করে এই আদেশটিটি সম্পূর্ণ হতে কিছুটা সময় নিতে পারে।


13

আর একটি অ্যাপ্রোচ - - ম্যাক্স-গভীরতার বিকল্প।

du -h --max-depth=1 .

আকার সহ বর্তমান ফোল্ডারের অধীনে সমস্ত ডিরেক্টরি এবং ফাইল তালিকাভুক্ত করবে।

গভীরতা 2 ফোল্ডারগুলির আরও একটি স্তর তালিকাভুক্ত করবে।


4
ম্যাক এ, এটি du -hd 2 .2 স্তরের গভীরতার জন্য।
রায়ান

অই হ্যাঁ. এবং সম্ভবত ফ্রিবিএসডি-তেও। তথ্যের জন্য ধন্যবাদ।
ম্যাথিয়াস ক্রল 11

5

চেষ্টা করুন:

$ du -s ./f1

অথবা

$ du -sh ./f1

আরও বন্ধুত্বপূর্ণ পাঠযোগ্য আকারের জন্য।


2

$ du --max-depth=1 /var/www/ | sort -n -r


3
বিদ্যমান উত্তরের সাথে কোনও পুরানো প্রশ্নের উত্তর যুক্ত করার সময় আপনার উত্তরটি কীভাবে আলাদা তা ব্যাখ্যা করা এবং কিছু ব্যাখ্যা অন্তর্ভুক্ত করা ভাল অনুশীলন যাতে এটি কেবল আদেশের উত্তর না হয়।
জেসন অ্যালার

3
প্যারামিটারগুলি কী করে তা বোঝাতে আপনি নিজের উত্তরটি প্রসারিত করতে পারেন?
ফিক্সার 1234

2

এনসিউর্স ডিস্ক ইউজেজ শেল কমান্ডটি উল্লেখ করার মতো

এনসিডিইউ হ'ল একটি ডিস্ক ব্যবহার বিশ্লেষক যা একটি এনসিআরএস ইন্টারফেস। এটি এমন কোনও দূরবর্তী সার্ভারে স্পেস হগগুলি সন্ধানের জন্য ডিজাইন করা হয়েছে যেখানে আপনার পুরো গ্রাফিকাল সেটআপ উপলব্ধ নেই তবে নিয়মিত ডেস্কটপ সিস্টেমে এটি একটি দরকারী সরঞ্জাম tool এনসিডু লক্ষ্য, দ্রুত, সাধারণ এবং সহজেই ব্যবহারযোগ্য এবং এনক্রু ইনস্টল থাকা কোনও ন্যূনতম পসিক্স-জাতীয় পরিবেশে চালাতে সক্ষম হওয়া উচিত।


2

গৃহীত উত্তরের ভিত্তিতে এই কমান্ডটি আপনাকে ডিরেক্টরিতে ফোল্ডারগুলির আকার দেখিয়ে দেবে এবং আপনাকে আরও সহজে ব্যাখ্যা করার জন্য আকার দ্বারা সেগুলি তালিকাভুক্ত করবে:

$ du -sh */ | sort -rn

1

ম্যাক এ, আপনি duহোমব্রু ( brew install coreutils) এর সাথে জিএনইউ (লিনাক্স) প্রয়োগ করতে পারবেন implementation তারপরে উদাহরণস্বরূপ:

gdu folder -shL --exclude=.git

কোথায়

  • gduজিএনইউ বাস্তবায়নের জন্য প্রদত্ত নামটি du(ডিফল্টরূপে হোমব্রেইউ লুকায় না /usr/bin/du);
  • s নির্দিষ্ট ফোল্ডারের জন্য একটি দুর্দান্ত মোট উত্পাদন করে (যদি আপনি ব্রেকডাউন দেখতে চান তবে বাদ দিন);
  • h মানব-পঠনযোগ্য আকারগুলি আউটপুট করে;
  • L symlinks অনুসরণ;
  • --exclude=.git নির্দিষ্ট ফোল্ডারের মধ্যে গিট ডিরেক্টরি বাদ দেয় (এটি কেবল একটি উদাহরণ)।

যোগ করে আপনি আরও ফোল্ডার উপেক্ষা করতে পারেন --exclude=blah। আপনি একবারে (যেমন gdu folder1 folder2 ...) একাধিক ফোল্ডারও নির্দিষ্ট করতে পারেন এবং সেক্ষেত্রে আপনি বিকল্পটি ব্যবহার করে সমস্ত সাবটোটাল একক আকারে একত্রিত করতে পারেন c


1

এখানে একটি পসিক্স স্ক্রিপ্ট রয়েছে যা এর সাথে কাজ করবে:

  • একটি নথি
  • নথি পত্র
  • একটি ডিরেক্টরি
  • ডিরেক্টরি
#!/bin/sh
ls -ARgo "$@" | awk '{q += $3} END {print q}'

উৎস

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.