Командная строка: создайте ссылку на папку и получите доступ к файлам в этой папке

Я хочу сделать это:

  • Создайте ссылку на папку.
  • Поместите эту ссылку в домашний (~) каталог
  • Доступ к файлам в связанной папке из домашнего каталога (~/LinkToFolder/file)

Каков наилучший способ?

Главная проблема. У меня есть набор скриптов, которые лежат в определенной папке в локальном клоне репозитория git. Я хочу получить к ним доступ из домашнего каталога очень простым способом.

perl ~/LinkToFolder/myWorkScript.pl param1 param2

Ответы (1)

Вы можете сделать это с помощью Symlinks :

ln -s /path/to/original/location /path/to/intended/shortcut

Например, если вы хотите, чтобы ~/Scripts переходил в ~/Dropbox/Documents/Scripts, вы можете сделать…

ln -s ~/Dropbox/Documents/Scripts ~/Scripts

Затем open ~/Scripts/test.shоткроет файл в ~/Dropbox/Documents/Scripts/test.sh.

Чтобы увидеть символическую ссылку, вы можете запустить ls -laPGh ~/Scripts.

Например, моя папка «Мобильные документы» имеет символическую ссылку как iCloud, поэтому…

ls -lapGh ~/iCloud
lrwxr-xr-x@ 1 grgarside  staff    41B 12 Nov  2012 iCloud -> /Users/grgarside/Library/Mobile Documents
хороший ответ, но я хочу добавить, что я должен указать абсолютный путь в качестве исходного местоположения :) Пожалуйста, добавьте эту информацию, чтобы ответить
@gaussblurinc Он также должен работать с относительными путями и с ~ (он будет расширен оболочкой). Какая проблема возникла у вас?
@Matteo Я иду в свой каталог и делаю ln -s Scripts/ ~/Scripts. У меня эта штука не сработает, кажется, что симлинк не указывает на оригинал :(
@gaussblurinc: ln -s THE_File_or_DIR_POINTED_AT The_NEW_SYMLINK. Таким образом, ln -s /path/to/Scripts ~/Scriptsв вашем домашнем каталоге будет создана символическая ссылка «Сценарии», указывающая на /path/to/Scripts. Не используйте «~» где-либо еще (например, в первом параметре), так как его можно использовать только в некоторых условиях, но не всегда. «~» оценивается в вашем домашнем каталоге только в особых (общих) случаях, но не всегда.
@gaussblurinc: не будет также ls -al /the/symlinkсписка самой символической ссылки. ls -al /the/symlink/[обратите внимание на конец /] выведет список содержимого каталога, на который указывает. Т.е. остерегайтесь некоторых особых побочных эффектов использования символической ссылки.