9 советов для быстрой работы в UNIX и Linux терминале

Каждый пользователь Ubuntu (и любой  операционной системы  Linux) может работать в ней с помощью графического интерфейса. Но существует другой вариант — командная строка Ubuntu. В командную строку вводятся команды bash (от англ. Bourne again shell). Это оболочка, или иначе программный интерпретатор, который читает и затем выполняет команды.

Операции с файлами

Команда Действие
ls показать список файлов и каталогов
ls -al показать все файлы на сервере (даже скрытые) + размер + владельца + права на фалы + дату изменения
cd директория перейти в указанную директорию;
cd перейти в домашний каталог
pwd показать текущую папку
mkdir директория создать папку «директория»
rm имя_файла удалить файл с именем имя_файла
rm -r диретория удалить папку «директория»
cp файл1 файл2 скопировать файл1 в файл2
cp -r папка1 папка2 скопировать папка1 в папка2
touch файл создать файл и с именем «файл»
cat > файл направить стандартный ввод в «файл»
more файл показать содержимое файл
head файл показывает первые 10 строк из файла
tail файл показывает последние 10 строк из файла

Как запустить консоль в Ubuntu

Как вы уже поняли, работа с командной строкой (Ubuntu cmd) выглядит следующим образом:

  1. Вызов командной строки Ubuntu.

  2. Ввод команды.

  3. Интерпретатор считывает команду и выполняет её.

Остановимся на первом шаге. Другое название командной строки — консоль (Ubuntu console) или Терминал. Чтобы его открыть, вы можете:

  • зайти в меню и ввести в поиск Терминал,

  • или нажать сочетание клавиш Ctrl+Alt+T.

После того как консоль откроется, вы можете приступать к вводу нужных команд. Bash список команд приведён ниже.

Обратите внимание, что вызвать командную строку в Linux можно таким же образом, как и в Ubuntu.

Командная строка Ubuntu

Работать в Ubuntu и других Linux-подобных операционных системах можно с помощью двух разных интерфейсов — графического интерфейса и командной строки.

Графический интерфейс пользователя (GUI — Graphical User Interface) — это привычное многим управление с помощью рабочего стола, графических окон, меню и кнопок. Пользователь может щелчками мыши открывать программы, копировать и удалять файлы, создавать папки и т. д.

Другой интерфейс — это командная строка (CLI — Command Line Interface). Пользователь вводит в неё определённые команды (набор букв, цифр и символов) с помощью клавиатуры, и компьютер запускает соответствующие процессы.

Открыть командную строку в Линукс-системах можно через консоль или терминал. В Ubuntu консоль запускается при загрузке системы. Терминал — это тоже консоль, но уже в графической оболочке. Его можно запустить, набрав слово Терминал в поисковой строке ОС, или через комбинацию клавиш Ctrl+Alt+T.

Консоль и терминал обрабатывают команды с помощью программной оболочки: в Ubuntu это командный интерпретатор bash. Он распознаёт команды, которые пользователь ввёл в командной строке, и выполняет их.

Ниже рассмотрим, из чего состоит команда, а также приведём используемый в bash список команд.

советов для повышения производительности в UNIX и Linux

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

1) Используйте ! для быстрого выполнения длинной команды

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

Прежде чем я узнал об этой команде, я использовал стрелки вверх и вниз для работы с историей команд. При нажатии стрелки вверх я искал нужную мне команду из предложенного списка, а затем выполнял ее. Согласитесь, не очень удобно. Но с ! достаточно открыть историю с помощью команды history, выбрать номер строки с нужной командой и выполнить ее. Скажем, под номером 100 находится команда sudo apt-get update. Для того, чтобы не вводить ее целиком, достаточно написать !100.

советов для повышения производительности в UNIX и Linux

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

2) Используйте !! для выполнения последней команды

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

Также она будет работать на оболочках, в которых не работает стрелка вверх и вниз, таких как csh и ksh.

3) Используйте “CTRL+R” для поиска и выполнения подходящей команды

Если вы помните половину или четверть названия команды, которую хотите найти — введите “CRTL+R” и она покажет последнюю выполненную команду с совпадающим названием. Если вы будете продолжать нажимать “CRTL+R”, вам будут выдавать более старые команды, подходящие под искомую строку, если они имеются.

Вышеперечисленная тройка советов сэкономит вам кучу времени и нервов, если дело касается выполнения постоянно повторяющихся команд.

Лично я сэкономил почти 50–60% рабочего времени, просто следуя этим советам.

советов для повышения производительности в UNIX и Linux

4) Используйте историю команд

Это самый первый совет, который я сформировал для себя, когда начал работать с UNIX.

Каждый день я выполняю сотни команд и, вполне естественно, что я не могу запомнить каждую. Для поиска подходящей нужно выполнить команду history | grep ключевые слова и вы получите все команды, содержащие ключевые слова.

Используйте переменную HISTSIZE, чтобы установить количество команд, которые необходимо хранить в списке истории (стандартное значение — 500).

5) Используйте grep и find

Команда grep используется для поиска текста в файлах и директориях, на основе шаблонов. Команда find используется для поиска файлов по имени и другим свойствам.

Например, с помощью find можно найти все файлы, начиная с текущей директории, название которых начинается, например, на coolarticle: find . -name ’coolarticle*’. А с помощью команды grep можно найти coolarticle в файле , с выводом полностью совпавшей строки: grep coolarticle

6) Используйте alias

советов для повышения производительности в UNIX и Linux

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

Например, для того чтобы не вводить целиком команду clearнапишем alias c=»clear» и добавим в конце ~/.bashrc, чтобы данный alias был всегда доступен. Теперь, при вводе всего лишь одной буквыc, будет очищаться весь терминал.

7) Используйте pushd, popd, cd -, ~ для перемещения по каталогу

Основываясь на собственном опыте, могу сказать, что перемещение по оболочке UNIX занимает 50% рабочего времени, а если вы собираетесь прописывать путь к каталогу — можете насовсем забыть о быстрой работе.

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

8) Минимизируйте количество нажатий клавиш или увеличьте скорость печати

Чем меньше вы печатаете, тем быстрее вы работаете.

Если вы введете первые несколько букв имени файла, команды или пути, а затем нажмете клавишу Tab — произойдет автозаполнение командной строки.

советов для повышения производительности в UNIX и Linux

9) Продолжайте изучать новые команды

Старайтесь узнать как можно больше команд — это поможет сократить время для выполнения самых разных задач. И не забывайте использовать ctrl+z, fg и bg, чтобы приостановить процесс.

Ctrl+Z приостанавливает процесс, для возобновления выполнения процесса на переднем плане можно использовать команду fg, команда bg запускает процесс в фоновый режим.

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

Настройка сочетаний клавиш Ubuntu

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

Настройка сочетаний клавиш Ubuntu

Откройте настройки системы:

Выберите пункт Клавиатура:

Настройка сочетаний клавиш Ubuntu

Перейдите на вкладку Комбинации клавиш:

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

Настройка сочетаний клавиш Ubuntu

Редактирование текста

Ctrl + L — очистить экран. Аналог команде clear. Ctrl + D — удалить символ под курсором (D — Delete). Alt + T — поменять местами два слова. Слово под курсором меняется со словом слева от курсора (T — Translocate) Ctrl + T — поменять местами два символа. Символ под курсором меняется с символом слева от курсора (T — Translocate). Alt + L — перевести символы в нижний регистр, начиная с символа под курсором и до конца слова (L — Lowercase). Alt + U — перевести символы в верхний регистр, начиная с символа под курсором и до конца слова (U — Uppercase).

Команды для терминала Mac OS

Чтобы просмотреть список доступных команд, при работе с терминалом, удерживайте клавишу ESC, а затем нажмите клавишу Y. Вы увидите список команд и их значениями рядом с ними. Если вы нажмете пробел, то загрузятся еще несколько команд. Нажмите Q, чтобы выйти и вернуться в командную строку.

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

Команды для терминала Mac OS

Введите man [command], где «command» – это имя той команды, о которой вы хотели бы получить всю информацию.

Информация о сети

Рассмотрим 3 типа IP-адресов, с которыми приходится сталкиваться чаще всего:

  1. Внешний IP-адрес — адрес нашего устройства в глобальной сети.
  2. Локальной IP-адрес — адрес в локальной сети устройств.
  3. Внутренний IP-адрес — используется в основном утилитами для взаимодействия между собой. Всегда 127.0.0.1 или localhost

Разберем способы узнать внешний и локальный IP-адрес.

Как узнать внешний IP-адрес

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

Как правило, эти сервисы представляют из себя обычные веб-страницы, вот их список:

Разницы в этих сайтах особо нет, выберите тот, который именно вам отвечает быстрее всего.

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

Способ 1: wget

Утилита wget позволяет нам скачивать файлы и получать информацию с веб-страниц. Для начала проверим, установлена ли она, введите в терминал wget и если получите в ответ bash: wget: command not found, значит самое время ее установить

sudo apt install wget

Или вместо apt использовать yum, что зависит от вашего дистрибутива:

sudo yum install wget

Итак, утилита wget установлена, теперь попробуем узнать свой внешний IP-адрес. Для этого введем в терминал команду wget с опциями -qO, далее минус -, а затем уже один из сайтов, список которых выше. В целом шаблон команды такой:

wget -qO — адрес_веб_сайта

Например внешний IP-адрес можно узнать вот так:

wget -qO —

Или вот так:

wget -qO —

И так с любым сайтом из этого списка. Вот так это выглядит в терминале:

$ wget -qO — $ wget -qO — Способ 2: curl (проще)

Второй способ — использовать curl. Сама по себе утилита более универсальна, чем wget и заслуживает не одну отдельную статью, но в данном примере мы разберем как с ее помощью узнать свой внешний IP-адрес.

Для начала также проверим, установлена ли она, введите в терминал curl и если получите в ответ bash: curl: command not found, значит самое время ее установить

sudo apt install curl

Или вместо apt использовать yum, что зависит от вашего дистрибутива:

sudo yum install curl

Итак, утилита curl установлена, теперь попробуем узнать свой внешний IP-адрес. C «курлом» это намного проще, нужно лишь ввести curl и один из сайтов, список которых выше. В целом шаблон команды такой:

curl адрес_веб_сайта

Пробуем:

curl

И с другим сайтом:

curl

Вид из терминала:

$ curl $ curl Как узнать локальный IP-адрес

Локальный IP-адрес узнается при помощи разных утилит, мы рассмотрим наиболее популярный и актуальный инструмент для этих задач на сегодня — инструмент ip. Чтобы увидеть все сетевые интерфейсы, достаточно ввести:

ip addr show

В примере используется Debian 9 и вывод там такой:

$ ip addr show 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 00:16:3e:3d:a0:09 brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet brd scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::216:3eff:fe3d:a009/64 scope link valid_lft forever preferred_lft forever

В выводе отображается очень много информации, в которой легко запутаться. Мы видим 2 интерфейса, один lo (внутренний 127.0.0.1) и проводной eth0, с локальным IP-адресом Как вы уже возможно поняли, сам IP-адрес отображается после inet.

Читайте также:  Изменение размера виджета iOS 14: инструкция

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

  • lo — внутренний интерфейс, всегда 127.0.0.1 или localhost
  • eth — проводной интерфейс
  • wlan — Wi-Fi-интерфейс
  • ppp — Point-to-Point Protocol, часто используется для VPN

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

История введённых команд

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

У каждой команды в истории есть номер, выполнить снова команду с определённым номером можно набрав в терминале восклицательный знак и номер нужной команды:

А повторить предыдущую набранную команду можно просто написав два восклицательных знака!! .

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

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

Или вам сообщат, что справочной страницы для этой команды нет. Хотя в основном информация есть по всем командам, кроме встроенных терминальных, вроде cd .

Если вы вдруг не знаете — практически любая консольная команда является на самом деле отдельной программой, а не какой-либо встроенной возможностью терминала. Фактически, только cd является частью терминала, а для всех остальных команд можно легко найти основной исполняемый файл, набрав в терминале which команда И даже which — это тоже отдельная программа. Если вы вникните во всё это — то, надеюсь, начнёте лучше понимать Linux в целом и терминал в частности. Но если вы считаете всё это слишком сложным, то можете просто использовать терминал когда потребуется и ни о чём не думать.

Как я уже упоминал в предыдущей сноске — каждая команда по сути является отдельной программой. Так вот, справка по —help всегда встроена в саму программу, а man и info берут информацию из отдельных файлов документации, которые не всегда поставляются вместе с приложением. Зачастую, правда, их можно поставить отдельно с помощью соответствующего пакета с припиской -doc , но об установке пакетов я ещё не говорил, так что просто имейте это ввиду.

Это особенно актуально при случайном запуске каких-нибудь крайне опасных команд с неправильными аргументами, например sudo rm -rf / Кстати, знакомьтесь, эта команда удалит абсолютно все файлы с вашего компьютера. Именно поэтому не стоит её никогда выполнять. Даже если вы прервёте её выполнение на середине — систему вы восстановить уже не сможете. Я пишу это лишь затем, чтобы показать, что несмотря на всю мощь терминала (или благодаря ей) при выполнение консольных команд самое главное — это внимательность пользователя. Никогда не выполняйте команд, назначения которых вы не понимаете. Например, команда echo «test… test… test…» | perl -e «$??s:;s:s;;$?::s;;=]=>%-{

В Ubuntu существует два вида интерфейса:

    Графический интерфейс пользователя (англ. Graphical user interface, GUI). — управление с помощью графических кнопок, менюшек, панелей, окон. Множество действий можно выполнять с помошью мыши.

Приемущества: визуальное отображениие программ и их содержимого, функционал программ можно изучать без чтения документации.

    Интерфейс командной строки (англ. Command Line Interface, CLI). -это управление с помощью команд. Команды состоят из букв, цифр, символов, набираются построчно, выполняются после нажатия клавиши ентер. Основной инструмент здесь клавиатура и ваша память =) без нее команды не набрать.

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