du কমান্ড গোপন ডিরেক্টরিগুলি বিশ্লেষণ করে না


25

আমি নিম্নলিখিত কমান্ডটি ব্যবহার করে কোনও ডিরেক্টরি ব্যবহার করে ডিস্ক স্পেসের পরিমাণ অনুমান করতে চাই।

du -sh dir_name

যা গোপন ডিরেক্টরিগুলি গণনা করে না। Du এর ম্যান পেজে এটি সম্পর্কিত কোনও তথ্য নেই। কিভাবে লুকানো ফাইল সহ ডিরেক্টরি ব্যবহার করে ডিস্ক স্পেসের পরিমাণ গণনা করা যায়।

উত্তর:


13

আসলে এটি করে, এখানে তার প্রমাণ:

mkdir .test
echo "hi" > .test/appo
du -a
4       ./.test/appo
8       ./.test
12      .

-aবিকল্প স্পষ্টভাবে দেখাতে যা ফাইল গণনা করা হয়েছিল ব্যবহার করা হয়।

আপনি ব্যবহার করছেন du *?


3
+1 এর জন্য... you maybe using "du *" ?
সেপ্টেম্বর

2
আমি "ডু *" ব্যবহার করছি না। আমি প্রশ্নটিতে উল্লেখ করতে ভুলে গেছি যে আমার মোট সংক্ষিপ্তসার সংক্ষিপ্তসার প্রয়োজন। সুতরাং আমি যদি দু-এর মতো -a এবং -s উভয়ই ব্যবহার করি তবে "du: উভয়ই সংক্ষিপ্ত করে সমস্ত এন্ট্রি প্রদর্শন করতে পারে না" বলে একটি ত্রুটি বার্তা পেয়েছি। এটি একটি বিষয়। অন্য জিনিসটি হ'ল আমি এমনকি ডু-হাইয়ের সাথে কেবল প্রথম স্তরের ফাইলগুলি দেখতে পাচ্ছি। অর্থাত্ লুকানো ডিরেক্টরিতে ফাইল দেখতে অক্ষম।
টেলসপিন_কিট

1
আমি কেবল যুক্ত করেছি - সমস্ত ফাইল গণনা করা হচ্ছে তা দেখানোর জন্য , কেবল সেই পতাকাটি যুক্ত করবেন না, এটি কেবল প্রদর্শনকে প্রভাবিত করে, মোটে না। আমি আপনাকে একটি পাল্টা উদাহরণ দেখিয়েছি যে পরিবর্তে লুকানো ডিরেক্টরিগুলি গণনা করা হয়।
stivlo

1
এখন আমি সমস্যাটি খুঁজে পেয়েছি। সমস্যাটি ছিল লুকানো ডিরেক্টরিটি ছিল একটি প্রতীকী লিঙ্ক, সুতরাং আমাকে "du -Lsh dir_name" ব্যবহার করতে হয়েছিল। ধন্যবাদ।
টেলসপিন_কিট

1
আহা, আমি দেখছি, খুশি হয়েছি যে আপনি এটি পেয়েছেন, চিয়ার্স।
stivlo

53

এই কমান্ডটি গোপন ডিরেক্টরিগুলির সংক্ষিপ্ত আকার দেখায়

du -hs .[^.]*


1
এটি ঠিক আমি যা খুঁজছিলাম, ধন্যবাদ :)
নিকানা রেকলভিক্স

এটি সঠিক সমাধান
পিএনএস

এটির পিছনে যাদুটিকে আপনি কিছুটা ব্যাখ্যা করতে পারলে দুর্দান্ত লাগবে। এটি একটি উত্তর তৈরি করতে সহায়তা করবে যাতে গোপন এবং অ গোপন ফাইল এবং ডিরেক্টরি উভয়ই অন্তর্ভুক্ত রয়েছে।
কুমেটেক্স

13

সঠিক আদেশটি হ'ল: du -hs $(ls -A)

$ du -hs $(ls -A)
0   test
0   .test

du -hs .* *, অন্য উত্তরে উল্লিখিত হিসাবে, আপনি সমস্ত ফাইল এবং উপ-ডিরেক্টরি তালিকাভুক্ত করতে চাইলে (লুকিয়ে থাকাগুলি সহ) সঠিক নয়।

উদাহরণ:

$ touch test
$ touch .test
$ echo *
test
$ echo .* *
. .. .test test
$ du -hs .* *
4,0K    .
1,8G    ..

কেন এমন duআচরণ করে ? কারণ আপনি -sফলাফলটি সংক্ষিপ্ত করে ব্যবহার করেন এবং সমস্ত ফাইল এবং উপ-ডিরেক্টরিগুলি .যাতে তাদের সন্তানের du -hsতালিকাভুক্ত হয় না!


11

এফওয়াইআই, বিভিন্ন ডিরেক্টরি দ্বারা দখল করা আকারটি অনুমান করার জন্য, এনসিডিইউ ব্যবহার করা আরও ভাল

আপনি বিভিন্ন ডিরেক্টরি মধ্যে ncurses GUI নেভিগেট করতে পারেন এবং এটি প্রতিটি ডিরেক্টরি আকার দেখাবে। আমি যদি du ব্যবহার করছি, আমার প্রতিটি ডিরেক্টরি যা ডুবুরিরকম হতে পারে তা যাচাই করতে চাইলে ডু কমান্ড চালাতে হবে। আপনি ncurses GUI তে খুব বেশি দখল করা মাপ অনুসারে ডিরেক্টরিগুলি সাজান করতে পারেন।


1
কেন আপনি এনসিডিইউকে "আরও ভাল" বলে বিশ্বাস করেন তা বোঝাতে দয়া করে আপনার উত্তরটি সম্পাদনা করুন । লিঙ্কযুক্ত পৃষ্ঠাটি এটির একটি ncurses- ভিত্তিক সংস্করণ ব্যতীত সত্যই অন্য কিছু বলে না du। কোনও ফ্যানসিয়ার ডিসপ্লে পদ্ধতি বাদে কোনও কার্যকরী পার্থক্যের কোনও সুস্পষ্ট ইঙ্গিত নেই।
ডেভ শেরোহমান

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

5

এটি করে এবং তা করে না। উদাহরণ:

হোম ডিরেক্টরিতে: (কেবলমাত্র একজন ব্যবহারকারী বিদ্যমান)

du -sh /home/*
2.6G    /home/user

ব্যবহারকারী ডিরেক্টরিতে: (অঙ্কের মধ্যে বিশাল পার্থক্য)

du -sh *
61M     bin
2.0M    dump-20130124104823.tar.gz
651M    public_html
472K    twitter-2.0.0.gem
11M     wkhtmltopdf-0.11.0_rc1-static-amd64.tar.bz2

এবং কারণটি হ'ল:

du -sh /home/user/.rvm/
1.9G    /home/user/.rvm/

du উপ-ডিরেক্টরিতে নামার সময় লুকানো ডিরেক্টরিগুলি গণনা করবে তবে বর্তমান ডিরেক্টরিতে * * .directory_name প্যাটার্নের সাথে কেবল মেলে না সুতরাং বর্তমান ডিরেক্টরি লুকানো এলেমেনেট বাদ যাবে।

এটি বের করতে আমার কিছুটা সময় লেগেছে, এবং শাদিয়াবি সুপারিশ অনুসারে যদি আমি এনসিডিইউ ব্যবহার করতাম তবে তা স্পষ্টই হত।



1

find -maxdepth 1 -exec du -sh "{}" \; | sort -h

এটি আপনাকে দেয়:

  • লুকানো ফাইল / ডিরেক্টরিগুলির আকার
  • অ-লুকানো ফাইল / ডিরেক্টরিগুলির আকার
  • বর্তমান ডিরেক্টরিটির গ্র্যান্ড মোট আকার

এটি সবচেয়ে বড়টি কী তা সহজেই দেখা যায় বলে আউটপুটটিও সাজায়। আমি আমার ~/.bash_aliasesফাইলে এটির একটি নামও রেখেছি ।

alias big='find -maxdepth 1 -exec du -sh "{}" \; | sort -h'
alias sbig='sudo find -maxdepth 1 -exec du -sh "{}" \; | sort -h'

এখন আমি কেবলমাত্র bigএকটি ডিরেক্টরিতে সর্বাধিক ডিরেক্টরি খুঁজে পেতে sbigপারি এবং যখন আমার যখন সুডোর অনুমতি প্রয়োজন হয়।


0
du -ahd1 | sort -hr | head -10

নীচে -dবিকল্পের বর্ণনাটি এখানে রয়েছে du --help:

-d, --max-গভীরতা = N কেবলমাত্র কমান্ড লাইন আর্গুমেন্টের নীচে N বা তার চেয়ে কম স্তর হলে কোনও ডিরেক্টরি (বা ফাইল ---- সমস্ত সহ) মুদ্রণ করে; --max-গভীরতা = 0 -সুমারাইজ হিসাবে একই


যদিও এটি সমস্যা সমাধানে সহায়তা করতে পারে, এটি কেন এবং / বা কীভাবে সমস্যাটিকে সমাধান করে তা ব্যাখ্যা করে না। এই অতিরিক্ত প্রসঙ্গ সরবরাহ করা তার দীর্ঘমেয়াদী শিক্ষাগত মানকে উল্লেখযোগ্যভাবে উন্নতি করবে। কোন সীমাবদ্ধতা এবং অনুমানগুলি প্রযোজ্য তা সহ ব্যাখ্যার জন্য আপনার উত্তরটি সম্পাদনা করুন। ধন্যবাদ।
ফিক্সার 1234

0

এই কমান্ডটি আপনাকে ডিরেক্টরিতে প্রবেশ করে ডিস্কের ব্যবহার পরীক্ষা করতে এবং নিম্নলিখিতটি সম্পাদন করতে সহায়তা করবে।
"du -sch। [!।] * * | সাজান -h"

কোনও নির্দিষ্ট ডিরেক্টরিতে ডিস্ক ব্যবহারের গণনা কীভাবে করা যায় তার ডেমো এখানে। আমি ডু_শ নামে একটি ডিরেক্টরি তৈরি করেছি এবং দুটি ফাইল (একটি লুকানো 10 এমবি এবং সাধারণ 20 এমবি) ভিতরে তৈরি করেছি।

nikhil@debian:~$ mkdir Du_sh nikhil@debian:~$ cd Du_sh/ nikhil@debian:~/Du_sh$ dd if=/dev/zero of=.10MB bs=1024 count=10240 10240+0 records in 10240+0 records out 10485760 bytes (10 MB, 10 MiB) copied, 0.0299941 s, 350 MB/s nikhil@debian:~/Du_sh$ nikhil@debian:~/Du_sh$ dd if=/dev/zero of=20MB bs=2048 count=10240 10240+0 records in 10240+0 records out 20971520 bytes (21 MB, 20 MiB) copied, 0.0342258 s, 613 MB/s nikhil@debian:~/Du_sh$ du -sch .[!.]* * 10M .10MB 20M 20MB 30M total nikhil@debian:~/Du_sh$ du -sch .[!.]* * | sort -h 10M .10MB 20M 20MB 30M total nikhil@debian:~/Du_sh$

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