Переход на Linux. Работа в консоли

13.05.2019

Необходимость работать в текстовой консоли — тот самый утес, о который чаще всего разбиваются благие намерения пользователей, пожелавших быстро освоить Linux. Причем, как правило, еще до того, как они попытаются хотя бы попробовать установить систему. Миф о недружелюбности командной строки так прочно укоренился в массовом сознании, что разрушить его не просто.

Однако это действительно не более чем миф, который можно придумать про что угодно. Хотя бы про обычную компьютерную клавиатуру. Тот, кто видит ее впервые в жизни, будет немало удивлен тому, что кнопки располагаются не по алфавиту. И наверняка такое решение покажется ему весьма странным, поскольку поначалу каждую букву приходится довольно долго искать.

Тем не менее никому не приходит в голову разместить клавиши каким-то иным способом. Поскольку удобство именно такого на первый взгляд недружественного интерфейса давно доказано и не вызывает сомнений. А уж если освоить набор вслепую, то временные затраты на изучение окупятся многократно.

Как и в случае с клавиатурой, неприятие командной строки чаще всего носит не технический, а психологический характер. Работа в консоли — не вынужденная мера, вызванная отсутствием “нормальных” средств, и не бравада “продвинутых” пользователей, а самый быстрый и удобный интерфейс для решения ряда задач.

В чем же ее достоинства? Прежде всего — в универсальности. Независимо от того, какой дистрибутив вы используете, базовые команды будут одни и те же. Нельзя забывать и о том, что текстовый режим устойчивее графического. Вспомните хотя бы знаменитый BSoD (“синий экран смерти”) в Windows. Надпись почему-то отображается именно в консоли, а не в красиво прорисованном окне.

Поскольку графический интерфейс Linux — это по сути дела обычная прикладная программа, то ее неработоспособность не приводит к общему краху системы. Если пользователь не боится текстового режима, то он быстро внесет необходимые изменения в соответствующий конфигурационный файл и заново запустит систему. В противном случае придется прибегнуть к полной ее переустановке, что значительно дольше.

Наконец, консольные команды удобны при выполнении некоторых рутинных операций. Ведь компьютер и придуман для автоматизации рабочего процесса. Разумеется, для того чтобы работа в консоли была эффективной, пользователю придется потратить немного времени на изучение стандартных команд Linux. Но оно компенсируется довольно быстро.

Перейти в режим командной строки можно двумя способами. Первый — активация текстовой консоли. Для этого следует нажать комбинацию клавиш Ctrl+Alt+F[номер консоли]. Появится строка приглашения на регистрацию в системе, где нужно последовательно набрать логин и пароль. Второй способ - открытие консоли непосредственно в оконном менеджере. При этом пользователь продолжает работать в графическом режиме. Важно понимать, что и в первом, и во втором случаях все запущенные программы будут продолжать нормально функционировать.

Если с запуском терминала в графическом режиме всё понятно, то активация дополнительных консолей может вызвать ряд вопросов. Какую конкретно функциональную клавишу надо нажать? Сколько консолей может функционировать одновременно и можно ли изменить их количество? Как вернуться обратно в графический интерфейс?

Как правило, по умолчанию доступно шесть текстовых консолей. Поскольку поддержание каждой требует примерно 4 Мб памяти, то на слабых машинах их число желательно уменьшить. Для этого следует открыть файл /etc/inittab с правами администратора системы, найти секцию, состоящую из записей вида “2:2345:respawn:/sbin/mingetty tty2”, каждая из которых соответствует одной консоли, и поставить знак комментария (#) напротив лишних. Количество строк в этой секции равно числу текстовых консолей. Причем в большинстве дистрибутивов одна из них служит не для регистрации пользователя, а для системных сообщений. Не правда ли, очень удобно в случае каких-либо неполадок: история болезни всегда доступна.

Первая цифра в строке — это номер консоли и соответственно номер функциональной клавиши, которую надо использовать в комбинации для ее вызова. Для переключения текстовых консолей нужно нажимать не Ctrl+Alt+F[номер консоли], а просто Alt+F[номер консоли] - клавиша Ctrl применяется только в графическом режиме.

Для возврата в графический интерфейс следует активировать соответствующую консоль. Ее номер на единицу больше того, что был последним прописан в /etc/inittab. Например, если используется шесть текстовых консолей, то оконный менеджер запущен на седьмой.

При работе в текстовом режиме визуальный маркер начала строки может быть двух видов: знак диеза (#) и знак доллара ($). Первый указывает на то, что пользователь работает под именем root и ему открыты все файлы системы. В этом случае необходимо проявлять особую осторожность — необдуманные действия чреваты серьезными последствиями.

Обычный пользователь обозначается знаком доллара. Тут тоже есть небольшой нюанс. Концепция ограничения прав доступа приводит к тому, что некоторые команды, выполнение которых подразумевает расширенные полномочия, откажутся запускаться. Причем специфика UNIX такова, что никаких подсказок или пояснений на экране не появится — предполагается, что человек полностью контролирует систему и нисколько не нуждается в помощи программ, от которых требуется только беспрекословное выполнение распоряжений хозяина.

С другой стороны, ищущий дополнительную информацию всегда ее найдет. Одна из самых главных и часто используемых команд — man [имя]. Она выведет на экран справочное руководство, посвященное какому-либо объекту системы, название которого указывается в качестве аргумента. Разумеется, информация берется не из воздуха, а из файла, для чего он должен физически присутствовать на диске. Обратите на это внимание - некоторые разработчики пытаются уменьшить объем дистрибутива, не включая в него страницы помощи. В этом случае их надо установить отдельно.

Поскольку man — точно такой же объект системы, как и все остальные, справку по нему можно получить, набрав команду man man. По всей видимости, пользователю, первый раз загрузившему Linux, следует начать именно с нее.

Каждое руководство состоит из разделов, называемых полями. Поле NAME предназначено для краткой информации об объекте. В поле SYNOPSIS содержатся сведения о способах запуска программы. И наконец, поле DESCRIPTION — это подробное описание.

Но что делать пользователю, если он пока не знает, какая программа может выполнить его задание? Воспользоваться командами apropos или whatis. Они предназначены для поиска информации в руководствах. Различие между ними заключается в том, что первая осуществляет поиск по всей базе, а вторая — только по именам объектов, содержащихся в поле NAME. Очевидно, что одна работает медленнее, но выдает больше сведений, чем другая.

Чаще всего в текстовом режиме выполняются операции по настройке системы. Означает ли это для пользователя, что ему придется активировать новую консоль комбинацией Ctrl+Alt+F[номер консоли]? Вовсе нет: в большинстве случаев графический режим покидать не обязательно.

Для того чтобы запустить какую-либо программу с правами администратора, требуется открыть терминал и набрать команду su без параметров, затем система попросит ввести пароль пользователя root -- и полный доступ к файлам вам обеспечен.

Теперь рассмотрим несколько примеров, которые свидетельствуют о том, что командная строка придумана вовсе не для издевательства над пользователем, а, наоборот, для его удобства. Выполним ряд довольно популярных операций без помощи “меню и кнопочек”.

Допустим, вам требуется разбить файл на несколько частей, чтобы отправить его по электронной почте (исходный размер настолько большой, что сервер его не пропускает). Для этого необходимо использовать команду split. Она копирует файл, разбивая его на отдельные фрагменты заданного размера (по умолчанию — 1 Мб). В качестве аргументов следует использовать два имени: исходного объекта и префикса того, что получается на выходе.

Например, имеется большой видеоролик name.avi. Надо разбить его на части размером в 10 Мб. Команда будет выглядеть следующим образом: split -b1000k name.avi name. Первый аргумент указывает объем получаемого объекта, второй — имя исходного, третий - префикс имени результата. Таким образом, в результате операции будут получены файлы name.aa, name.ab, name.ac и т. д. Собрать кусочки воедино поможет команда cat name.* > name.avi.

Нередко у пользователя возникает необходимость сравнить два файла. Самый простой способ — воспользоваться командой cmp [имя первого файла] [имя второго файла]. Если объекты полностью совпадают, то программа молча завершит работу, ибо сообщить ей нечего. Если же она обнаружит какое-то отличие, то выдаст пользователю номер соответствующей строки.

Если требуется полный список несоответствий, то следует воспользоваться командой diff [имя первого файла] [имя второго файла] При этом программа выдаст на экран полный отчет.

В ряде случаев бывает удобно, чтобы информация о различиях не появлялась на экране, а сразу сохранялась в каком-либо файле. Для этого можно прибегнуть к функции перенаправления вывода, и команда будет выглядеть так: diff [имя первого файла] [имя второго файла] > [имя файла отчета].

Операция перенаправления вывода позволяет обратиться к помощи довольно простых на первый взгляд команд для существенного ускорения текущей работы -- например, по составлению полного списка всех файлов, входящих в каталог.

За просмотр содержимого директории отвечает программа ls. Чтобы результат ее работы сохранялся в файле, необходимо использовать уже известную нам возможность и набрать в консоли ls [имя каталога] > [имя файла, куда будет записана информация].

Наконец, последнее замечание. Пользователи часто сетуют на то, что работа в командной строке связана с повышенной нагрузкой на память. Мол, приходится держать в голове все названия служебных утилит. Это не совсем так — в большинстве случаев достаточно знать лишь несколько первых символов. По нажатии клавиши Tab оболочка сама попытается дописать полное название (или предложить варианты, если таковые имеются). ка

* Продолжение цикла “Linux для начинающих”. Начало см. в PC Week/RE, №№36-39 за 2007 г.

Кировского района

Лаборатория телекоммуникаций

Основные команды и утилиты

системной консоли

(ОС AltLinux )

Версия 1 от 01.01.2001г.

Команды терминала Linux

Здесь перечислены основные команды Linux, разбитые на категории. В конце приведены особенности работы с командной строкой и эмуляторами терминалов в Linux.

Запуск терминала в графическом режиме AltLinux: Прочее -> Система -> Konsole.

Получение справки о командах

· man
Описание команды или файла конфигурации. Синоним info. Описание листается стрелками, выход клавишей q.
Пример: man fstab

· apropos
Поиск по описаниям man.
Пример: apropos iso

Команды работы с файлами

· cd
Смена текущего каталога. cd ~ или просто cd всегда переходит в домашний каталог текущего пользователя.
Пример: cd /etc

· ls
Выводит список файлов и каталогов. В отличие от dir подсвечивает файлы по типу. С параметром - l выводить дополнительную информацию о файлах: права, влядельца, дату создания и т. д.
ls без параметров выводит содержимое текущего каталога.
ls /proc выводит все работающие процессы.

· mv
Перенос файла.

· cp
Копирование.

· rm
Удаление файла.

· mkdir
Создание каталога.

· rmdir
Удаление непустого каталога.

Права доступа к файлам и каталогам

· chgrp
Смена группы владельца.

· chmod
Смена прав.
Пример: сhmod - R 777 /var/www дает доступ всем ко всем файлам и каталогам ниже /var/www.

Работа с сетевыми подключениями

· ifconfig
Вывод полной информации о конфигурации сетевых интерфейсов.

· ping
Проверка доступности сетевого устройства.
Пример: ping 192.168.0.1

Для того, чтобы завершить процесс тестирования канала командой ping – необходимо нажать комбинацию клавиш ctrl+c.

Суперпользователь root

Пользователь root обладает неограниченными правами. Использование прав суперпользователя необходимо при установке драйверов, смене важных параметров Linux. Пароль пользователя root обычно запрашивается при установке дистрибутива.

Если вход в систему выполнен под обычным пользователем, то получить права суперпользователя в конкретном экземпляре терминала можно командой su , после ввода которой необходимо ввести пароль суперпользователя. Вернуться к сессии обычного пользователя можно командой exit.

Стандартные команды в Linux отличаются от команд DOS и Windows - обычно они короче. При работе с командной строкой как обычно мигающий курсор обозначает позицию ввода текста, командная строка начинается с текущего пути и имени компьютера, за которым следует символ $, % или #. Последний означает, что команды будут выполняться от имени суперпользователя root. Символ ~ означает путь к текущей домашней директории пользователя.

Большинство команд в Linux, не требующих вывода информации пользователю, в случае успешного завершения вообще ничего не выводят на экран. Выводятся только ошибки и предупреждения в случае нарушения нормального выполнения команды. Т. е. в Linux действует общий принцип “молчит, значит работает”.

В любом терминале Linux стрелками вверх/вниз на клавиатуре можно листать историю команд, которая сохраняется между сеансами работы и различается для разных пользователей и хостов (в случае подключения из командной строки к другому компьютеру по ssh). Набранное частично команда или имя файла или каталога в текущей директории может быть автоматически дописано клавишей TAB. Если найдено более одного варианта и однозначно продолжить команду по TAB невозможно, то выводятся все подходящие варианты.

При работе в графической среде удобны эмуляторы терминала. Как правило они поддерживают закладки - неcколько терминалов в одном окне, поддерживают цветовые схемы. Наиболее распространены эмуляторы терминала Gnome Terminal, Konsole, XFCE Terminal.

Команды консоли Linux, или как еще говорят командная строка, это своего рода промежуточное звено между пользователем и непосредственно компьютером. Для того, что бы машина выполнила ваш приказ, ей необходимо дать соответствующую команду. Изначально, именно так и происходили взаимоотношения человека с компьютером, а вот несколько позже, появился дополнительный инструмент мышка, которая значительно упростила весь процесс взаимообмена информацией и сделала его более доступным для всех пользователей. Тем не менее, консоль и на сегоднешний день, остается мощным и порой очень удобным инструментом для выполнения всякого рода действий.

Вообще, консольных утилит существует превеликое множество, но здесь мы в кратце, в качестве примера, рассмотрим лишь две из них, но очень важные и часто используемые. Утилита Apt-get , предназначенная для работы с программными пакетами. Для тех же, кто совершенно не признает консоль, может воспользоваться замечательной графической оболочкой для Apt-get , под названием Synaptic (имеется в официальном репозитории).

Как пользоваться утилитой?

//основная формула

sudo apt-get команда

//в качестве примера обновим все пакеты

sudo apt-get upgrade

Основные команды apt-get при работе с пакетами.

apt-get update //обновление инф. о пакетах из репозитариев
apt-get upgrade //обновление всех пакетов
apt-get dist-upgrade //обновление системы в целом
apt-get clean //чистит лок. хранилище, кроме файлов кэша
apt-get autoclean //тоже, что и clean , с удален. кэш-файлов
apt-get check //обновляет кэш и провер. неудовл. зависимости
apt-get autoremove //удаление ранее скачаных, но ненужных пакетов
apt-get remove //удаление пакета с сохран. конфигурац. файлов
apt-get purge //удаление пакета со всеми зависимостями
apt-get install //установка пакета
apt-get build-dep //устанавл. все для сборки исходных пакетов
apt-get source //скачивает пакеты с исходниками

Параметры:

-h, --help //справка
-q, --quiet //скрыть индикатор процесса
-qq //не показывать ничего кроме ошибок
-d, --download-only //только получить пакеты и выйти
-s, --simulate //выполнить симуляцию событий
-y, --yes //автом. отвечать "Да" на все вопросы
--reinstall //переустановить пакеты
-f, --fix-broken //исправить нарушенные зависимости
-m, --ignore-missing //игнорировать отсутствующие пакеты
-u, --show-upgraded //показать обновленные пакеты
--no-upgrade //не производить обновления пакетов
-b, --compile, --build //собрать пакет после получения
-D //при удалении, удалить зависящие компоненты
-V //подробно показывать номера версий пакетов
--no-remove //если пакеты отмеч. к удален., то apt-get выкл.
--force-yes //принудительное выполнение заданной операции

Прикол.

apt-get moo

Должны увидеть корову, которая спрашивает: "Вы мычали сегодня?"

Утилита "aptitude".

Рассмотрим еще одну очень хорошую утилиту под названием "aptitude ", фактически это тоже самое, что и "apt-get ", но считается лучше, а также имеет псевдо-графический интерфейс. Принцип работы точно такой же, только вместо "apt-get ", нужно вводить значение "aptitude ". Сначала установим саму утилиту:

sudo apt-get aptitude

Теперь, если набрать: aptitude , то попадете в интерфейс программы.

Рассмотрим некоторые команды:

// Установка пакета.

sudo aptitude пакет1 пакет2 пакет3

Как видите, устанавливать можно сразу неограниченное количество пакетов одновременно. Сколько бы вы их не устанавливали, aptitude автоматически разрешит все зависимости, вам останется только согласится (y) и нажать (enter) . Так же, по аналогии можно удалять пакеты:

sudo aptitude remove имя_пакета1
или
sudo aptitude purge имя_пакета1

Первая команда удаляет только файлы пакета, не трогая настройки, вторая удаляет полностью все. Посмотреть описание пакета можно так:

aptitude show имя_пакета

Вообщем, эта утилита абсолютный аналог "apt-get ", но при установке и удалении пакетов, желательно использовать ее, нежели "apt-get ". Во всяком случае, на официальном сайте Ubuntu дают именно такие рекомендации.

Другие команды консоли.

Список команд, относящихся к информации.

hostname //сетевое имя машины
whoami //имя текущего пользователя
uname -m //покажет архитектуру машины
uname -r //версия ядра
sudo dmidecode -q //информ. об аппарат. обеспечении системы
cat /proc/cpuinfo //информация о процессоре
cat /proc/interrupts //прерывания
cat /proc/meminfo //вся информация о памяти
cat /proc/swaps //вся информация про swap
cat /proc/version //версия ядра и другая информация
cat /proc/net/dev //сетевые интерфейсы и статистика
cat /proc/mounts //смонтированные устройства
cat /proc/partitions //доступные разделы
cat /proc/modules //загруженные модули ядра
lspci -tv //PCI устройства
lsusb -tv //USB устройства
date //текущая дата
cal //календарь и текущий месяц
cal 2012 //покажет весь 201х год

Команды, относящиеся к процессам перезагрузки и выключения.

shutdown -h now //выключить систему
init 0 //выключить систему
telinit 0 //выключить систему
shutdown -h hours:minutes & //запланировать выключение системы
shutdown -c //отменить запланированное выключение
shutdown -r now //перезагрузить систему
reboot //перезагрузить систему
logout //завершить сессию

Операции с файлами и не только...

cd /home //перейти в домашний каталог
cd .. //перейти на уровень выше
cd ../.. //перейти на 2 уровня выше
cd - //перейти в предыдущий каталог
pwd //показать путь к текущей директории
ls
ls -F //показать файлы и директории
ls -l //показ. подробности о файлах, директориях
ls -a //показать скрытые файлы
mkdir dir1 //создать директорию с именем dir1
mkdir dir1 dir2 //создать директории dir1 и dir2
mkdir -p /tmp/dir1/dir2 //создать директорию в указанном месте
rm -f file1 //удалить файл с именем file1
rmdir dir1 //удалить директорию с именем dir1
rm -rf dir1 //удалит директорию dir1 и всё её содержимое
rm -rf dir1 dir2 //удалить директории dir1 \dir2 и содержимое
mv dir1 new_dir //переименовать / переместить директорию
cp //копирование файлов/папок
ln -s //cоздать символическую ссылку
chmod //присвоение прав файлам

Поиск файлов и директорий.

Забыли, куда сохраняли? Не беда! В консоли найдётся всё.

find / -name file1 //искать файлы, дирек. начин. с /
find / -user user1 //искать файлы, директ. с user1
find /home/user1 -name \*.bin //искать файлы .bin в / home / user1
find /usr/bin -type f -atime +100 //иск. бин. файлы, незап. 100 дн.
find /usr/bin -type f -mtime -10 //иск. файлы созд./изм. за 10 дн.
find / -name \*.deb -exec chmod 755 "{}" \; //иск. файлы (.deb) и измен. права
locate \*.ps //найти файлы с расширением .ps
whereis halt //показать путь к программе halt
which halt //показ. полн. путь к програм. halt

На первый взгляд, все это может выглядеть несколько устрашающе, но это только на первый взгляд. Не стоит сразу бросаться в панику и сразу же, возвращаться к Windows (у). Современные дистрибутивы , а Ubuntu в особенности, вполне позволяет вам обходиться без командной строки. Тем не менее, командная строка, в отдельных случаях намного бывает удобней, чем графический интерфейс. Также, совсем необязательно заучивать все эти команды наизусть, достаточно будет создать текстовый файл, скопировать в него все содержимое и держать его поблизости, как шпаргалку, которой при необходимости можно воспользоваться.

Конечно, это далеко еще не все, что касается темы командной строки и непосредственно самих команд, если кого-то это реально заинтересовало, то могу посоветовать перейти по следующей ссылке, там можно много чего найти и скачать, вопрос только в том, а нужно ли это все вам. Я вообще сомневаюсь, что на сегодняшний день найдется хоть один человек во всем мире, который бы знал на память все существующие команды консоли (возможно я и ошибаюсь).

Справочники команд Linux: http://books.tr200.ru/v.php?id=278389

В Linux любую административную задачу можно выполнить из консоли. Умение работать из консоли –- это необходимый опыт для администрирования Linux. Существует инструментарий, позволяющий избежать общения с консолью, но с ним вы будете более ограничены в возможностях. Подключиться к консоли просто и получить документацию к командам тоже несложно. В данной статье описаны самые простые и необходимые команды, для того чтобы начать работу в консоли.

Подключение консоли

Если ваша система загружается в текстовом режиме (обычная конфигурация для серверов, чтобы получать на консоль вывод сообщений основных процессов), то вы уже в консоли при входе в систему. Обычно в системе Linux можно попасть на дополнительные консоли, нажав клавиши Ctrl + Alt + (F1 – F6). Каждая консоль -- это совершенно отдельная сессия в системе и может использоваться разными пользователями в одно и то же время.


Такое "многоконсольное" поведение отличается от "многодесктопового" в Windows. В Linux каждая консоль может контролироваться совершенно разными пользователями. Например, можно войти пользователем root на первую консоль, и пользователем joeuser на вторую. Обе консоли запускают разные программы в пространстве своего пользователя. В том же духе, разные пользователи могут удаленно входить в систему Windows. В этом случае Linux дает возможности скорее как мэйнфрейм, нежели простой сервер или рабочая станция.

Если же вы работаете в графическом режиме, то можете открыть терминал, чтобы получить доступ к окну с консолью. Обычно на панели задач рабочего стола есть кнопка терминала либо его можно найти в меню Program в System Tools. Терминал также можно открыть из контекстного меню (появляется по щелчку правой кнопкой мыши на рабочем столе).

Команды

Из консоли доступно много дополнительных команд. Некоторые из них действительно полезны только при написании скриптов. Здесь приведены некоторые из тех, которые вероятно вам потребуются. Не забывайте, что все команды и ключи чувствительны к регистру. -R не то же самое, что -r и, скорее всего, приведет к другому результату. Консольные команды почти всегда пишутся в нижнем регистре.

cd
Для перемещения по каталогам используется знакомая команда cd. Главное -- запомнить, что там, где вы привыкли к обратному слэшу (\), в системе Linux используется прямой (/). Обратный слэш тоже встречается, но по другому поводу -- он указывает, что команда будет продолжена на следующей строке. Это иногда делается для лучшей читаемости при наборе очень длинных команд.
ls
Список файлов в каталоге вызывается командой ls. Есть несколько ключей, с помощью которых можно менять вид списка:

ls -l Показывает расширенный вывод, включающий в себя размеры файлов, дату и время последнего изменения и атрибуты
ls -t Сортирует файлы по времени
ls -S Сортирует файлы по размеру
ls -r При использовании вместе с одним из ключей для сортировки изменяет порядок вывода. ls -lt показывает самые новые файлы в самом верху списка. ls -lrt показывает самые новые файлы в самом низу.
ls -h Удобочитаемый. Использует дружественные индикаторы k, M и G, которые показывают размер файла в понятных человеку единицах, а не отображают его в байтах.
ls -a Показывает все файлы в каталоге, даже скрытые

cp
Копируются файлы с помощью команды cp. Основные ключи:

mv
С помощью команды mv перемещают и переименовывают файлы.

cat
Просматривать файлы можно командой cat. Эта команда выдаст содержимое файла в другой файл или на экран, или на вход другой команды. cat -- это сокращение от "concatenate" (объединять), так что можно использовать ее для объединения нескольких файлов в один большего размера.

more
Командой more можно просматривать информацию постранично.

less
Для того чтобы просмотреть текстовый файл с возможностью прокрутки вверх-вниз и поиска по образцу, используйте команду less.

vi
Тестовый редактор vi есть почти в любом UNIX-подобном окружении. Для версии, установленной в Linux, есть встроенный учебник, и однажды научившись, вы сможете делать некоторые поистине невероятные вещи нажатием всего нескольких кнопок. Очень удобен vi для редактирования файлов с паролями и конфигурациями.

man
Документацию по той или иной команде можно увидеть с помощью команды man. Man -- это сокращение от manual (). Документация обычно полная. Узнать больше о команде man можно, напечатав:

info
info похожа на man, за исключением поддержки гиперссылок, что делает перемещение по документации более простым.

Какой shell?

Оболочка командной строки представляет собой слой, отделенный от операционной системы. Окружение оболочки затрагивает такие возможности, как редактируемые командные строки и прокручиваемые истории. Оболочка также определяет синтаксис, который требуется для создания функций в скриптах. В Linux скрипты могут содержать циклы и выполнять больше, чем просто условные операторы, включая многие вещи, которые вы ожидаете от языка программирования.

Shell по умолчанию -- это свой параметр у каждого пользователя. Обычно в Linux это /bin/bash, но может быть и какой-нибудь другой. Документация man для каждого shell"а действительно очень хорошая, в ней детально рассмотрены shell"ы и как они работают. Выберите shell из списка, приведенного ниже, и посмотрите его справочную информацию (man page).

bash
Оболочка bash -- свободная версия Bourne shell, первой Unix оболочки, плюс множество дополнительных свойств. Bash имеет редактируемые командные строки, прокручиваемую историю команд и дописывание кнопкой tab, чтобы не приходилось набирать длинные названия файлов.

csh
C shell использует C-подобный синтаксис и заимствует много свойств из Bourne shell, однако использует другой набор внутренних shell команд.

ksh
Korn shell использует тот же синтаксис, что и Bourne shell, и включает в себя дружественность к пользователю от C shell. ksh используется во многих установочных скриптах, поэтому вероятно должен быть в системе, даже если не является основной оболочкой.

tcsh
TC shell -- улучшенная версия C shell и на 100% совместима с ней.

zsh
Z shell -- улучшенная версия Korn shell со многими свойствами bash shell.

Одна притягательная возможность файловой системы Linux -- ссылки на файлы. Благодаря им файл может быть виден в нескольких местах файловой системы. Однако, в Linux ссылка может рассматриваться как исходный файл. Ссылку можно исполнять, редактировать, обращаться к ней, не делая ничего необычного. Некоторые приложения в системе являются линком к какому-то исполняемому файлу. При внесении изменений в файл через ссылку вы на самом деле редактируете оригинал. Ссылка -- это не копия. Существует два вида ссылок: жесткая и символьная.

Жесткая ссылка может указывать на файлы только в той же файловой системе. Она обеспечивает связь с физическим индексом файла (иначе inode ) в файловой системе. Жесткие ссылки не разрываются при перемещениях оригинала, поскольку они все указывают скорее на физические данные файла, нежели на его местонахождение в файловой структуре. Файл с жесткой ссылкой не требует от пользователя прав доступа к исходному файлу и не показывает его расположение, что дает некоторые преимущества по безопасности. Если вы удалите файл, к которому есть жесткие ссылки, он все равно останется до тех пор, пока не будут удалены и все ссылки на него.

Символьная ссылка -- указатель на местоположение файла в файловой системе. Символьные ссылки могут перекрывать файловые системы и даже указывать на файлы из удаленной файловой системы. Символьная ссылка указывает на расположение исходного файла, и чтобы ее использовать, пользователь должен иметь права доступа к этому исходному файлу. Если оригинал удаляется, то все символьные ссылки разрываются. Они будут указывать на несуществующий файл.

Оба вида ссылок можно создать при помощи команды ln .

Выход из оболочки

Во многих случаях использование консоли требует меньше времени и дает больше возможностей, чем графическая программа. Более того, любая консольная задача может быть записана в скрипт и тем самым автоматизирована.

Оставьте свой комментарий!

В современных версиях операционной системы Linux уже все действия можно сделать через графический интерфейс, а терминал использовать совсем необязательно. Но в старых компьютерах или на серверах может быть недостаточно ресурсов для запуска сложных графических интерфейсов и приложений. Тогда на помощь приходят терминальные программы linux.

Для Linux существует огромное количество консольных программ и все они могут почти полноценно заменить графический интерфейс. Если посмотреть видео с комфортом у вас и еще не получится, то найти нужную информацию в интернете, послушать музыку, прочитать электронные сообщения вы можете даже с помощью терминала. В этой статье мы рассмотрим лучшие консольные программы Linux, которые вы можете использовать на своем компьютере.

Не всегда достаточно одного запущенного терминала, который доступен нам при подключении по ssh или в одном из интерфейсов TTY. Иногда нужно управлять несколькими сессиями одновременно, но нет возможности запустить графический интерфейс и несколько эмуляторов терминала.

В таких случаях на выручку приходит утилита screen. Она позволяет очень просто управлять несколькими терминалами в одном TTY. Вы можете открывать новые окна терминала, переключаться между ними, копировать информацию и многое другое. Даже если сессия будет неожиданно разорвана из-за разрыва соединения ssh, программы не будут завершены и продолжат выполняться, а вы сможете восстановить соединение.

2. MidnightCommander - файловый менеджер

MidnightCommander или mc - это двухпанельный файловый менеджер для операционных систем Linux. Он очень похож на файловый менеджер FAR, известный пользователям Windows. Все рабочее пространство разделено на четыре части - это две панели, командная строка и строка, обозначающая назначение функциональных клавиш:

Для всех команд терминала текущей папкой считается активная панель и вы можете выполнять любые команды Linux. Для удобной навигации здесь есть множество горячих клавиш, которые очень похожи на Emacs. Для установки в Ubuntu наберите команду:

sudo apt install mc

3. Lynx - браузер

Lynx - это полнофункциональный консольный браузер. С помощью него вы можете просматривать интернет страницы. Это один из самых первых браузеров. Он выглядит очень по-простому, не поддерживает таблиц, css, javascript и других технологий. Но зато страницы загружаются очень быстро.

Навигация выполняется с помощью горячих клавиш, что позволяет использовать программу очень эффективно. Поддерживаются протоколы HTTP, FTP, Gopher, WAIS, NNTP.

4. Elinks - еще один браузер

Elinks - более новый браузер, он основан на Lynx, но поддерживает больше функций, здесь есть начальная поддержка стилей, поддержка JavaScript, таблиц, фрейомв. Есть даже поддержка цветовой палитры до 256 цветов.

Кроме того, поддерживается большее количество протоколов: HTTP, HTTPS, FTP, IRC, mailto, telnet, nntp и Gopher. Работа со ссылками и горячие клавиши немного отличаются от lynx, но пользоваться браузером достаточно удобно. Для установки elinks в Ubuntu выполните команду:

sudo apt install elinks

5. Vim - текстовый редактор

Vim - это один из лучших текстовых редакторов для операционной системы Linux, не только среди консольных утилит, но и в целом. Программа имеет очень своеобразный интерфейс и режимы работы, которые позволяют набирать текст и выполнять его наиболее быстро и эффективно, не отрывая рук от клавиатуры:

Вы можете перемещаться по тексту с помощью клавиш h,j,k,l в командном режиме, а также выполнять быструю замену с помощью r. Для переключения командного режима и режима редактирования используется клавиша Esc. Смотрите подробнее в отдельной статье.

6. Moc - аудиоплеер

Moc или Music on Console - это аудиоплеер для терминала Linux, очень простая программа, которая позволяет только слушать музыку. Интерфейс очень прост и похож на интерфейс Midnight Commander.

Вам достаточно выбрать файл из нужной папки через главное меню, а затем программа начнет воспроизводить все файлы по порядку.Плеер может работать в фоновом режиме даже после закрытия сессии терминала.

7. RTorrent - торрент клиент

Как следует из названия, rtorrent - это простой torrent клиент, который, как и другие приложения командной строки работает только через терминал. Программа нетребовательна к ресурсам имеет не очень удобный интерфейс, но работает достаточно быстро и стабильно.

Также поддерживается очень гибкая настройка программы через файл rtorrent.rc. Но синтаксис файла достаточно сложный.

8. Newsbeuter - RSS ридер

Это очень простой, но полнофункциональный RSS ридер для Linux, программа полностью справляется со своей задачей, несмотря на то, что имеет только версию для терминала. Вы можете добавить несколько URL лент в конфигурационный файл программы, затем синхронизировать локальную базу данных с информацией на сервере.

Программа может запоминать уже прочитанные записи. Для установки в Ubuntu используйте такую команду:

sudo apt install newsbeuter

9. Mutt - клиент электронной почты

Mutt - это клиент электронной почты для операционной системы Linux. Он поддерживает очень много форматов создания сообщений, среди которых MBox и Maildr, а также протоколы, например: IMAP, POP3, вы можете просматривать почту из различных сервисов, например, mail.ru, gmail.com, yandex.ru и многих других по доступных протоколах.

Программа имеет очень простой, но в то же время удобный интерфейс, а также поддерживает шифрование и электронные подписи.

10. WeeChat - мессенджер

WeeChat - это отличный IRC клиент для операционных систем на базе ядра Linux. Кроме консольного интерфейса, здесь есть графический и веб-интерфейс. Программа поддерживает работу через прокси, ipv6, ssl, поиск текста и сообщений, а также проверку орфографии.

С помощью удобных сочетаний клавиш вы можете выполнить любые действия очень быстро. Также поддерживаются различные расширения на Python, Ruby и Perl, позволяющие очень сильно расширить возможности программы. Чтобы установить в Ubuntu выполните:

sudo apt install wee-chat

11. Calcurse - календарь

Консольные приложения Linux также не обходятся без инструментов планирования времени и календарей. Calcurse - это очень простой, но в то же время функциональный календарь и список заданий для Linux.

С помощью этой программы вы сможете отслеживать свои дела, которые нужно сделать, а также определенные события и встречи. Также здесь есть система напоминаний, с помощью которой вы сможете получить уведомления с сроках выполнения заданий и событиях.

12. Taskwarrior - список дел

Taskwarrior - это очень простой список задач для Linux. Вы можете создавать задания, очень быстро просматривать список доступных, обозначать уже выполненные, а также планировать дату завершения.

В связке с утилитой Timewarrior от того же разработчика, вы сможете засекать время, которое уходит на выполнение каждой задачи. Для установки taskwarrior в Ubuntu выполните:

sudo apt install taskwarrior

13. cacaview - просмотр изображений

Cacaview - это очень простой просмотрщик изображений с консольным интерфейсом. Рисунок выводится с помощью символов ASCII. На полноценный просмотр изображений тянет с трудом, но зато приблизительно оценить что изображено на самой картинке можно:

Для установки необходимо установить пакет caca-utils:

sudo apt install caca-utils

14. htop - монитор

htop - это монитор использования системных ресурсов в реальном времени с интерфейсом командной строки. Вы можете посмотреть сколько оперативной памяти занято, процент использования процессора, а также какие процессы используют больше всего ресурсов системы.

С помощью программы можно менять приоритеты процессов завершать их, выполнять поиск, фильтровать процессы по определенным параметрам, сортировать, а также смотреть потоки каждого процесса.

15. BitlBee

Это мессенджер с открытым исходным кодом, который позволяет пользователям общаться в таких сервисах, как IRC, чат-сетях, AIM, ICQ, NET Messenger, Yahoo!, XMPP, Google Talk, Twitter и Identica. Пользователи этих сервисов отображаются в виде каналов, после чего с ними можно общаться как с обычными пользователями IRC сети.

Возможно даже создание конференций. Программа выполнена в виде сервера и для подключения к ней необходимо использовать любой IRC клиент. Для установки наберите:

sudo apt install bitlbee

Выводы

В этой статье мы рассмотрели лучшие консольные программы linux. Они помогут вам в нужный момент полноценно работать с компьютером без графического интерфейса или даже заменят другие программы. Если вы знаете другие отличные консольные приложения, которые упущены в этой статье, напишите в комментариях!