Saat saya menggunakan ls -la symlinkNameatau stat symlinkNametidak semua jalur ditampilkan (mis. ../../../one/two/file.txt)
Apa perintah linux yang mengungkapkan jalur lengkap?
Saat saya menggunakan ls -la symlinkNameatau stat symlinkNametidak semua jalur ditampilkan (mis. ../../../one/two/file.txt)
Apa perintah linux yang mengungkapkan jalur lengkap?
Jawaban:
realpathtidak tersedia di semua varian linux, tetapi readlinkseharusnya tersedia.
readlink -f symlinkName
Di atas harus melakukan trik.
Alternatifnya, jika Anda tidak menginstal salah satu dari yang di atas, Anda dapat melakukan hal berikut jika Anda menginstal python 2.6 (atau yang lebih baru)
python -c 'import os.path; print(os.path.realpath("symlinkName"))'
-fflag dan kemudian ini berfungsi. yaitureadlink symlinkName
realpath <path to the symlink file> harus melakukan triknya.
man realpathmenunjukkan di bagian bawah bahwa ini adalah bagian dari "GNU coreutils", yang saya cukup yakin selalu hadir di Ubuntu, jadi meskipun @IanStapletonCordasco mengatakan " realpathtidak tersedia di semua varian linux", setidaknya harus tersedia di semua Rasa turunan Ubuntu dan Ubuntu saya percaya.
rasa unix -> ll symLinkName
OSX -> readlink symLinkName
Perbedaannya adalah cara pertama akan menampilkan jalur tautan sym dengan cara berkedip dan cara kedua hanya akan menggemakannya di konsol.
Cara lain untuk melihat informasi adalah statperintah yang akan menampilkan lebih banyak informasi. Perintah stat ~/.sshdi layar mesin saya
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: -
Semoga ini dapat membantu seseorang.
Anda bisa menggunakan awkdengan systempanggilan readlinkuntuk mendapatkan lsoutput yang setara dengan jalur symlink lengkap. Sebagai contoh:
ls | awk '{printf("%s ->", $1); system("readlink -f " $1)}'
Akan menampilkan mis
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. Ini juga tidak bekerja sama sekali, mencoba melakukannya pada semua yang ada di direktori (non-tautan) dan jika ls Anda dikonfigurasi untuk menggunakan warna yang benar-benar rusak. cukup gunakanfind . -maxdepth 1 -type l -ls | awk '{print $11 "\t" $12 "\t" $13}'