Ich habe heute meine Routinearbeit erledigt und es scheint, dass die Befehle stat
und file
im Terminal nicht zeigen, ob eine Datei ein symbolischer Link ist:
flow2k@myPad:dir ln -s aa.iml superlink
flow2k@myPad:dir stat superlink
16777220 11057327 lrwxr-xr-x 1 flow2k staff 0 6 "Dec 2 13:25:34 2017" "Dec 2 13:25:34 2017" "Dec 2 13:25:34 2017" "Dec 2 13:25:34 2017" 4096 8 0 superlink
Wie kann ich sehen, ob etwas ein Symlink ist?
Das l
in lrwxr-xr-x
zeigt, dass es sich um einen (symbolischen) Link handelt.
Verwenden Sie readlink file
, um anzuzeigen, wohin der symbolische Link zeigt.
Auf der stat
Handbuchseite heißt es:
Beim Aufruf als readlink wird nur das Ziel des symbolischen Links ausgegeben. Wenn das angegebene Argument kein symbolischer Link ist, gibt readlink nichts aus und wird mit einem Fehler beendet.
BSD stat
und file
unterscheiden sich von ihren Linux-Gegenstücken, aber die BSD-Versionen können die Linux-Ausgabe nachahmen. Aus dem Handbuch für file
:
-h, --no-dereference
option causes symlinks not to be followed (on systems that support symbolic links).
file -h /etc
/etc: symbolic link to private/etc
und aus dem Handbuch fürstat
-x Display information in a more verbose way as known from some Linux distributions.
stat -x /etc
File: "/etc"
Size: 11 FileType: Symbolic Link
Mode: (0755/lrwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ wheel)
Device: 1,4 Inode: 419701 Links: 1
Access: Sun Apr 16 14:39:45 2017
Modify: Sun Apr 16 14:39:45 2017
Change: Sun Apr 16 14:41:19 2017
kein Hang
flow2k
kein Hang