Мне не совсем понятно, если вы спрашиваете о:
- псевдонимах (способ заставить одну команду на самом деле запустить что-то другое)
- символическая ссылка (способ созданияярлык для файла)
- жесткая ссылка (два имени файла указывают на одно и то же содержимое файла)
Команда, которую вы пытались:
if [ -h /path/to/file ]
поможет вам определить, является ли файл символической ссылкой или нет, например:
$ touch newfile
$ ln -s newfile newlink
$ for f in newfile newlink; do
if [ -h "$f" ]; then
echo "$f is a symlink"
else
echo "$f is not a symlink"
fi
done
newfile is not a symlink
newlink is a symlink
Если вы имеете в виду: «как я могу узнать, будет ли ввод какой-либо команды выполнять псевдоним», тогда вы можете использовать type
или alias
, например
$ type ls
ls is aliased to `ls --color=auto --format=across'
$ type less
less is /usr/bin/less
Если вы спрашиваете о жестких ссылках, find -inum
и ls -i
могут помочь, но это более сложная тема.