Терминальные команды linux. Команды терминала Linux

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

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

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

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

cd Смена текущего каталога. cd ~ или просто cd всегда переходит в домашний каталог текущего пользователя. Пример: cd /etc ls Выводит список файлов и каталогов. В отличие от dir подсвечивает файлы по типу. С параметром -l выводить дополнительную информацию о файлах: права, владельца, дату создания и т.д. ls без параметров выводит содержимое текущего каталога. ls /proc выводит все работающие процессы. mv Перенос файла. cp Копирование. rm Удаление файла. С ключем -R удаляет в подкаталогах. Пример: rm -R ~/killme mkdir Создание каталога. rmdir Удаление пустого каталога.

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

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

Просмотр файлов

cat Вывод файла. Пример: cat /etc/fstab . tail Вывод конца файла. Удобно при работе с логами и большими файлами. Пример: tail /var/log/messages .

Редактирование файлов

nano и pico — наиболее вменяемые редакторы, работающие в текстовом режиме прямо в терминале. Чтоб изменить файл /etc/fstab, например, надо набрать nano /etc/fstab . Выход из редактора CTRL+X. Редакторы vi и vim предназначены для работы слепым десятипальцевым методом.

Монтирование и отмонтирование дисков

mount [параметры] устройство путь Монтирование устройства. Пример: mount /dev/sda1 /mnt/Disk1 . umount устройство/путь Размонтирование. Пример: umount /mnt/Disk1 . eject Размонтирование и выброс CDROM.

Команды работы с драйверами устройств (модулями ядра Linux)

lsmod Список всех загруженных модулей ядра Linux. insmod rmmod modprobe имя-модуля [параметры] Установка модуля, настройка его автозагрузки. Результат можно посмотреть в системном логе. Пример: modprobe radio-aztech io=0x350 . modinfo имя-модуля Информация о модуле, в том числе и список параметров. modconf Удобная программа для просмотра всех модулей по категориям, включения и отключения модулей. По умолчанию как правило не установлена, в Debian, Ubuntu и Kubuntu устанавливается с помощью одноименного пакейджа командой apt-get install modconf .

Другие полезные консольные программы и команды Linux

hdparm Управление жесткими дисками и приводами компакт-дисков. Пример: hdparm -E8 /dev/cdrom снижение скорости вращения CDROM. watch Периодическое выполнение команды. Пример: watch -n 60 hdparm -E8 /dev/cdrom раз в минуту тормозить диск чтобы привод не разгонял его и не шумел во время просмотра DVD. pppconfig Простая и надёжная программа настройки Dial-Up выхода в Интернет по модему. pon, poff и plog — команды установления, разрыва и просмотра лога соединения соответственно. pppoeconf Аналогично, настройка выхода в Интернет через ADSL-модем. wget Скачивание файла по HTTP/FTP.

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

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

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

Однако такие дистрибутивы как Ubuntu и Kubuntu не создают суперпользователя при установке. Войти под пользователем root или использовать su не удастся. Права суперпользователя в этих дистрибутивах можно получить командой sudo . Ее необходимо писать перед каждой командой, для которой требуются права суперпользователя. Например sudo nano /etc/fstab . После первой команды sudo необходимо ввести пароль текущего пользователя. Использовать sudo могут пользователи, состоящие в группе sudo или admin (в зависимости от дистрибутива Linux), что для первого пользователя Ubuntu и Kubuntu выполняется автоматически при установке дистрибутива.

Особенности работы терминалов Linux

Записанные в файл команды выполняются командой sh имя_файла .

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

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

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

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

Терминал

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

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

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

Запуск Терминала

Приложение Konsole можно запустить, выбрав K-меню ->System ->Konsole (Terminal Program) из меню рабочего стола.

Основные Команды

Просмотр каталогов и файлов: - ls

Команда ls (LiSt) показывает список файлов разными цветами с полным форматированием текста.

Создание каталогов - mkdir (имя каталога)

Приложение mkdir (MaKeDIRectory) создает каталог.

Смена каталога: - cd (/адрес/каталога)

Приложение cd (Change Directory - сменить каталог) изменяет ваш текущий каталог на указанный вами.

Копирование файла и/или каталога: - cp (имя файла или каталога) (в: имя каталога или файла)

Команда cp (CoPy) копирует любой выбранный файл. Команда cp -r копирует любой выбранный каталог со всем содержимым.

Удаление файлов и/или каталогов: - rm (имя файла или каталога)

Команда rm (ReMove) удаляет любой указанный вами файл. Команда rm -r удаляет любой указанный вами каталог со всем содержимым.

Перемещение/Переименование Файлов/Каталогов: - mv (имя файла или каталога)

Команда mv (MoVe) перемещает/переименовывает любой указанный вами файл или каталог

Поиск файлов/каталогов: - locate (имя файла или каталога)

Команда locate ищет файлы по указанному вами имени. Она использует индекс файлов на вашей системе, чтобы работать быстро. Чтобы обновить этот индекс, выполните команду sudo updatedb . Эта команда выполняется автоматически каждый день, если вы оставляете включенным ваш компьютер. Ее необходимо выполнять с административными привилегиями.

Вы также можете использовать маски в именах файлов и каталогов, чтобы указать более одного файла, такие как "*" (совпадение со всеми символами) или "?" (совпадение с одним символом).

Переключение в консольный режим

Для доступа к командной строке в Kubuntu обычно запускают терминал (см. «Запуск Терминала» выше), тем не менее иногда полезно переключиться в настоящую консоль:

    Чтобы переключиться на первую консоль используйте комбинацию клавиш Ctrl -Alt -F1 .

    Чтобы переключиться обратно к рабочему столу, используйте комбинацию клавиш Ctrl -Alt -F7 .

Замечание

Доступно шесть консолей. К каждой из них можно получить доступ с помощью комбинации клавиш: от Ctrl -Alt -F1 до Ctrl -Alt -F6 .

№1. Переход в предыдущую директорию

Все мы используем команду cd .. для перехода в родительскую директорию. А для перехода к предыдущей директории можно использовать команду cd - . Этот приём похож на кнопку «Назад».

Test@linoxide:~/Downloads$ cd - /home/eyramm test@linoxide:~$ cd - /home/eyramm/Downloads test@linoxide:~/Downloads$
Тут мы сначала находились в директории Downloads , затем переместились в директорию Home , и, наконец, снова вернулись в директорию Downloads .

№2. Повтор последней команды

Для того, чтобы повторить предыдущую команду, просто введите!! . В этом примере мы повторим предыдущую команду с правами суперпользователя.

$ apt install vlc E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied) E: Unable to lock the administration directory (/var/lib/dpkg/), are you root? $ sudo !! sudo apt install vlc vlc is already the newest version (2.2.2-5ubuntu0.16.04.3).
Этот приём весьма полезен именно в ситуациях, подобных рассмотренной, когда команду, введённую ранее, надо выполнить с правами суперпользователя.

№3. Многократное выполнение команды до её успешного завершения

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

While ! ; do sleep 1; done
Например:

$ while ! ./run.sh; do sleep 1; done cat: run.sh: No such file or directory cat: run.sh: No such file or directory linoxide.com
Команда в этом примере будет повторяться до тех пор, пока не будет найден файл run.sh и его содержимое не будет выведено на экран.

№4. Просмотр сведений о ходе передачи файла

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

$ pv access.log | gzip > access.log.gz 611MB 0:00:11 [=> ] 15% ETA 0:00:59

№5. Планирование заданий

Планировать задания в Linux можно с помощью команды at:

Echo wget https://sample.site/test.mp4 | at 2:00 PM
Для того, чтобы посмотреть ожидающие выполнения задания, воспользуйтесь командой atq .

№6. Вывод данных в виде таблицы

Вызвав команду ls , или что-нибудь ещё, выводящее данные на экран, можно столкнуться с длинными списками, для просмотра которых требуется продолжительный скроллинг. То, что выводится на экран, легко можно организовать в виде таблицы с помощью команды column -t . Например:

$ cat /etc/passwd | column -t

Вот как выглядит то, что у нас получилось.


Вывод команды, организованный в виде таблицы

№7. Полезные комбинации клавиш

Команда clear очищает экран терминала. Комбинация клавиш Ctrl + L позволяет добиться того же самого быстрее.

Комбинация клавиш Alt + . позволяет перемещаться по ранее введённым командам. Комбинация клавиш Ctrl + U убирает из строки всё то, что уже в неё введено. Например, можете это попробовать для очистки введённого в командной строке пароля.

Для инкрементального обратного поиска по истории команд используйте комбинацию клавиш Ctrl + R .

№8. Сжатие, разбиение и шифрование файлов

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

$ zip -re test.zip AdbeRdr11010_en_US.exe run.sh Smart_Switch_pc_setup.exe Enter password: Verify password: adding: AdbeRdr11010_en_US.exe (deflated 0%) adding: run.sh (stored 0%) adding: Smart_Switch_pc_setup.exe (deflated 2%)

№9. Стресс-тест батареи ноутбука

Хотите узнать, как долго батарея вашего ноутбука продержится при полной нагрузке на процессор? Попробуйте следующую команду:

$ cat /dev/urandom > /dev/null

№10. Переименование или перемещение файлов

Если вам нужно быстро переименовать или переместить множество файлов с суффиксами - попробуйте команду следующего вида:

$ cp /home/sample.txt{,-old}
Вот как её можно расшифровать:

$ cp /home/sample.txt /home/sample.txt-old
Ниже приведён пример переименования файлов с определённым расширением в пакетном режиме:

$ ls text_comes_here_1.txt text_comes_here_2.txt text_comes_here_3.txt text_comes_here_4.txt $ rename "s/comes_here/goes_there/" *.txt $ ls text_goes_there_1.txt text_goes_there_2.txt text_goes_there_3.txt

Итоги

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

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

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

Сначала мы рассмотрим как улучшить внешний вид и удобность использования эмулятора терминала, используемого по умолчанию в Ubuntu - Gnome Terminal, а затем рассмотрим как улучшить командную оболочку.

Вы можете запустить терминал из главного меню или нажав сочетание клавиш Ctrl+Alt+T :

По умолчанию в системе терминал выглядит не очень красиво. Но ситуацию можно исправить с помощью установки другой темы Unity, например, Numix:

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

На вкладке основные вы можете настроить размеры окна терминала, а также шрифт:

Для настройки шрифта установите галочку использовать другой шрифт и выберите нужный шрифт из списка, например, Dejavu Sans Mono Book:

Самая интересная для нас вкладка Цвета, здесь мы выберем нужные нам цвета для окна терминала, а также настроим прозрачность. Но чтобы разблокировать настройку снимите галочку Использовать цвета из системной темы :

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

Теперь терминал выглядит вполне приемлемо, но это еще не все. Хотелось бы еще поговорить о командной оболочке.

Настройка командной оболочки Ubuntu

По умолчанию в Ubuntu используется командная оболочка Bash. Она была изобретена еще в далеких 80х годах для операционной системы Unix в лаборатории Bell Labs. Понятное дело, что с тех пор она была модифицирована и очень сильно улучшена, написана свободная реализация Bash, которую вы сейчас используете и так далее. Но все принципы остались те же.

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

Одна из таких оболочек - fish, или Frendly Interactive Shell. Рассмотрим вкратце ее преимущества. Очень важным моментом fish есть полная подсветка синтаксиса, каждая правильно введенная команда выделяется одним цветом, неизвестная другим, а правильный путь к файлу подчеркивается, таким образом, вы сразу понимаете правильно ли набрали команду, еще не нажимая Enter. Также здесь очень удобный поиск ранее введенных команд в истории, достаточно набрать первые несколько символов команды и начать листать кнопкой вверх, чтобы увидеть все ранее вводимые команды, начинающиеся с этих символов. Более того, когда вы начинаете набирать команду, то оболочка предлагает вам последнюю выполненную команду, начинающуюся на такие символы, достаточно нажать стрелку вправо, и команда готова к запуску. Автодополнение здесь намного лучше чем в Bash, fish дополняет не только команды и адреса файлов, но и опции команд, а это может быть очень полезно для новичков.

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

Если вы еще не уверенны, нужно ли ставить оболочку Fish в своей системе, вас никто не заставляет удалять Bash, вы можете просто установить fish и проверить ее возможности, может вам тоже понравиться. Настройка консоли Ubuntu должна включать установку нормальной оболочки.

Для установки Fish в Ubuntu наберите:

sudo apt install fish

Протестировать оболочку не заменяя ее для вашего терминала можно просто выполнив:

Если же вы хотите, чтобы эта оболочка использовалась по умолчанию, откройте Параметры профиля , и перейдите на вкладку и там отметьте Запускать команду как оболочку входа и Запускать другую команду вместо моей оболочки. Дальше в поле пропишите адрес файла оболочки fish: /usr/bin/fish:

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

Для того чтобы изменить приглашение выполните:

set fish_greeting "Have a lot of fun"

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

В Fish нет файла.bashrc. Но зато есть каталог с настройками и функциями ~/.config/fish/. Там вы найдете все функции, которые могут вызываться из оболочки, а также можете добавить туда свои функции, например создадим алиас для команды rm с помощью функции:

vi .config/fish/functions/rm.fish

function rmi
rm -i $argv
end

Конечно, как и раньше осталась возможность использовать команду:

alias rmi "rm -i"

Ее нужно добавить в конец файла.config/fish/config.fish

Еще одной замечательной особенностью этой оболочки есть возможность настройки через графический интерфейс. Просто наберите:

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