যখন আমি ব্যবহার করি ls -la symlinkNameবা stat symlinkNameনা করি তখন সমস্ত পাথ প্রদর্শিত হয় (উদাঃ ../../../one/two/file.txt)
লিনাক্স কমান্ডটি কী পুরো পথটি প্রকাশ করে?
যখন আমি ব্যবহার করি ls -la symlinkNameবা stat symlinkNameনা করি তখন সমস্ত পাথ প্রদর্শিত হয় (উদাঃ ../../../one/two/file.txt)
লিনাক্স কমান্ডটি কী পুরো পথটি প্রকাশ করে?
উত্তর:
realpathসমস্ত লিনাক্স স্বাদে উপলভ্য নয়, তবে readlinkহওয়া উচিত।
readlink -f symlinkName
উপরেরটি কৌশলটি করা উচিত।
বিকল্পভাবে, যদি আপনার উপরের দুটি ইনস্টলড না থাকে তবে অজগর ২.6 (বা তার পরে) ইনস্টল করা থাকলে আপনি নিম্নলিখিতটি করতে পারেন
python -c 'import os.path; print(os.path.realpath("symlinkName"))'
-fপতাকাটি বাদ দিন এবং তারপরে এটি কাজ করে। অর্থাত্readlink symlinkName
realpath <path to the symlink file> কৌতুক করা উচিত।
man realpathনীচে দেখায় যে এটি "জিএনইউ কোর্টিলস" এর অংশ, যা আমি নিশ্চিত যে উবুন্টুতে সর্বদা আসে, সুতরাং @ আইয়ানস্ট্যাপ্লেটন কর্ডাসকো " realpathসমস্ত লিনাক্সের স্বাদে উপলভ্য নয় " বললেও , এটি কমপক্ষে সকলের কাছেই পাওয়া উচিত উবুন্টু এবং উবুন্টু ডেরিভেটিভ স্বাদগুলি আমি বিশ্বাস করি।
ইউনিক্স স্বাদ -> ll symLinkName
ওএসএক্স -> readlink symLinkName
পার্থক্যটি 1 ম উপায়টি সিম লিঙ্ক পাথটি ঝলকানো উপায়ে প্রদর্শন করবে এবং ২ য় উপায় কেবল কনসোলে এটি প্রতিধ্বনিত করবে।
তথ্য দেখার আরেকটি উপায় হ'ল statআদেশটি যা আরও তথ্য প্রদর্শন করবে। stat ~/.sshআমার মেশিন প্রদর্শন উপর কমান্ড
File: ‘/home/sumon/.ssh’ -> ‘/home/sumon/ssh-keys/.ssh.personal’
Size: 34 Blocks: 0 IO Block: 4096 symbolic link
Device: 801h/2049d Inode: 25297409 Links: 1
Access: (0777/lrwxrwxrwx) Uid: ( 1000/ sumon) Gid: ( 1000/ sumon)
Access: 2017-09-26 16:41:18.985423932 +0600
Modify: 2017-09-25 15:48:07.880104043 +0600
Change: 2017-09-25 15:48:07.880104043 +0600
Birth: -
আশা করি এটি কারও সাহায্য করবে।
সম্পূর্ণ সিমলিংক পাথ সহ একটি আউটপুট সমপরিমাণ পেতে আপনি awkএকটি systemকল দিয়ে ব্যবহার করতে পারেন । উদাহরণ স্বরূপ:readlinkls
ls | awk '{printf("%s ->", $1); system("readlink -f " $1)}'
প্রদর্শিত হবে যেমন
thin_repair ->/home/user/workspace/boot/usr/bin/pdata_tools
thin_restore ->/home/user/workspace/boot/usr/bin/pdata_tools
thin_rmap ->/home/user/workspace/boot/usr/bin/pdata_tools
thin_trim ->/home/user/workspace/boot/usr/bin/pdata_tools
touch ->/home/user/workspace/boot/usr/bin/busybox
true ->/home/user/workspace/boot/usr/bin/busybox
ls -l । এটিও মোটেও কাজ করে না, ডিরেক্টরিতে সমস্ত কিছুতে এটি লিঙ্ক করার চেষ্টা করে (লিঙ্কহীন) এবং যদি আপনার ls রং ব্যবহার করতে কনফিগার করা থাকে তবে পুরোপুরি বিচ্ছেদ হয়। স্রেফ ব্যবহার করুনfind . -maxdepth 1 -type l -ls | awk '{print $11 "\t" $12 "\t" $13}'