একটি নির্দিষ্ট ফাইলের জন্য তৈরি সমস্ত প্রতীকী লিঙ্কগুলি কীভাবে সন্ধান এবং তালিকাভুক্ত করবেন?


52

আমি একটি নির্দিষ্ট ফাইল বা ডিরেক্টরিতে বিভিন্ন পথে বহু প্রতীকী লিঙ্ক তৈরি করেছি। আমি তৈরি প্রতীকী লিঙ্ক পাথ (অবস্থান) এর পুরো তালিকা চাই।

উদাহরণ:

আমি ~/Picturesঅনেক ডিরেক্টরিতে ডিরেক্টরিতে প্রতীকী লিঙ্ক তৈরি করেছি । আমি কীভাবে সমস্ত ~/Picturesডিরেক্টরিকে সেই ডিরেক্টরিতে তালিকাবদ্ধ করব ?

এটা কি সম্ভব? যদি হ্যাঁ, তবে কিভাবে?


আপনাকে সম্পূর্ণ অনুসন্ধান করতে হবে, হার্ড-লিঙ্কগুলির মতো কোনও গণনা সঞ্চিত নেই। সন্ধান করে উত্তরগুলির মধ্যে একটি দেখুন।
ctrl-alt-delor 12

উত্তর:


42

এখানে একটি উদাহরণ:

find -L /dir/to/start -xtype l -samefile ~/Pictures

বা, সম্ভবত আরও ভাল:

find -L /dir/to/start -xtype l -samefile ~/Pictures 2>/dev/null

মত কিছু ত্রুটি পরিত্রাণ পেতে Permission denied, Too many levels of symbolic linksঅথবা File system loop detectedযা findতাদের ছোঁড়া যখন ডান অনুমতি বা অন্যান্য পরিস্থিতিতে নেই।

  • -L - প্রতীকী লিঙ্কগুলি অনুসরণ করুন।

  • -xtype l - ফাইলটি প্রতীকী লিঙ্ক

  • -samefile name- ফাইল একই ইনোডকে বোঝায় name। কখন -Lকার্যকর হয়, এটিতে প্রতীকী লিঙ্কগুলি অন্তর্ভুক্ত থাকতে পারে।

নোট:

  • ছোট -xtype lঅঙ্কের এল ব্যবহার করুন , সংখ্যা 1 নয়।
  • ম্যাকোস / ডারউইনে -xtypeরয়েছে -type

একটি পাথ রয়েছে এমন প্রতীকী লিঙ্কটি সন্ধান করতে কমান্ডটি পরিবর্তন করা যেতে পারে? উদাহরণস্বরূপ সিস্টেম জুড়ে ফাইলগুলি ~ / চিত্র / এ, ~ / ছবি / এ / বি / সি, বা
may

7

খুব সহজ, ব্যবহার বিকল্প -lname:

find / -lname /path/to/original/dir

থেকে man find:

-lname pattern
       File is a symbolic link whose contents match shell pattern pattern.  The
       metacharacters do not treat `/' or `.' specially.  If the -L option or the
       -follow option is in effect, this test returns false unless the symbolic link
       is broken.

দ্রষ্টব্য : মনে রাখবেন যে প্রতীকী লিঙ্কগুলি যে কোনও জায়গায় থাকতে পারে, যার মধ্যে একটি রিমোট সিস্টেম অন্তর্ভুক্ত রয়েছে (যদি আপনি ফাইলগুলি ভাগ করে নিচ্ছেন) তবে আপনি সেগুলি সনাক্ত করতে সক্ষম নাও হতে পারেন।


আরও মনে রাখবেন, যদি সিমলিংকটি কোনও আপেক্ষিক পথ হয় ../dirতবে এটির /path/to/original/dirপরিবর্তে আপনি কোনও প্যাটার্ন ব্যবহার করতে পারবেন এবং মিথ্যা -lname \*dir
জেসন এস

2

এটা চেষ্টা কর :

ls -i ~/

277566 Pictures

find . -follow -inum 277566(একই ইনোড নম্বর সহ ডিরেক্টরিগুলি সন্ধান করুন )

এটি এর সমস্ত প্রতীকী লিঙ্ক পাথ প্রদর্শন করবে।


4
এটি প্রতীকী লিঙ্কগুলি নয়, হার্ড লিঙ্কগুলি সন্ধান করবে। হার্ড লিঙ্কগুলি ইনোড নম্বর ভাগ করে। প্রতীকী লিঙ্কগুলিতে বিভিন্ন ইনোড সংখ্যা রয়েছে। প্রতীকী লিঙ্কের ইনোডের একটি ব্লক তালিকার পরিবর্তে একটি পথ রয়েছে।
শৃঙ্খলাবদ্ধ

প্রশ্নটিতে কঠোর বা নরম প্রতীকী লিঙ্কটি উল্লেখ করা হয়নি
নুশ

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