ผมใช้คำสั่งls
, ,stat
readlink
ใช้ไฟล์/etc/localtime
เป็นตัวอย่าง
[flying@lempstacker ~]$ ls /etc/localtime
/etc/localtime
[flying@lempstacker ~]$ ls -l /etc/localtime
lrwxrwxrwx. 1 root root 35 Aug 2 22:41 /etc/localtime -> ../usr/share/zoneinfo/Asia/Shanghai
การทำงาน
ใช้สถิติ
[flying@lempstacker ~]$ stat /etc/localtime
File: ‘/etc/localtime’ -> ‘../usr/share/zoneinfo/Asia/Shanghai’
Size: 35 Blocks: 0 IO Block: 4096 symbolic link
Device: fd01h/64769d Inode: 272202388 Links: 1
Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2016-11-23 09:00:59.999887800 +0800
Modify: 2016-08-02 22:41:26.090389904 +0800
Change: 2016-08-02 22:41:26.090389904 +0800
Birth: -
[flying@lempstacker ~]$ stat -c "%N" /etc/localtime
‘/etc/localtime’ -> ‘../usr/share/zoneinfo/Asia/Shanghai’
ใช้readlink
[flying@lempstacker ~]$ readlink /etc/localtime
../usr/share/zoneinfo/Asia/Shanghai
[flying@lempstacker ~]$ readlink -f /etc/localtime
/usr/share/zoneinfo/Asia/Shanghai
ดูเหมือนว่าคำสั่งreadlink -f
นั้นจะดีกว่า
คำอธิบาย
-f, --canonicalize: canonicalize โดยทำตามทุก symlink ในทุกองค์ประกอบของชื่อที่กำหนดซ้ำ; ทั้งหมดยกเว้นองค์ประกอบสุดท้ายจะต้องมีอยู่ —— จากman readlink
scp
เวอร์ชันส่วนใหญ่จะติดตาม symlink ตามค่าเริ่มต้นใช่ไหม คุณควรตรวจสอบและช่วยตัวเองบ้าง