প্রতীকী লিঙ্কের মূল ফাইলটি সন্ধান করা হচ্ছে


20

সুতরাং আসুন আমি আমার হোম ডিরেক্টরিতে একটি ফাইলের একটি প্রতীকী লিঙ্কটি একটি পৃথক পার্টিশনের অন্য ফাইলে রেখেছি। আমি লিঙ্কযুক্ত ফাইলের লক্ষ্য অবস্থানটি কীভাবে খুঁজে পাব? এটির অর্থ, আমি বলতে চাই যে আমার কাছে file2রয়েছে /home/user/; তবে এটি অন্যটির সাথে প্রতীকী লিঙ্ক file1file1ফাইলটি খুঁজতে প্রতিটি পার্টিশন / ডিরেক্টরিটি নিজে হাতে না গিয়ে আমি কীভাবে খুঁজে পাব?


1
দয়া করে "মূল ফাইল" এ প্রসারিত করুন। যদি file1একটি syMLink হয় file0? আপনি কি আপনার সিমলিংকের শেষ লক্ষ্যটি ( file0) বা ঠিক পরেরটি ( file1) খুঁজে পেতে চান?
don_crissti

উত্তর:


26

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

readlink -f /path/file

(একাধিক স্তর থাকলে আপনার সিমিলিংকের শেষ লক্ষ্য)

আপনি যদি কেবলমাত্র পরবর্তী স্তরের প্রতীকী লিঙ্কটি চান তবে ব্যবহার করুন:

readlink /path/file

আমি কোনও আউটপুট
কে-রকার

তোমার একটা থাকা উচিত! ত্রুটি বা একটি পথ
গিলস কুইনট

কিছুই নেই: user@shell a5$ readlink -f ./student1.javaএবং আমি user@shell a5$
কে-রকার

এনভিএম, আমার প্রতীকী লিঙ্কটি সঠিকভাবে সেটআপ করা হয়নি, কেন তা নিশ্চিত নয়। তবে আমি একটি নতুন তৈরি করেছি এবং এটি কাজ করে, ধন্যবাদ।
কে-রকার 20

2
এফডাব্লুআইডাব্লু readlink /path/fileপরের লক্ষ্যটি ফিরিয়ে দেবে।
don_crissti

2

1।

ls -l bin

উৎপাদন করা

lrwxrwxrwx 1 az az 14 Ноя 12 22:13 bin -> ../Gdrive/bin/

2।

file bin

উৎপাদন করা

bin: symbolic link to `../Gdrive/bin/' 

3।

stat bin

উৎপাদন করা

File: «bin» -> «../Gdrive/bin/»

ঠিক আছে আমি স্ক্রিপ্ট তৈরির চেষ্টা করছি তাই আমি কীভাবে এগুলি ব্যবহার করব? আমি লিনাক্সে নতুন
কে-রকার 20

1
@ কে-রকার আপনি কী করতে চান তা যদি আপনি ব্যাখ্যা করেন তবে এটি আরও ভাল।
কোস্টাস

1

সহজতম উপায়: cdযেখানে প্রতীকী লিঙ্কটি অবস্থিত এবং ls -lফাইলগুলির বিশদ তালিকাতে করণীয় ।

->প্রতীকী লিঙ্কের পরে ডানদিকের অংশটি গন্তব্য এটি নির্দেশ করছে।

উদা:

lrwxrwxrwx 1 জন ব্যবহারকারী নামের নাম 22 জন 17 13:29 টেম্প টেক্সট -> / হোম / ইউজার / টেম্প.টেক্সট লিঙ্ক

এখানে আমাদের কাছে "টেম্প টেক্সট লিঙ্ক" রয়েছে যা ( ->) "/home/user/temp.txt" এ নির্দেশ করে।

তবে, @ গিলস কুইনট পয়েন্ট দেখায় , আপনি ঠিক এটি করতে পারেনreadlink -f /path/to/symbolic_link


0

কোস্টায় প্রসারিত হচ্ছে

ধরুন আপনার আছে

ln -s test.txt sym_link_1.txt
ls -l sym_link_1.txt
lrwxrwxrwx. 1 a1 g1 8 Jan  7 16:59 sym_link_1.txt -> test.txt

একটি স্ক্রিপ্টে আপনি করতে পারেন (ব্যাকটিক্স ব্যবহার করুন)

ln -s `readlink sym_link_1.txt` sym_link_2.txt

তাহলে আপনার আছে

ls -l sym_link_*.txt
lrwxrwxrwx. 1 a1 g1 8 Jan  7 16:59 sym_link_1.txt -> test.txt
lrwxrwxrwx. 1 a1 g1 8 Jan  7 17:01 sym_link_2.txt -> test.txt

0

লিঙ্ক ফাইলগুলি খুঁজে পাওয়ার জন্য অন্য পদ্ধতি (যা পূর্বে উত্তর দেওয়া হয়নি) হ'ল নীচের কমান্ডটি ব্যবহার করা,

file -h <path_to_dir>/* | grep link

আদেশ :

file -h /home/prateek/* | grep link

আউটপুট :

/ হোম / প্রোটেক / সংগীত: / মিডিয়া / প্রোটেক / এইচডি-ই 1 / সংগীতের সাথে প্রতীকী লিঙ্ক

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