Символические ссылки с ls, mv: принуждение функций к использованию «логических» адресов (запоминание исходного пути)

Похоже, что для многих базовых функций, работающих с символическими ссылками, физический путь используется по умолчанию. Однако cd работает отлично. При перемещении в символическую ссылку cd запоминает, откуда я пришел, поэтому использует логический адрес символической ссылки (см. Соответствующую запись для примера: symlinks и cd ).

Такие функции, как ls, частично работают именно так. Если я перечислил содержимое каталога, нажав вкладку ($ ls ../ {tab}), он отобразит содержимое каталога, в котором находится символическая ссылка, но если вы выполните команду ($ ls ../ {enter}) в каталоге Список содержимого находится на физическом пути. Есть ли способ заставить команды, такие как ls, mv, rm и т. Д. Работать как cd, и запомнить логический путь для символической ссылки?

Спасибо за любой совет.

Это оболочка, которая создает иллюзию, что символическая ссылка, указывающая на каталог, представляет собой реальный каталог, основанный на местоположении символической ссылки. cd по необходимости является встроенной оболочкой, а завершение табуляции также является функцией, выполняемой оболочкой. Поскольку cd выполняется оболочкой, он знает о символической ссылке и может поддерживать иллюзию. Большинство команд Unix не реализованы оболочкой и, следовательно, не имеют способа узнать, что вы прошли символическую ссылку для доступа к текущему каталогу. Поскольку эти команды ( ls , mv , rm и т. Д.) Не могут знать о символической ссылке, они не могут поддерживать иллюзию.