উত্তর:
উভয়ই একই মৌলিক ফাংশনটির একটি মোড়ক যা একটি unlink()
সিস্টেম কল।
ব্যবহারকারীর ব্যবহারের মধ্যে পার্থক্যটি মাপতে।
rm(1)
:
unlink(1)
:
rm(1)
একাধিক যুক্তি দেওয়ার সাথে তুলনা করলে ধীর ।আপনি এর সাথে পার্থক্যটি প্রদর্শন করতে পারেন:
$ touch $(seq 1 100)
$ unlink $(seq 1 100)
unlink: extra operand `2'
$ touch $(seq 1 100)
$ time rm $(seq 1 100)
real 0m0.048s
user 0m0.004s
sys 0m0.008s
$ touch $(seq 1 100)
$ time for i in $(seq 1 100); do rm $i; done
real 0m0.207s
user 0m0.044s
sys 0m0.112s
$ touch $(seq 1 100)
$ time for i in $(seq 1 100); do unlink $i; done
real 0m0.167s
user 0m0.048s
sys 0m0.120s
তবে আমরা যদি সিস্টেম ফাংশনটিতে একটি অযৌক্তিক কল সম্পর্কে কথা বলি unlink(2)
যা এখন আমি বুঝতে পারি যে আপনি অ্যাকাউন্টিং করছেন তা সম্ভবত এটি নয়।
আপনি unlink()
ডিরেক্টরি এবং ফাইলগুলিতে একই পদ্ধতিতে একটি সিস্টেম সম্পাদন করতে পারেন । তবে ডিরেক্টরিটি যদি অন্য ডিরেক্টরি এবং ফাইলগুলির পিতা বা মাতা হয় তবে সেই পিতামাতার লিঙ্কটি সরিয়ে ফেলা হবে তবে শিশুরা ঝুঁকতে থাকবে। যা আদর্শের চেয়ে কম।
সম্পাদনা:
দুঃখিত, মধ্যে পার্থক্য ব্যাখ্যা unlink(1)
এবং unlink(2)
। শব্দার্থক এখনও প্ল্যাটফর্মের মধ্যে পার্থক্য করতে চলেছে।
mkdir -p 1/2/3; touch 1/one 1/2/two 1/2/3/three; rm -ri 1
। যদি আপনি প্যারেন্ট ডিরেক্টরিটি লিঙ্কযুক্ত করেন তবে শিশুদের দ্বারা গ্রাস করা স্থানটি এমন সময় অবধি হারিয়ে ফেলতে হবে যে fsck তারতম্যটি খুঁজে পায়।
পসিক্স স্পেক স্তরে, আরএম কী করে তা লিঙ্কমুক্তের চেয়ে আরও বেশি শক্তভাবে নির্দিষ্ট করা হয়।
আপনার স্ক্রিপ্টটি যদি ওএস এর জুড়ে চলতে থাকে তবে ফলাফলের বহনযোগ্যতাটি আরএম ব্যবহার করে আরও ভাল হতে পারে বলে মনে হয়।
অপসারণের ধীর অংশটি হ'ল ফাইল সিস্টেম কোড এবং ডিস্ক স্টাফ, আনলিংক () সিস্টেম কলের ব্যবহারকারী স্থান প্রস্তুত নয়।
উদাহরণস্বরূপ: গতির পার্থক্য যদি গুরুত্বপূর্ণ হয় তবে আপনার ফাইল সিস্টেমে ডেটা সংরক্ষণ করা উচিত নয়।
লিঙ্কটি কেবল একটি আরএম "আলো"। আরএম এর আরও বৈশিষ্ট্য রয়েছে তবে তারা একই কাজ করে।