Я блуждал в сети и видел это о том, как установить атом, новый текстовый редактор:
$ curl -sL https://packagecloud.io/AtomEditor/atom/gpgkey | sudo apt-key add -
$ sudo sh -c 'echo "deb [arch=amd64] https://packagecloud.io/AtomEditor/atom/any/ any main" > /etc/apt/sources.list.d/atom.list'
Я просто хотел знать то, что на самом деле делают эти команды. Что делает curl
?
Я также читал sh
был о выполнении некоторого экземпляра оболочки, но для какой, что эта команда делает возможным, например, и что это делает конкретно здесь?
Как домашняя страница говорит, curl
a
инструмент командной строки и библиотека для передачи данных с URL
Значительно simplyfing, это позволяет Вам загружать файл с (веб-) сервера.
Вы могли получить тот же результат путем открытия https://packagecloud.io/AtomEditor/atom/gpgkey
с браузером и затем сохранением на диск отображенного файла.
Выполнение sh
открывает новую оболочку. Путем это используется, здесь должен выполнить список команд (через -c
флаг) в новой оболочке с полномочиями пользователя root ( sudo
часть).
sh -c
часть необходима из-за перенаправления (> /etc/apt/sources.list.d/atom.list
). Как файл /etc/apt/sources.list.d/atom.list
полномочия пользователя root потребностей, которые будут записаны в, Вы не можете просто сделать sudo echo ... > file
, поскольку перенаправление не "наследовало" полномочия от sudo
часть. Необходимо перенести целое echo
+ >
это в новом экземпляре оболочки. Это несколько эквивалентно этим отдельным шагам:
sudo sh
открыть новую оболочку с полномочиями пользователя root;echo "deb [arch=amd64] https://packagecloud.io/AtomEditor/atom/any/ any main" > /etc/apt/sources.list.d/atom.list
записать новую строку в atom.list
файл;exit
вернуться к Вашей оболочке обычного пользователя.$ curl -sL https://packagecloud.io/AtomEditor/atom/gpgkey | sudo apt-key add -
Это - на самом деле две команды.
curl -sL https://packagecloud.io/AtomEditor/atom/gpgkey
загружает ключ GPG с PackageCLoud для Редактора Atom репозиторий.
sudo apt-key add -
добавляет это к apt
таким образом, это может распознать и проверить подписи репозитория GPG на пакетах.
$ sudo sh -c 'echo "deb [arch=amd64] https://packagecloud.io/AtomEditor/atom/any/ any main" > /etc/apt/sources.list.d/atom.list'
Легче, если мы разделяем его на его три составных части.
sudo
выполняется sh
управляйте как суперпользователь.
sh -c
указывает для выполнения определенной команды в sh
оболочка.
'echo "deb [arch=amd64] https://packagecloud.io/AtomEditor/atom/any/ any main" > /etc/apt/sources.list.d/atom.list'
команда, выполняемая sh -c
который создает отдельную запись репозитория в /etc/apt/sources.list.d/atom.list
так, чтобы, когда Вы делаете sudo apt update
это проверит что репозиторий на данные пакета.
Для новичков:
sh (оболочка) является программой интерпретатора команд. Как Bash "Граница Снова Оболочка" является оболочкой Проекта GNU.
завихрение или ЗАВИХРЕНИЕ являются проектом программного обеспечения, обеспечивающим библиотеке и инструменту командной строки для передачи данных с помощью различных протоколов. ВИХРЕВОЙ проект производит два продукта, libcurl и ЗАВИХРЕНИЕ. Это было сначала выпущено в 1997. Имя обозначает "Клиентский URL".