2016-10-26 1 views
1

Я заметил, что установка grunt-cli сделала это. Это похоже на символическую ссылку или что-то подобное.Что означает -> означает и почему они находятся в этой папке?

lrwxr-xr-x 1 root admin  39 Jan 9 2016 grunt -> ../lib/node_modules/grunt-cli/bin/grunt 
lrwxr-xr-x 1 root admin  28 Nov 3 2015 heroku -> /usr/local/heroku/bin/heroku 
-rwxrwxr-x 1 root wheel 23369552 Dec 23 2015 node 
lrwxr-xr-x 1 root admin  38 Jan 10 2016 npm -> ../lib/node_modules/npm/bin/npm-cli.js 
lrwxr-xr-x 1 a  admin  64 Mar 22 2016 subl -> /Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl 
-rwxr-xr-x 1 root wheel  75 Apr 28 06:32 vbox-img 
-rwxr-xr-x 1 root wheel  77 Apr 28 06:32 vboxwebsrv 

Что еще более важно, почему это делается?

/usr/local/bin/grunt -> /usr/local/lib/node_modules/grunt-cli/bin/grunt 
+0

Все узловые модули хранятся в отдельном месте, а/usr/local/bin/будут в PATH, поэтому файл можно легко найти из оболочки. – Clay

ответ

0

Действительно, -> указывает файл является «символической ссылкой» (он же «symlink») - то l перед разрешениями также является показателем его типа. По существу filename a перенаправляет на имя файла b в его местоположении ... a -> b.

Вы можете создать символическую ссылку просто выполнив:

$ ln -s <target> <original> 

При создании символической ссылки это обратная a -> b. (Другими словами, при создании символической ссылки вы бы «ссылка символически (пер -s) <target> (б) <original> (а)») ...

Почему /usr/local/bin/grunt идет в /usr/local/lib/node_modules/grunt-cli/bin/grunt является то, что вы должны спросить разработчик, хотя я думаю, что делать:

$ grunt 

... это гораздо удобнее, чем делать:

$ /usr/local/lib/node_modules/grunt-cli/bin/grunt 

Если ссылка не была указана, как в /usr/local/bin тогда вы будь нам в последнем ...

+0

Исправить. Если файл находится в каталоге, принадлежащем root, вам нужно использовать 'sudo ln -s' ... –

Смежные вопросы