Я - электрический и инженер по вычислительной технике, который недавно начал использовать Ubuntu 16.04 для изменения Компьютера на модуле (COM) на базе Android для удовлетворения потребностям нового продукта, я продолжаю работать для компании, на которую я работаю.
Естественно, разработка Android на уровне, я продолжаю работать (HAL, ядро, и т.д.... не так 'приложения' в этой точке), кажется, не является соответствующей на платформе, я являюсь самым довольным (Windows), таким образом, это сделало большую часть количества смысла переместиться в Ubuntu, очень много поддерживаемой платформы с точки зрения разработки Android.
Теперь к более соответствующей части.
У меня нет проблемы с помощью Ubuntu (установка, и конфигурация была бризом), и знают об интерфейсах командной строки не понаслышке как Терминал, который я очень предпочитаю использовать и "осваивать".
Однако мое самое большое препятствие в "освоении" терминала не является синтаксисом или даже самими различными двоичными файлами/пакетами, но находящий те двоичные файлы/пакеты!
Я использовал человека и информацию экстенсивно, но те команды только помогают, если Вы знаете команду/функцию, Вы ищете заранее, и даже при том, что ищущие способности и человека и информации являются большими, я все еще чувствую, что испытываю недостаток в индексе того, что доступно мне.
Суммировать и ясно перечислить мои вопросы:
Существует ли "список" всего, что я могу зайти в терминал, который является динамичным и адаптируется к текущему набору пакетов/двоичных файлов/функций, в настоящее время устанавливаемых?
Где точно различными являются установленные сохраненные пакеты? Я посмотрел в / мусорном ведре/, но это, кажется, только часть того, что доступно мне./bin/, кажется, имеет много базовых двоичных файлов, но другие на вид базовые двоичные файлы как информация и whatis, кажется, отсутствуют. Аналогично, ни один из моих установленных пакетов, полученных через Кв., ни склонных саму, не присутствует.
Дополнительный Кредит, Какие мыслительные процессы должны отличаться в среде Linux в противоположность среде Windows? Как, где там переменная среды пути, указывающая, где система будет искать двоичные файлы? Есть ли эквивалент "Программные файлы", или, "Добавьте и Удалите Программы" (только для перечисления, что установлено!)? Какие-либо другие "проподсказки" для сведущего парня/разработчика Windows, но совершенно незнакомого человека для Linux?
Это - мое первое сообщение на любом веб-сайте Exchange Стека, поэтому простите мне, если я нарушил какие-либо правила или принял этикет. Я прочитал инструкции, и не думайте, что я нарушаю любого из них! В любом случае любая справка значительно ценилась бы!
Спасибо.
Существует ли "список" всего, что я могу зайти в терминал, который является динамичным и адаптируется к текущему набору пакетов/двоичных файлов/функций, в настоящее время устанавливаемых?
Да! Если Вы используете bash
как Ваша оболочка (который я принимаю, поскольку это - стандартная оболочка) можно нажать TAB
дважды, который даст Вам полный список команд, которые можно выполнить (остерегайтесь этого, это может быть довольно длинно).
Править: Я узнал, что нажимающая вкладка дважды без любых символов только работает, когда удар использует свою конфигурацию по умолчанию - не одна Ubuntu. Таким образом, можно хотеть работать bash --norc
. Нажатие TAB
дважды должен работать затем.
Другая альтернатива была бы установкой и настройкой zsh
или fish
которые являются хорошими заменами для удара и предлагают больше функциональности. (Я предпочитаю рыбу, потому что она обеспечивает хорошее автозавершение, когда Вы вводите.)
Где точно различными являются установленные сохраненные пакеты? Я посмотрел в / мусорном ведре/, но это, кажется, только часть того, что доступно мне./bin/, кажется, имеет много базовых двоичных файлов, но другие на вид базовые двоичные файлы как информация и whatis, кажется, отсутствуют. Аналогично, ни один из моих установленных пакетов, полученных через Кв., ни склонных саму, не присутствует.
Вы видите, где Ваша оболочка ищет установленные программы:
$ echo $PATH
/home/niklas/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/niklas/.gopath/bin:/home/niklas/.gopath/bin
(Обратите внимание, что это может выглядеть немного отличающимся для Вас.)
Сегодня, большинство исполняемых файлов расположено в /usr/bin
согласно FHS.
Если Вы хотите знать, где одна конкретная программа расположена, использовать which
:
$ which apt
/usr/bin/apt
Поскольку у меня нет большого опыта Windows, я не думаю, что могу ответить на последнюю часть вопроса, но:
$PATH
"переменная среды пути, указывающая, где система будет искать двоичные файлы"./usr
. (Это разделяется на исполняемые файлы (/usr/bin
), библиотеки (/usr/lib
), и совместно используемые файлы (/usr/share
). Документация находится в /usr/share/doc
.) Для списка всех функций можно использовать compgen -A function
, но набор их является функциями автоматического заполнения, которые программы используют внутренне, и пользователь никогда не использовал бы. Они все запускают с подчеркивания, так чтобы проигнорировать их, сделать:
compgen -A function | grep -v "^_"
Для наблюдения определения функции используйте type $function_name
. type
может также сказать Вам, где данный двоичный файл/сценарий хранится, и является ли команда двоичным файлом, сценарием, псевдонимом, функцией, и т.д.
Также полезный: type -a
покажет, существует ли команда в различных местах или в различных формах. Например, выполненный type -a [
и Вы получите это:
[ is a shell builtin
[ is /usr/bin/[