У меня много инструментов командной строки, которые я часто использую. Я использовал обычный метод для прохождения до полного пути этой команды через терминал, а затем сделал ./command-name. Но это громоздкая и трудоемкая задача.
Изучение темы «Как выполнить команду из любого места через терминал », я оказался в решении включить путь в переменную среды (путем редактирования ./bashrc).
Это отлично работает.
Я даже обнаружил, что все команды, работающие глобально (например, mkdir, ifconfig, cp и т. д.), помещаются в каталог «/ bin».
При включении «символических ссылок» моих команд в каталог «/ bin» все работает нормально, и я могу выполнять команды из любого места в терминале.
My Question [!d6 ] Безопасно ли размещать символические ссылки в каталоге / bin напрямую. Я спрашиваю об этом, потому что, размещая символические ссылки, он попросил меня ввести пароль администратора. Будет ли это иметь какую-либо разницу, если я помещаю символические ссылки команд в / bin по сравнению с / usr / bin?
Мой вопрос
Ubuntu 13.10, 32-bit.
Прежде чем ответить на ваш вопрос, позвольте мне немного объяснить «как это работает».
В вашей системе у вас есть Environment Variables. Одна из них PATH variable, которая хранит набор каталогов, где находятся исполняемые программы и скрипты. В Linux по умолчанию PATH хранит несколько каталогов. Один из них /bin. Вот почему вы можете выполнить любую программу, которая находится в /bin. Вы можете проверить свою переменную PATH, выполнив это:
echo $PATH
В PATH важна переменная последовательность каталогов. Сначала указываются имена путей с наивысшим приоритетом.
Теперь, отвечая на ваши вопросы:
Да, можно создать символическую ссылку в /bin. Конечно, если вы не переписываете другие исполняемые файлы. Но вы должны предпочесть использовать /usr/local/bin. Это также должно быть в вашем PATH. Да. В зависимости от порядка в PATH. Например, если вы помещаете символические ссылки разных файлов, но с тем же именем, что и /bin и /usr/bin, и /usr/bin, включенные в PATH раньше, чем /bin, тогда он будет использовать символическую ссылку из /usr/bin.Вы можете прочитать о иерархии файловой системы Environment Variables
О переменных среды Ubuntu здесь
Кроме того, разница между теми каталогами, которые есть для программ суперпользователя.