जब मैं उपयोग कर रहा हूं ls -la symlinkName
या stat symlinkName
नहीं तो सभी मार्ग प्रदर्शित हैं (उदाहरण के लिए ../../../one/two/file.txt
)
लिनक्स कमांड क्या है जो पूर्ण पथ को प्रकट करती है?
जब मैं उपयोग कर रहा हूं ls -la symlinkName
या stat symlinkName
नहीं तो सभी मार्ग प्रदर्शित हैं (उदाहरण के लिए ../../../one/two/file.txt
)
लिनक्स कमांड क्या है जो पूर्ण पथ को प्रकट करती है?
जवाबों:
realpath
सभी linux जायके पर उपलब्ध नहीं है, लेकिन readlink
होना चाहिए।
readlink -f symlinkName
ऊपर वाले को चाल चलनी चाहिए।
वैकल्पिक रूप से, यदि आपके पास उपरोक्त में से कोई भी स्थापित नहीं है, तो आप निम्न कार्य कर सकते हैं यदि आपके पास अजगर 2.6 (या बाद में) स्थापित है
python -c 'import os.path; print(os.path.realpath("symlinkName"))'
-f
तो ध्वज को छोड़ दें और फिर यह काम करता है। यानीreadlink symlinkName
realpath <path to the symlink file>
चाल चलनी चाहिए।
man realpath
नीचे से पता चलता है कि यह "GNU कोरुटिल्स" का हिस्सा है, जो मुझे पूरा यकीन है कि हमेशा उबंटू पर आता है, इसलिए @IanStapletonCordasco का कहना है कि " realpath
सभी लिनक्स स्वादों पर उपलब्ध नहीं है", यह कम से कम उपलब्ध होना चाहिए उबंटू और उबंटू व्युत्पन्न जायके मुझे विश्वास है।
यूनिक्स स्वाद -> ll symLinkName
OSX -> 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
readlink
ls
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
। यह भी बिल्कुल भी काम नहीं करता है, यह निर्देशिका (गैर-लिंक) में सब कुछ पर करने की कोशिश करता है और यदि आपके एलएस को पूरी तरह से टूटने वाले रंगों का उपयोग करने के लिए कॉन्फ़िगर किया गया है। बस उपयोग करेंfind . -maxdepth 1 -type l -ls | awk '{print $11 "\t" $12 "\t" $13}'