Команды линукс терминала. Команды для управления процессами
Если вы уже не совсем новичок в 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 и коды цветов.
Введение в терминал
Среди всех элементов системы Linux самым важным, пожалуй, является командная строка (bash -B ourne A gain Sh ell) или Терминал :
Начинающим пользователям кажется, что они ни когда не прибегнут к помощи командной строки, а некоторые её просто боятся. Однако чем больший опыт они приобретают, тем чаще обращаются к терминалу.
С помощью командной строки можно выполнять действия, которые были бы не мыслимы при работе с графическим пользовательским интерфейсом. Оказывается, что многие действия гораздо быстрее и эффективнее выполнять, пользуясь командной строкой.
Командная строка используется во всех OS
: Windows, MacOS X
и Linux
.
Многие начинающие пользователи могут возразить: "Так ведь в Windows мы не пользуемся командной строкой"
. И будут не
правы
, т.к. все действия по установке/удалению программ или другие системные изменения незримо протекают в терминале, не говоря уже о системных администраторах, которые очень часто прибегают к услугам командной строки.
Изначально окно терминала было отображено в первых мониторах компьютеров, ещё до того, как появились графические программы (GUI) и пока в обозримом будущем не видно чтобы его могло заменить что-то другое.
Терминальные команды
В системе Linux используются тысячи команд, которые совсем не обязательно знать простому пользователю, но иметь общее представление и знать некоторые, часто используемые, просто необходимо, т.к. волей - неволей вы с ними столкнётесь при настройке системы или установке нужной программы, отсутствующей в Центре приложений и т.д.
Я использую системы Ubuntu/Linux Mint и на их основе будут задействованы примеры, но думаю, что кроме команды sudo , остальное применительно и к другим системам Linux .
В Ubuntu/Linux Mint окно терминала открывается нажатием клавиш Ctrl+Alt+T .
Обновление программ
Многие пользователи, наверное, выполняли не раз такие команды в терминале:
sudo apt-get update
sudo apt-get upgrade
Давайте разберём их более детально, чтобы понять что они собой представляют.
Прежде всего хотелось бы заметить, что все команды написаны на английском языке и не просто "от фонаря", а в каждой заложен определённый смысл для её применения. И то что командная строка Linux
очень чувствительна к регистру. Иными словами, данные команды написаны в нижнем регистре (строчными буквами), но если вы введёте идентичную команду, но в верхнем регистре (прописными буквами), то выполнить её не получится. Это нужно запомнить.
Команда sudo , это по сути аббривеатура, состоящая из следующих слов: s uper u ser do , что в переводе с английского буквально означает следующее: s uper u ser - суперпользователь (администратор), do - делает . Т.е. когда данная команда присутствует в общей команде, то командной строке даётся понять, что выполнять её может суперпользователь (администратор), тот пользователь, который при установке системы был зарегистрирован и ввёл свой пароль:
Команда apt-get , которая следует после sudo ипробела, состоит из двух слов через чёрточку, которая объединяет эти два слова в одну команду и буквально означает в переводе: склонен-выполнить .
Команда update , в переводе - обновление .
Итак sudo apt-get update в преводе буквально - суперпользователь склонен-выполнить обновление .
После ввода данной команды и нажатия клавиши Enter , терминал запрашивает пароль. После ввода пароля и вновь нажатия Enter , начнётся процесс обновления списка пакетов.
Примечание. У терминала есть особенности после ввода команды с sudo , а именно когда вы вводите пароль, то он не отображается ни буквами, ни символами, поэтому нужно всегда обращать внимание на раскладку клавиатуры, в которой вы вводите пароль и другая, это после выполнения первой команды с присутствием sudo , последующие команды (даже если в них есть sudo ), больше не требует ввода пароля в течении определённого времени (сохраняет открытой sudo-сессию) в этом же окне терминала , т.е подразумевая, что терминалом продолжает пользоваться суперпользователь (администратор).
Команда sudo apt-get upgrade очень похожа на предыдущую команду, где upgrade - модернизировать, усовершенствовать (систему). Данная команда, как правило выполняется после команды обновления. После того как команда выполнена, она выдаёт в терминале возможные пакеты для установки, т.е. модернизации, усовершенствования системы. Пользователю остаётся согласиться или нет с установкой данных пакетов.
Установка, удаление программ
sudo apt-get install chromium-browser
sudo apt-get remove chromium-browser
Как видно команды очень похожи между собой, за исключением одного слова выделенного красным. В первой команде install - установить chromium-browser , а во второй remove - удалить chromium-browser
Таким образом устанавливаются и удаляются приложения (программы) и др. файлы в системе.
Если вы нашли на одном из сайтов похожую команду на установку программы и установили её, но программа вам не подошла и вы хотите удалить, достаточно в команде на установку изменить install
на remove
и выполнить в терминале, как программа удалится.
Установка программ из стороннего репозитория
Теперь рассмотрим команды на установку и удаление программ с добавлением стороннего репозитория (пример):
sudo add
-apt-repository ppa:upubuntu-com/gtk+3.6
sudo apt-get update
sudo apt-get install
flatstudiodark-gtk
Прежде всего давайте выясним зачем подключать сторонний репозиторий? Репозиторий, это хранилище файлов на сайте разработчика. В данном случае, третьей командой мы хотим установить тему оформления, но её нет в Центре приложений , а значит нам нужно прежде подключить хранилище (репозиторий) с темой (первая команда), где add - добавить , ppa:upubuntu-com/gtk+3.6 - название репозитория, затем второй командой обновить список пакетов и уже третьей - установить сам пакет с темой.
Если данное приложение (в конкретном случае тема оформления) вам не понравилось и вы решили удалить его, то вы можете изменить команды на установку, чтобы они выглядели командами на удаление:
sudo apt-get remove
flatstudiodark-gtk
sudo add-apt-repository --remove
ppa:upubuntu-com/gtk+3.6
sudo apt-get update
Прежде нужно выполнить команду на удаление пакета с программой, где меняем install на remove , затем удаляем хранилище (репозиторий), добавив в команду --remove - удалить , т.к. хранилище теперь без надобности и обновляем систему последней командой.
Запуск графических программ с правами администратора.
Допустим, нам необходимо запустить файловый менеджер Nautilus с правами администратора, чтобы через графический интерфейс как-то изменить содержимое системных папок. Для этого необходимо ввести следующую команду:
gksudo nautilus
gksu nautilus
Где ввод пароля, в данном случае, будет происходить в графическом окне, а не в терминале.
Но вы можете указать дополнительно необходимый путь в команде, непосредственно к нужной папке:
gksu nautilus /usr/share/themes
В данной команде косой чертой (/) - слешем указывается терминалу, что нужно перейти в следующую за ним папку.
Запуск программ из терминала командой
В системе Linux вы можете запустить любую программу из терминала установленную в вашей системе, главное знать её правильное название. Многие программы состоят из одного слова-названия, а некоторые из двух или трёх слов. Например: Nautilus; Ubuntu Tweak; Gnome Tweak Tool . Если мы введём в терминал название команд так, как они написаны, то не сможем открыть ни одно из приложений. Ещё раз повторюсь, что терминал очень чувствителен к регистру, т.е. команду нужно вводить только в нижнем регистре (строчными буквами) и обязательно монолитной, через чёрточку, если она состоит из нескольких слов(примеры):
nautilus
ubuntu-tweak
gnome-tweak-tool
Таким образом вы сможете открыть приложения, но если вы закроете терминал, то закроется и программа вместе с ним. Чтобы этого не происходило, необходимо дописать команду exit на закрытие терминала после открытия программы через пробелы и разделительный знак & :
nautilus & exit
ubuntu-tweak & exit
gnome-tweak-tool & exit
Через разделительный знак & можно включать несколько команд на выполнение (открытие), объединив их в одну команду:
nautilus & ubuntu-tweak & gnome-tweak-tool & exit
Создание каталогов (папок) и размещение в них файлов
Многие из вас устанавливали флажки для отображения в трее раскладки клавиатуры посредством терминальных команд:
mkdir ~/.icons
mkdir ~/.icons/flags
cd ~/.icons/flags
Теперь давайте детально разберём каждую из приведённых команд.
Командаmkdir ~/.icons - создаёт скрытый каталог (папку) в Домашней папке под названием icons .
mk - сокращённо от make - сделать, создать . dir - сокращённо directoria - каталог, папка .~ - знак тильда всегда обозначает Домашнюю папку пользователя. / - обозначение папки. .icons - обозначает название создаваемой папки, а точка впереди всегда указывает на то, что данная папка скрытая.
Команда mkdir ~/.icons/flags также создаёт папку под названием /flags в скрытойпапке /.icons и Домашней папке - ~ .
Команда cd ~/.icons/flags делает переход в папку /flags , которая в свою очередь находится в Домашней папке - ~ и в скрытой папке /.icons .
cd - c - обозначение перехода, d - directoria - каталог (папка) .Команда wget http://suservice.net/icons/flags2/{ru,us}.png
загружает файлы флажков впапку /flags
, в которую мы перешли на предыдущем этапе.
wget
- сокращённо от w
- web
- сеть
, get
- получать
, т.е получить файлы из сети и ставится всегда перед URL
адресом через пробел. В данном случае перед http://suservice.net/icons/flags2/{ru,us}.png
, с которого и загружаются файлы с флажками.
Убить процесс командой
Прежде всего давайте выясним, что такое процесс?
При запуске системы запускается множество процессов, о которых пользователь зачастую даже и не подозревает. Но многие процессы мы видим на экране монитора, сами их запускаем и управляем ими, это открытые программы. Лучше всего нам об этом раскажет программа top , запущенная в терминале:
Иногда так случается, что какой-то процесс в системе дал сбой или попросту "зависла" какая-то программа и кнопка закрытия не реагирует, либо кнонопка закрытия отсутствует вовсе (виджет conky). На этот случай в Linux есть очень хорошая команда - "убийца":
p
- сокращённо от process
(процесс), kill
- убивать
.
Но сама по себе эта команда не работает, ей нужен аргумент, т.е. либо номер процесса, который отображён в колонке PID
(см. снимок терминала) после выполнения команды top
, либо название процесса в колонке COMMAND
. Не переживайте, команда не убьёт саму программу, она только остановит процесс выполнения. Если это графическая программа, то она просто закроется. Для эксперимента я выбрал самый безобидный процесс, который при закрытии ни чему не повредит. Итак выполните следующую команду:
pkill gnome-terminal
Окно терминала исчезло, т.е. был "убит" (остановлен) процесс, отображающий программу на экране монитора.
xkill - убивает видимый процесс и работает сама по себе, т.е. после выполнения команды кликните образовавшимся крестиком вместо курсора на любой видимой программе (окне), как оно закроется.
Заключение
Мною были подобраны команды для разбора, с которыми обычно сталкивается простой пользователь при настройке системы.
Если кто-то хочет глубже узнать о терминальных командах, я вам рекомендую скачать бесплатный справочник Скотта Граннемана
"Linux. Карманный справочник"
. Просто наберите в Google Скотт Граннеман
и дайте поиск.
Yakuake — терминал, выпадающий в верхней части экрана. Поддерживает вкладки и разделение окна на несколько терминалов.
Cool Retro Term — терминал для Linux в старом ламповом стиле. Имеет несколько тем оформления. Позволяет настраивать внешний вид.
QTerminal — легковесный терминал с возможностью открытия нескольких терминалов в одном окне. Поддерживается режим выпадающего окна.
Betty
Betty — программа, которая позволяет выполнять различные команды Linux, но для их выполнения вам не нужно знать самих команд, вы можете просто написать то, что вы хотите на простом английском.
Final Term — современный эмулятор терминала для Linux, обладающий интерактивными функциями и возможностями, которых нет у других подобных программ. Программа обладает удобным автодополнением команд, распознает файлы, адреса и другие элементы, поддерживает сворачивание команд, настраиваемые горячие клавиши, темы оформления и многое другое.
Gnome Terminal — стандартный терминал среды рабочего стола Gnome . Работает стабильно, обладает необходимыми возможностями и настройками для повседневной работы. Поддерживает цветовые схемы, цветной вывод текста, вкладки и так далее.
Terra Terminal Emulator — терминал для Linux, который выпадает (появляется) в верхней части экрана по нажатию горячей клавиши (по умолчанию F12). Можно создавать несколько вкладок и в каждой вкладке по несколько терминалов. Само окно терминала прозрачное.
ASCIIQuarium — небольшая консольная программа (Perl-скрипт), отображающая собственную ASCII-анимацию виртуального водоёма с его обитателями.
Здесь перечислены основные команды 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.
№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