উত্তর:
আপনার সাথে সেটি মুছতে পারেন rm
যথারীতি: rm NameOfFile
। মনে রাখবেন যে হার্ড লিঙ্কগুলির সাথে "মূল ফাইল" এবং "ফাইলটির লিঙ্ক" এর মধ্যে কোনও পার্থক্য নেই: আপনার কাছে একই ফাইলের দুটি নাম রয়েছে এবং কেবল একটির নাম মুছলে অন্যটি মুছবে না।
sudo
যে কমান্ডটি দিয়েছিলেন (সুপার-ইউজার হিসাবে) এটি তৈরি করে থাকলে আপনার এটির মূল (ব্যবহার ) হিসাবে rm করা দরকার ।
অপ্রয়োজনীয় হার্ড লিঙ্কগুলি সরানোর জন্য আমার কাছে এই স্ক্রিপ্ট রয়েছে। তবে যত্ন নিন - এটি বেশ বিপজ্জনক।
#!/bin/bash
clear
echo Reduce redundant hardlinks in the current folder
echo ------------------------------------------------
echo
echo " $(basename $0) [-R]"
echo " -R means recursive"
echo
read -p "You can break by pressing Ctrl+C"
echo
ask=1
if [ a$1 == "a-R" ]; then recursive=" -R "; fi
for i in $(ls -i $recursive | awk '{print $1}' | uniq --repeated | sort);
do
echo "Inode with multiple hardlinked files: $i"
first=1
for foundfile in $(find . -xdev -inum $i);
do
if [ $first == 1 ]; then
echo " preserving the first file: $foundfile"
first=0
else
echo " deleting the redundant file: $foundfile"
#rm $foundfile
fi
done
if [ $ask == 1 ]; then
read -p "Delete all the rest of redundant hardlinks without asking? y/N "
if [ a${REPLY,,} == "ay" ]; then ask=0; fi
fi
# read -p "pause for sure"
echo
done
echo "All redundant hardlins are removed."
echo
আসলে rm
কাজ করে না:
[user@localhost Products]$ rm AZP/
rm: cannot remove `AZP/': Is a directory
[user@localhost Products]$ rm -r AZP/
rm: cannot remove `AZP': Not a directory
কি কাজ করে unlink AZP
।
AZP/
ডিরেক্টরি মনে হচ্ছে, পুনরাবৃত্ত পতাকা ছাড়া আরএম ডিরেক্টরিতে কাজ করে না। কোরুতেলস ডক্স অনুসারেও। >>> বেশিরভাগ সিস্টেম ডিরেক্টরিতে একটি হার্ড লিঙ্ক তৈরি নিষিদ্ধ; এটি যেখানে অনুমোদিত, কেবলমাত্র সুপার-ব্যবহারকারী এটি করতে পারে (এবং সাবধানতার সাথে, যেহেতু একটি চক্র তৈরি করা অন্যান্য অন্যান্য ইউটিলিটিগুলিতে সমস্যা সৃষ্টি করবে)।
AZP
কোনও ডিরেক্টরিতে প্রতীকী লিঙ্ক হয় (বা অন্য কোনও কিছু) rm AZP/
কাজ করবে না কারণ rm
এটি একটি ডিরেক্টরি বলে মনে করে ( /
শেষে রয়েছে)। তবে rm AZP
ঠিক কাজ করবে। -1
আপনি যদি কেবলমাত্র লিঙ্কটি সরাতে এবং এইভাবে মূল ফাইলটি রাখতে চান তবে আপনাকে আনলিংক ব্যবহার করতে হবে।
unlink(1)
? এটি unlink(2)
সিস্টেম কলের চারপাশে একটি অগভীর আবরণ , একই সিস্টেম কল যা rm(1)
ডিরেক্টরি নয় এমন সমস্ত ফাইলের জন্য ব্যবহার করে।
unlink
এর নাম সত্ত্বেও, হার্ডলিঙ্কযুক্ত দুটি পৃথক ফাইলে আলাদা করা হবে না, তবে "লিঙ্কযুক্ত" ডিরেক্টরি এন্ট্রি (তবে ফাইল / বিষয়বস্তু / ইনোড নয়, লিংক সংখ্যাটি 1 অবধি) 1 অপসারণ করবে।
ln -n /path/to/file
নামযুক্ত একটি ফাইল তৈরি করেfile
এবং এর জন্য সংক্ষিপ্তকরণln --no-dereference /path/to/file
। এর অর্থ হ'ল যদি/path/to/file
একটি প্রতীকী লিঙ্ক হয় তবে সদ্য নির্মিত হার্ডলিঙ্কটি সিমলিংকের টার্গেটের পরিবর্তে সেই সিমিলিংকের দিকে নির্দেশ করবে।