আমি নিম্নলিখিত ফলাফলগুলি কেন পাচ্ছি তা বুঝতে পারি না:
ls -l
আমাকে একটি প্রদত্ত ফাইলের আকার বলুন (ইতিহাস) "581944":
$ ls -l HISTORY
-rw-rw-r-- 1 waldyrious waldyrious 581944 Feb 22 10:59 HISTORY
ls -s
এটি "572" বলে:
$ ls -s HISTORY
572 HISTORY
আমার অবশ্যই স্পষ্টতই মানগুলিকে তুলনীয় স্কেল ব্যবহার করা দরকার। সুতরাং প্রথম আমি নিশ্চিত করছি যে ব্যবহার --block-size 1
মধ্যে ls -l
আমাকে আগের মতই ফলাফলের দেয়:
$ ls -l --block-size 1 HISTORY
-rw-rw-r-- 1 waldyrious waldyrious 581944 Feb 22 10:59 HISTORY
তারপরে আমি ls -s
একই স্কেলে একটি মান পেতে একই কাজ:
$ ls -s --block-size 1 HISTORY
585728 HISTORY
বিভিন্ন ফলাফল! 581944 ≠ 585728 ।
আমি অন্যান্য উপায়ে তুলনামূলক মানগুলি উত্পাদন করার চেষ্টা করেছি -k
, তবে আমি পেয়েছি:
$ ls -lk HISTORY
-rw-rw-r-- 1 waldyrious waldyrious 569 Feb 22 10:59 HISTORY
$ ls -sk HISTORY
572 HISTORY
আবার, বিভিন্ন ফলাফল, 569 ≠ 572 ।
উভয় বিকল্প একই স্কেল ব্যবহার করছে তা নিশ্চিত করার জন্য আমি উল্লেখ করার চেষ্টা করেছি: কোনও লাভ হয়নি:
$ ls -lk --si HISTORY
-rw-rw-r-- 1 waldyrious waldyrious 582k Feb 22 10:59 HISTORY
$ ls -sk --si HISTORY
586k HISTORY
... আবার বিভিন্ন মান: 582 কে ≠ 586 কে ।
আমি ওয়েবে অনুসন্ধান চেষ্টা করেছিলেন কিন্তু আমি শুধু খুঁজে পাইনি প্রাসঙ্গিক করলো ছিল এই :
কিছু ফাইলের মধ্যে "ছিদ্র" থাকে, যাতে
ls -s
(...) দ্বারা তালিকাভুক্ত ব্যবহার তালিকাভুক্ত ফাইল আকারের চেয়ে কম হয়ls -l
। "
(মনে রাখবেন যে আমার ফলাফলগুলিতে বিপরীতটি ঘটে: ls -s
রিটার্নগুলি মাপের চেয়ে বড় ls -l
নয়, ছোট।
এদিকে, এই পৃষ্ঠাটি বলে যে
ইউনিক্স ফাইলের গর্তগুলি সনাক্ত করার জন্য কোনও মার্জিত উপায় নেই।
সুতরাং, আমি এই তাত্পর্যটি কীভাবে মোকাবেলা করতে পারি? এই মানগুলির মধ্যে কোনটি সঠিক হিসাবে বিবেচনা করা যেতে পারে? এটি সম্ভবত কোনও বাগ-ইন হতে পারে ls
?
ls -s
গণনা হয় না ?