বাশ-এ বর্তমান ডিরেক্টরিতে বিনামূল্যে স্থান পান


25

আমি জানি df -hএবং pwd, কিন্তু রেজেক্স ম্যাচিং অংশের জন্য এটি কিছুটা জটিল বলে মনে হচ্ছে। কোন ধারনা?


1
মানে du -h?
jweyrich

উত্তর:


45

-Pবিকল্পটি ব্যবহার করে আউটপুটটিকে পার্স করা কিছুটা সহজ করা যায় যা নিশ্চিত করে যে:

  1. প্রতিটি ফাইল সিস্টেমের তথ্য সর্বদা এক লাইনে মুদ্রিত থাকে; একটি মাউন্ট ডিভাইস নিজেই কোনও লাইনে রাখা হয় না। এর অর্থ হ'ল যদি মাউন্ট ডিভাইসের নামটি 20 টিরও বেশি অক্ষর দীর্ঘ হয় (উদাহরণস্বরূপ, কিছু নেটওয়ার্ক মাউন্টগুলির জন্য), কলামগুলি বিভ্রান্ত।

এটি কেবল নিখরচায় উপলভ্য স্থান পাওয়া অনেক সহজ করে তোলে:

$ df -Ph . | tail -1 | awk '{print $4}'

( -hমেগাবাইট, গিগাবাইট এবং আরও কিছু ব্যবহার করে your যদি আপনার সিস্টেমে এটি না থাকে তবে -kকেবল কিলোবাইটের জন্য ব্যবহার করুন ))

যদি আমরা dfকোনও পথ পাস করি তবে এটি কেবল ২ টি সারি: একটি শিরোনাম সারি এবং তারপরে ফাইল সিস্টেম সম্পর্কিত ডেটাটি পাঠাবে। আমরা দ্বিতীয় সারিটি ধরতে লেজ ব্যবহার করতে পারি। আমরা জানি যে উপলব্ধ স্থানটি চতুর্থ কলামে রয়েছে, সুতরাং আমরা এটির সাথে দখল করি awk। এই সব দিয়ে করা যেতে পারে awk:

$ df -Ph . | awk 'NR==2 {print $4}'

অথবা ফিল্টারগুলির অনেকগুলি সেট ।


$PWDকমান্ড প্রতিস্থাপন ব্যবহার না করে এবং লেজের প্রয়োজনীয়তা অপসারণের পরিবর্তে পরিবেশ পরিবর্তনশীল ব্যবহার করে আপনি আপনার কমান্ডটি অনুকূল করতে পারেন : df -Ph $PWD | awk 'NR==2{print $4}'
সিজেএক্সএক্স

@ সিজেএক্স: আমি সম্মত হলাম এগুলি awkকরা আরও ভাল। আমি লম্বা কমান্ডটি অন্তর্ভুক্ত করেছি কারণ কীভাবে আরও জটিল কিছু করার জন্য কেউ সহজ কমান্ডগুলির একটি শৃঙ্খলা তৈরি করতে পারে তার একটি উদাহরণ পেতে চাই। আমি আপনার উন্নতি অন্তর্ভুক্ত উত্তর আপডেট করেছি।
স্টিভেন ডি

-Pমানক (এটি Pপসিক্সের জন্য)। তবে -hএটি একটি জিএনইউ এক্সটেনশন (অন্যান্য কয়েকটি সিস্টেমে বিদ্যমান, তবে যেমন ওপেনবিএসডি-তে এটি বেমানান -P)।
গিলস 'খারাপ হয়ে যাওয়া বন্ধ করুন'

আপনি এটি আউটপুট ছাড়াই করতে পারেনdf -h --output=avail . | tail -1
ফ্লয়েড

"আপনি আপনার আদেশটি অনুকূল করতে পারেন"। আসলে তা না. উভয় পাইপ 10'000 বার চালানো (যেমন হিসাবে time { I=0; while [ $I -lt 10000 ]; do df -Ph . | awk 'NR==2 {print $4}' > /dev/null; ((I++)); done }) গতিতে কোনও অর্থপূর্ণ পার্থক্য প্রকাশ করে, যা আশ্চর্যজনক নয় - অনুরোধ করা tailব্যয়বহুল নয় এবং ইনপুটটির awkশেষ দিকে এড়াতে বাধা দেওয়া হবে ... এতে কোনও পার্থক্য থাকতে পারে পিডিপি -11 ...
ডেভিড টনহোফার

10

কিভাবে করছেন df -h .। এটি আপনাকে আপনার বর্তমান কার্যনির্বাহী ডিরেক্টরিতে থাকা পার্টিশনের মুক্ত স্থান দেবে।

একটি ছোট উদাহরণ:

 /usr/local/nagios/libexec # df -h .
 Filesystem            Size  Used Avail Use% Mounted on
 /dev/mapper/vg00-lvol1
                       9.9G  6.1G  3.4G  65% /

4

বাইটে:

df --output=avail -B 1 "$PWD" | tail -n 1

মানব পাঠযোগ্য:

df --output=avail -h "$PWD" | tail -n 1

অথবা

df --output=avail -B 1 "$PWD" |tail -n 1 | numfmt --to="iec"

অথবা

df --output=avail -B 1 "$PWD" |tail -n 1 | numfmt --grouping
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.