আমি লিঙ্কটি নিজেই মোছা না করে কীভাবে প্রতীকী লিঙ্কটির লক্ষ্য মুছব?


10

আমার একটি প্রতীকী লিঙ্ক আছে ~/Desktop/test.txtযা নির্দেশ করে ~/rendu/test.txt

আমি কেবল তার পথ জানি ~/Desktop/test.txt, আমি ~/rendu/test.txtপ্রতীকী লিঙ্কটি মোছার পরিবর্তে মুছতে একটি দ্রুত উপায় চাই ।

তার জন্য যারা কেন জানতে চান: crypted.xxxআমার ডেস্কটপে একটি ফাইল রয়েছে যা এনক্রিপ্ট করা আছে এবং এতে আমার পাসওয়ার্ড রয়েছে।

আমি যখন আমার এনক্রিপ্ট করা ফাইলটি আপডেট করতে চাই, আমি এটি ডিক্রিপ্ট করি এবং এটি crypted.txtএকটি বিশেষ ডিরেক্টরিতে তৈরি করে । তাই আমি ব্যবহারিক কারণে আমার ডেস্কটপে সেই ফাইলটির একটি লিঙ্ক তৈরি করি। তবে আমার দিকে তাকানোর পরে crypted.txt, আমি এটিকে দ্রুত মুছে ফেলতে চাই crypted.txt(তবে ডেস্কটপের লিঙ্কটি নয়)।


4
অপেক্ষা করুন, আপনি ফাইলটি মুছে ফেলতে চান (আপনার প্রশ্নটি সূচিত হিসাবে) বা ফাইলটির বিষয়বস্তু মুছতে চান (শিরোনাম হিসাবে)
জ্যাকব ভিলিজ এম

ফাইলটি মুছুন এবং প্রতীকী লিঙ্কটি রাখুন, ভুল বোঝাবুঝির জন্য দুঃখিত
ইউগো হেড

2
এর পরিবর্তে আপনি কোনও ডেডিকেটেড পাসওয়ার্ড ম্যানেজার ব্যবহার করতে পারেন? উদাহরণস্বরূপ, কিপাস বেশ ভাল and
অশুভপদ

উত্তর:


11

ব্যবহার findব্যবহার সিমবলিক লিঙ্ক খুঁজে পেতে এবং তারপর readlinkথেকে লক্ষ্য সম্পূর্ণ পাথ পেতে rm:

find ~/Desktop/ -type l -name 'test.txt' -exec bash -c 'rm "$(readlink -f "$1")"' _ {} \;

অথবা আপনি ইতিমধ্যে লিঙ্কটির নামটি জানেন:

rm "$(readlink -f ~/Desktop/test.txt)"

4
আপেক্ষিক লিঙ্কগুলির সাথে সতর্ক থাকুন। এটি যে ডিরেক্টরিতে অবস্থিত সেটির সাথে আপেক্ষিক প্রতীকী লিঙ্কটি ব্যাখ্যা করা হয়। তবে আপনার rmকমান্ড এটি শেলের বর্তমান ডিরেক্টরিটির সাথে সম্পর্কিত হিসাবে ব্যাখ্যা করবে। সুতরাং যে কমান্ডটি প্রতীকী লিঙ্কটি ইশারা করছিল তার থেকে আলাদা ফাইল মুছার সম্ভাবনা রয়েছে।
ক্যাস্পার্ড

5
সঙ্গে @kasperd -f -eবা -mসম্পূর্ণ পথ ফিরিয়ে দেওয়া হয়, এমনকি যদি একটি আপেক্ষিক পথে লক্ষ্য সিমবলিক লিঙ্ক পয়েন্ট, তাই হ্যাঁ, যে 'ক্ষেত্রে SA উদ্বেগ rm "$(readlink ~/Desktop/test.txt)", কিন্তু ব্যবহার করছেন না যখন -f -eবা -m
কোস

@ কোস আপনি ঠিক বলেছেন সেক্ষেত্রে আপনাকে কেবল তখনই চিন্তা করতে হবে যদি কোনও রেসের শর্ত থাকতে পারে।
ক্যাস্পার্ড

বিকল্পভাবে, কেউ রিয়েলপথ ব্যবহার করতে পারে , যা এক্ষেত্রে একই কাজ করে readlink -f(তবে লক্ষ্যটি যদি নিজে একটি লিঙ্ক না হয় তবে তাও কাজ করে)।
বাম দিক

6

সহজভাবে ব্যবহার করুন:

printf "" > "$(readlink '/path/to/link')"

থেকে পরিষ্কার ফাইল, বা

rm "$(readlink '/path/to/link')"

থেকে অপসারণ ফাইল।

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