В Linux терминал играет гораздо более важную роль, нежели командная строка в системах Windows. И, хотя большинство действий можно выполнять с помощью графической оболочки, нет-нет да и придется нырять в терминал.
Установка программ
Одна из самых востребованных и удобных операций, которые выполняют в коммандной строке — это установка программ. Если вам приходилось работать с такими программами, как Ubuntu Software Center, или Synaptics Package Manager — все они красивые оболочки, запускающие, по мере необходимости, те-же самые консольные програмы.
В консоли, вы можете одной строкой, в считанные секунды, установить сразу несколько программ, что в случае с программой с графической оболочкой у вас-бы отняло гораздо больше времени на поиск, установку чекбокса возле нужной программы и ожидания окончания самого процесса установки.
Например, для того, чтоб одним махом установить браузеры Mozilla Firefox, Chromium и Opera, достаточно выполнить одну команду:
sudo apt-get install firefox chromium-browser opera
- Терминал Linux. Как сохранить в файл …
- Терминал Linux. Команды просмотра …
- Терминал Linux. Как сохранить в файл …
- Терминал Linux. Как сохранить в файл …
В предыдущей команде использована комнда sudo, которая позволяет выпонить следующую за ней команду с правами «Рута» (супер администратора в мире Linux). За ней идет команда apt-get, которая принимает в качестве параметров install firefox chromium-browser opera, что означает «установи все программы, идущие после параметра install».
Обратите внимание. Вам не нужно беспокоиться о зависимостях, которые нужны для нормальной работы устанавливаемых программ — все они будут установлены автоматически.
Таким образом, сразу после установки Ubuntu, или другого дистрибутива, одной командой вы можете установить все необходимые программы — все, что для этого нужно — это знать название пакетов. Даже, если вы не помните название пакета, вам на помощь прийдет на помощь функция автозавершения, рассмотренная далее в статье.
Back to top
Зачем нужен Терминал?
Есть три причины, которые делают Терминал незаменимым инструментом для исследователей, анализирующих большие массивы данных:
- он позволяет программировать манипуляции с файлами и папками в операционной системе
- Внутри него можно запускать другие программы и программировать их взаимодействие друг с другом
- Через него осуществляется работа с серверами и суперкомпьютерами, позволяющими анализировать гигабайты данных в сотни раз быстрее, чем на персональном компьютере
Разберем каждый из этих аспектов подробнее.
Терминал, как манипулятор файлов и папкок
Большинству пользователей нет необходимости использовать Терминал благодаря графической оболочке их операционной системы. Однако, без него не обойтись, когда речь идет о манипуляциях с файлами и папками более сложными, чем: «скопировать документ из одной папки и вставить в другую». Я приведу простой пример, показывающий ограниченность использования графической оболочки операционной системы.
Допустим, мне нужно переименовать фотографию и добавить к текущему названию дату, когда эта фотография была сделана. Что может быть проще, скажите Вы: «открой свойства файла, скопируй дату создания файла, закрой окно «Свойства» и вставь дату в название файла». Так и есть, все довольно просто, вот только повторить это действие нужно для всех фотографий на моем компьютере (а их у меня более 25 тысяч). Очевидно, что если я буду делать это подобным образом, то это задание отнимет у меня несколько недель.
Решение этой же задачи в Терминале займет не более получаса даже у начинающего пользователя. Фокус в том, что в Терминале пользователь может программировать действия, делегируя компьютеру рутинную работу. В разных типах эмуляторов терминала – разные языки программирования, но вероятно самым распространенным в наши дни является язык bash (о нем скоро будет отдельная статья).
Использование Терминала для создания скриптов
Другая важная особенность эмуляторов терминала – это возможность запуска в нем других программ, чтобы автоматизировать процессы в программах и обеспечить автономное взаимодействие между ними. Если входные и выходные данные этих программ оформить в виде файлов, то Терминал сможет запускать последовательно программы. Алгоритм будет напоминать цепочку из таких действий: запустить программу А, загрузить туда входные данные (файл А), экспортировать результаты анализа в файл B, закрыть программу A, запустить программу B, загрузить туда файл B, ну и так далее…
Таким образом, миллионы файлов могут быть проанализированы автоматически и в быстрые сроки. Эта особенность делает Терминал незаменимым инструментом среди биоинформатиков, генетиков и эволюционных биологов, работающих с геномами организмов, которые в оцифрованном виде представляют из себя множество текстовых файлов оформленных в разных форматах.
Управления суперкомпьютерами и серверами через Терминал
Терминал является не только окном в операционную систему персонального компьютера, но также и в операционную систему сервера или суперкомпьютера, который может находиться в тысячах километров от Вашего текущего месторасположения. Через эмулятор терминала на суперкомпьютер можно подавать алгоритмы (bash-скрипты), выполнение которых на Вашем компьютере могло бы занять неделю. Благодаря своей мощности суперкомпьютер проведет расчёты за считанные часы. Подобный подход позволяет проводить анализ больших массивов данных в кратчайшие сроки.
Как правило, на суперкомпьютерах и серверах стоят версии операционной системы Linux. Так как различий между эмуляторами терминала на Линуксе и на Маке практически нет, в дальнейших статьях я буду писать только об эмуляторах терминала, работающих на языке программирования bash (например, программа Terminal).
Оболочки, Bash, echo Linux
В терминале у вас есть то, что называется оболочкой. Это часть операционной системы, которая определяет, как будет вести себя терминал, и будет выглядеть после запуска (или выполнения) команд для вас.
Доступны различные оболочки, но самая распространенная из них называется bash, что означает «Bourne again shell». В этом руководстве предполагается, что вы используете bash в качестве оболочки.
- Команда tee Linux | Losst
- КАК СОХРАНИТЬ РЕЗУЛЬТАТ КОМАНДЫ В …
- Вывод в файл Bash в Linux | Losst
- Ubuntu / Linux …
Если вы хотите узнать, какую оболочку вы используете, вы можете использовать команду echo, чтобы отобразить системную переменную с указанием вашей текущей оболочки. echo — это команда, которая используется для отображения сообщений.
Форматирование HDD через терминал на Ubuntu/Debian
Для форматирования разделов дисков в системе используем команду parted.
Будьте внимательны с данной командой, т.к. она может затереть весь ваш диск.
Для начала определяем с каким диском мы будем работать. Для этого набираем все ту же нами знакомую команду lsblk
После вывода информации определяем наш диск и набираем:
sudo parted /dev/sdb
где sdb — это наш диск
Далее создаем новую таблицу разделов:
(parted) mklabel msdos
После можно создавать разделы. Если вам нужно создать один большой раздел, который будет занимать весь объем диска, то команда будет такой:
(parted) mkpart primary ext4 1MiB 100%
Если же вы хотите создать несколько разделов на диске, то последовательность команд будет следующей:
(parted) mkpart primary ext4 1MibGB 5GB (parted) mkpart primary ext4 5GB 20GB (parted) mkpart primary ext4 20GB 100%
После данной команды у вас будут три раздела с соответствующими размерами в 5 Гб, 15 Гб, а третий займет все оставшееся пространство на данном диске.
Для вывода информации набираем:
(parted) print
Если вас все устраивает, то выходим из программы форматирования:
(parted) quit
Давайте теперь отформатируем получившиеся разделы в файловую систему ext4:
sudo /dev/sdb1
или в случае с несколькими разделами диска:
sudo /dev/sdb1 sudo /dev/sdb2 sudo /dev/sdb3
После данной процедуры разделы готовы к использованию. Только не забудьте предварительно примонтировать их к системе.
Каналы
Каналы используются для перенаправления потока из одной программы в другую. Стандартный вывод данных после выполнения одной команды перенаправляется в другую через канал. Данные первой программы, которые получает вторая программа, не будут отображаться. На дисплей терминала будут выведены только отфильтрованные данные, возвращаемые второй командой.
Пример
В результате каждый файл текущего каталога будет размещен на новой строке:
Перенаправлять данные с помощью каналов можно как из одной команды в другую, так и из одного файла к другому, а перенаправление с помощью > и >> возможно только для перенаправления данных в файлах.
- Wine на Linux Mint 19.1 …
- Как создать файл в треминлале
- Командная строка | Русскоязычная …
- Как сохранить вывод команды в файл с …
Пример
Для сохранения имен файлов, содержащих строку «LOG», используется следующая команда:
Вывод команды dir отсылается в команду-фильтр find. Имена файлов, содержащие строку «LOG», хранятся в файле loglist в виде списка (например, , и ).
При использовании нескольких фильтров в одной команде рекомендуется разделять их с помощью знака канала |.