у меня компьютер низкого уровня, и я хочу установить на нем ubuntu для изучения команд Linux, поэтому мне интересно, есть ли какие-либо проблемы или различия между командами ubuntu-mate и ubuntu
Пакет mainline
можно использовать для установки драйвера ядра 5,11,0 и 460,56
nvidia. Эта комбинация работает. Только что подтверждено здесь, хотя я вижу более поздние версии ядра доступны, может проверить позже, если необходимо.
Я хочу объяснить, что @ Aenfa говорит немного больше. Просто чтобы вы его поняли (исправить проблему - это хорошо, но понять, что вы сделали не так, лучше).
Начнем с установки завитка:
Вы сделали следующее: sudo apt install curl -sSL...
Что вам нужно сделать: sudo apt install curl
Почему? Поскольку -sSL
являются опциями для завитка. Поэтому при использовании команды завитков
можно включить/использовать некоторые из имеющихся в ней опций (то есть быть: -s
для бесшумного режима, -L
для отсутствия индикатора выполнения и -S
для отображения ошибок при использовании -s
). Они называются флагами и используются постоянно. Для команды, выполняющей команду man [[command]]
, отображаются доступные флаги (и общее использование). Так что в данном случае человек сворачивает
.
При установке чего-либо (в данном случае завитки
) можно просто выбрать то, что требуется установить, указав имя. Так, например, sudo apt install curl
. Или sudo apt install wget
. Или sudo apt install nano
. Ты понял. -sSL
является частью команды завитка, и при установке завитка этот флаг не используется. Вы использовали apt
. И apt
не поддерживает флаг -s, -S и -L, поэтому он давал ошибки!
Теперь я
часть:
Это немного труднее, поэтому я предлагаю вам посмотреть его вверх. Поиск linux piping объясняется
. Потому что он называется piping. Вы неправильно поняли |
для I
. При прокладке трубопровода используется |
(shift, а затем клавиша, указанная выше, вводится на клавиатуре).
В этом и была проблема. Вы пытались передать данные, но использовали i
вместо |
. Все в порядке. Мы все ошибаемся!
Но что такое трубопроводы?
[[command 1]] | [command 2]] | [[command 3]]
Я снова предлагаю выполнить поиск, но короче говоря, вывод одной команды будет вводом для второй команды, а вывод второй команды будет вводом для третьей команды.
Пример:
cas@Waveserver:~$ echo "this is a test"
this is a test
cas@Waveserver:~$ echo "this is a test" | sed "s/test/joke/"
this is a joke
cas@Waveserver:~$ echo "this is a test" | sed "s/test/joke/" | grep -o "joke"
joke
Вывод эхо-команды прост. Это просто текст, который эхо.
Теперь мы направляем выходные данные на sed и заменяем тест
на шутку
. Таким образом, выход эха становится входом sed. Так что он способен заменить слово, потому что в его вводе присутствует слово test
.
Теперь выходной сигнал THIS будет передан команде grep.Это означает, что это шутка
будет входным сигналом для grep (обратите внимание, что я использую флаг! При выполнении man grep
и прокрутке вниз мы видим, что -o
означает -единственно-совпадающий
или «Печатать только совпадающую часть строки вместо того, чтобы отмечать совпадающий текст красным»). Итак, grep ищет во входном файле шутку
, которую он находит и которая будет выводом!
Так было выполнено три команды, но есть только один выход, потому что выходные данные 1-й и 2-й команд были (вместо вывода на терминал) перенаправлены на вход следующей команды в трубе.
В вашем случае вы скручивали сценарий (используемый для установки pi-hole) и трубопроводы, которые к команде bash
, что в основном означает: «запустить сценарий». Итак:
[[get the script]] | [[run it]]
Можно передать столько команд, сколько требуется. В нескольких сценариях, которые я написал, у меня есть 8 команд все piped после eachother, и в других случаях я просто 1 или 2 команды piped!
Надеюсь, вы поймете это сейчас!
EDIT: Вот один из тех длинных каналов, которые я нашел где-то внутри моих сценариев!
curl -s -L https://plex.tv/pms/downloads/5.json | jq -M | grep -PA 3 «Ubuntu. *? 64-bit» | tail -n 1 | grep -Po «\»\Http. *? (? =\«) »
[[свернуть веб-страницу, содержащую информацию об обновлениях для плексного медиасервера]] | [[довольно-распечатать выходные данные json]] | [захватить последовательность и три строки ниже (-.. A 3), что последовательность]] | [[из этих выходных данных, показать только нижнюю строку]] | [[захватить url, который находится внутри строки]]
Помимо некоторых различий в gsettings
, командной строке, вы не смотрите на реальное отличие (очевидно, не считая команды запустить графический прикладной).