সিলিমিঙ্ক ডিরেক্টরিতে ফাইল সহ ডিরেক্টরিতে সমস্ত ফাইল তালিকাভুক্ত করুন


147

ধরুন আমি একটি ডিরেক্টরি আছে /dirযা ভিতরে সেখানে অন্যান্য ডিরেক্টরি 3 symlinks হয় /dir/dir11, /dir/dir12এবং /dir/dir13। আমি সব ফাইল তালিকা প্রস্তুত করতে চান dirমধ্যে বেশী সহ dir11, dir12এবং dir13

আরও জেনেরিক হওয়ার জন্য, আমি ডিরেক্টরিগুলির মধ্যে যেগুলি সিমলিংকগুলি রয়েছে সেগুলি সহ সমস্ত ফাইল তালিকাভুক্ত করতে চাই। find ., ls -Rইত্যাদি ইত্যাদি আরও তালিকাতে নেভিগেট না করে সিমিলিংকে থামান।


উত্তর:


232

-Lবিকল্পে lsআপনি যা চান তা সম্পাদন করবে। এটি প্রতীকী লিঙ্কগুলিকে অবজ্ঞা করে।

সুতরাং আপনার আদেশ হবে:

ls -LR

আপনি এটি দিয়ে এটি সম্পাদন করতে পারেন

find -follow

-followবিকল্প ডিরেক্টরি প্রতি সিম্বলিক লিঙ্ক অনুসরণ খুঁজতে নির্দেশ।

ম্যাক ওএস এক্স ব্যবহার করুন

find -L

-followহ্রাস করা হয়েছে হিসাবে ।


14
-ফলে নতুন-নতুন সংস্করণগুলিতে -L এর পক্ষে অবহেলা করা হয়।
pjz

@pjz: '-ফোল অবমূল্যায়নের জন্য একটি ক্রস-রেফারেন্স রয়েছে; ব্যবহার -L '? কিছুটা আমার বিস্ময়ের কিছুটা হলেও , আমি ওপেনগ্রুপ . org / অনলাইনপবস / ২০০৯৯৯৫৩৯ / টোক এইচটিএম- তে পসিক্স / এসইএস স্ট্যান্ডার্ডে তালিকাভুক্ত '-L' এবং '-H' খুঁজে পেয়েছি এবং আরও কিছু না-কিছু অবাক করেও '-ফলে', তাই আমি আমার নিজের প্রশ্নের উত্তর দিয়েছি।
জোনাথন লেফলার

এটি আমার পক্ষে কাজ করে না। প্রথমে কিছু না হয়ে পরে আমি চেষ্টা করেছিলাম -follow- এবং এটি বলেছিল যে এটি ফোল্ডারটি খুঁজে পাবে নাollow
smatthewenglish

4
ওএস এক্স ১০.১০-তে এটি কাজ করে: find -L .- আমার কাছে @ এস ম্যাটহে_ইংলিশ

আপনার উত্তরটি ভাল, তবে আমি followকেবল পথ (ফাইলের সম্পূর্ণ পাথ) ফাইল করতে চাই এবং ডিরেক্টরি পথ নয়, আমি কীভাবে এটি করতে পারি?
ভিকি দেব

116

গাছ সম্পর্কে কেমন ? tree -lsymlinks অনুসরণ করবে।

দাবি অস্বীকার : আমি এই প্যাকেজটি লিখেছি।


2
কিভাবে একটি খিলান প্যাকেজ সম্পর্কে?
Mr_and_Mrs_D

এটি এর চেয়ে আরও স্বজ্ঞাত দৃষ্টিভঙ্গি ls। এটি চারপাশে পেস্ট করাও সহজ।
ধৌপিন

46
find /dir -type f -follow -print

-type f এর অর্থ এটি আসল ফাইলগুলি প্রদর্শন করবে (প্রতিলিপি নয়)

-follow এর অর্থ এটি আপনার ডিরেক্টরি প্রতীকগুলি অনুসরণ করবে

-print এটি ফাইলের নামগুলি প্রদর্শন করার কারণ ঘটায়।

আপনি যদি একটি এলএস টাইপ প্রদর্শন করতে চান তবে নিম্নলিখিতগুলি করতে পারেন

find /dir -type f -follow -print|xargs ls -l

এটি ls -Lঅপশনটির তুলনায় একটি সুন্দর প্রদর্শন তৈরি করে
ইউসৌব্রাসিলিও

10

এলএস ব্যবহার করে:

  ls -LR

'ম্যান এলএস' থেকে:

   -L, --dereference
          when showing file information for a symbolic link, show informa‐
          tion  for  the file the link references rather than for the link
          itself

অথবা, সন্ধান করুন:

find -L .

ম্যানপেজটি সন্ধান করুন:

-L     Follow symbolic links.

যদি আপনি কেবল কয়েকটি প্রতীকী লিঙ্কগুলি অনুসরণ করতে চান (যেমন আপনি সম্ভবত শীর্ষস্থানীয়গুলি উল্লেখ করেছেন), আপনার -H বিকল্পটি লক্ষ্য করা উচিত, যা কেবলমাত্র কমান্ডলাইনে আপনাকে দেওয়া চিহ্নগুলি অনুসরণ করে।


5

আমি জানতাম treeএকটি উপযুক্ত, কিন্তু আমার গাছে ইনস্টল করা হয়নি। সুতরাং, আমি এখানে একটি খুব কাছাকাছি বিকল্প পেয়েছি

find ./ | sed -e 's/[^-][^\/]*\//--/g;s/--/ |-/'

এটি আমার প্রয়োজন ঠিক ছিল। ধন্যবাদ.
স্কট সি

5
find -L /var/www/ -type l

# man find
-L     Follow  symbolic links.  When find examines or prints information about files, the information used shall be taken from the

লিঙ্কটি যে ফাইলটিতে লিঙ্কটি নির্দেশ করে তার বৈশিষ্ট্যগুলি, লিঙ্কটি নিজেই নয় (যদি না এটি একটি ভাঙা প্রতীকী লিঙ্ক হয় বা লিঙ্ক পয়েন্টগুলিতে ফাইল পরীক্ষা করতে অক্ষম থাকে)। এই বিকল্পের ব্যবহার-নোলিফ বোঝায়। আপনি যদি পরে -P বিকল্পটি ব্যবহার করেন, -নোলিয়াফ এখনও কার্যকর হবে। যদি -L কার্যকর হয় এবং অনুসন্ধানের সময় একটি উপ-ডিরেক্টরিতে একটি প্রতীকী লিঙ্কটি আবিষ্কার করে, প্রতীকী লিঙ্ক দ্বারা নির্দেশিত সাব-ডিরেক্টরিটি অনুসন্ধান করা হবে।


2
ls -R -L

-Lপ্রতীকী লিঙ্কগুলি dereferences। এটি ফাইলগুলিতে কোনও প্রতিলিঙ্ক দেখতেও অসম্ভব করে তুলবে, যদিও - এগুলি ফাইলটির পয়েন্ট-টু ফাইলের মতো দেখাবে।


-1

আপনি যদি সমস্ত ফাইলের সামগ্রী মুদ্রণ করতে চান তবে : find . -type f -exec cat {} +

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