Терминал linux для начинающих

Поиск и использование регулярных выражений

Для поиска файлов в bash используется команда find. Ее синтаксис следующий: find + нужная директория (путь) + ключ (или несколько) + критерии ключа + (опционально) последующее действие над найденными файлами.

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

find --h

К примеру, следующая команда позволит вам найти все файлы, которые находятся в директории dir1, и имеют название file:

find /home/users/dir1 -name ‘file*’

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

* — обозначает любое количество символов, включая их отсутствие (например, по запросу file* будут найдены все файлы: file, file1, file829, fileabc и т.д.);

? — обозначает один символ (по запросу file? будут найдены файлы с одним символом после слова file: file1, file9, filea и т.д.; по запросу file?? будут найдены файлы с двумя символами: file12, file34, file92 и т.д.);

[] — обозначает подмножество значений, которые может принимать один символ (по запросу file будут найдены файлы: file1, file2, file3 и так далее до file9; по запросу file файлы filea, fileb, filec и filed).

Редактирование файлов в Ubuntu через терминал

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

Если файл нужно открыть от имени администратора:

Редактор nano очень прост, для перемещения по файлу используйте кнопки со стрелками, после того, как закончите редактировать файл ubuntu, нажмите чтобы сохранить Ctrl+O, а для выхода Ctrl+X. Еще поддерживается поиск и замена, но все на очень примитивном уровне, и этого явно недостаточно для того чтобы работать эффективно.

Другой редактор ориентирован на профессионалов — это редактор vim. Он очень гибкий, может работать в двух режимах — командном и обычном режиме набора текста. Чтобы открыть с помощью него файл выполните:

Или для редактирования файла с правами суперпользователя:

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

Сочетания клавиш эмулятора терминала

Все сочетания клавиш, перечисленные выше будут работать во всех терминалах и эмуляторах терминала, которые используют командную оболочку Bash или другую популярную оболочку. Но у популярных эмуляторов терминала есть свои горячие клавиши, которые могут вам очень сильно пригодится при работе. Давайте рассмотрим их тоже. В этой статье будут использоваться горячие клавиши из Gnome Terminal, но в других терминалах они похожи.

1. Ctrl + Alt + T

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

2. Ctrl + Shift + С и Ctrl + Shift + V

Копирование и вставка — очень важные функции операционной системы. Сочетание клавиш Ctrl + C просто не может работать для копирования, потому что оно используется для завершения команды, поэтому для копирования и вставки была добавлена клавиша Shift.

3. Ctrl + Shift + F

Если вам надо выполнить поиск по выводу в терминале можно воспользоваться сочетанием Ctrl + Shift + F. После нажатия откроется окно ввода, в котором вы можете ввести искомое слово.

4. Shift + ЛКМ и Shift + ПКМ

Здесь ЛКМ и ПКМ — это правая и левая кнопка мышки. Такие программы, как screen и tmux в режиме поддержки работы мышью захватывают контроль мышки и вяжут на неё свои функции. Таким образом обычное копирование и вставка могут стать проблемой. Чтобы этого избежать можно выделять текст сочетанием клавиш Shift + ЛКМ и открывать контекстное меню с помощью Shift + ПКМ.

Какие существуют руководства для управления командной строкой

Всех полезных функций консоли этой операционной системы не счесть. Необходимо самостоятельно изучить их по материалам из руководств пользователей или книг от опытных людей. В качестве примера книга У. Шоттса «Командная строка Linux: полное руководство». Она лучше всех остальных знакомит читателя с философией линукса и основами работы в консоли.

Важно! Также следует обратить внимание на материал Е. Немета «Руководство системного администратора», которая не только познакомит с линукс, но и поможет освоиться в нелегком деле системного администрирования

Книга для обучения азам терминала линукс для начинающих

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

Визуализация

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

  • шрифт и его размер;
  • форма курсора;
  • исходный размер;
  • цвета текста и фона.

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

17 команд терминала, о которых должен знать каждый пользователь Ubuntu:

17 команд для новичков в Ubuntu#1. ls: перечислить содержание директории

Если вы хотите увидеть скрытые директории и файлы (в том числе начинающиеся с точки), флаг -a.

Посмотрите руководство для большей информации (man ls).

#2. cd: изменить директорию

Запомните,
. означает текущую директорию
.. означает «родительскую» директорию
~ означает домашнюю директорию пользователя

#3. pwd: вывести адрес текущей рабочей директории

#4. mkdir: создать папку

#5. rm: удалить файл/директорию

Замечание: эта команда удаляет папку (директорию) только если она пустая, если вы не определите флаг -f для полного удаления. Но будьте осторожны с аргументами -r и -f. (-rf очень опасен)

#6. sudo: выполнить как суперпользователь, для получения его привилегий
Например,

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

#7. mv: переименовать или переместить файл/директорию

команда выше переместит файл file1 из текущей директории в назначенную папку

Это переименует файл new_logo.jpg.

#8. cat: Просмотреть содержание файла

#9. man: подробное руководство по утилитам/командам/программам

Например, если вы хотите узнать больше о команде rm, то выполните команду:

#10. cp: скопировать файлы/папки

Команда выше скопирует файл movie_name.mp4 в определённую директорию

#11. wget: загружайте файлы
GNU Wget полезен в загрузке файлов из интернета через командную строку:

#12. gksudo: выполняйте графические приложения с привилегиями администратора root

Команда выше откроет nautilus с root-привилегимями. Это как sudo, но в графическом режиме.

#13. shutdown: чтобы выключить ваш компьютер из терминала

где время может быть 0, если вы хотите выключить компьютер сейчас, или вы можете определить точное время — 10:30.

#14. restart: перезагрузка компьютера

Для управления пакетами в Ubuntu есть особые команды. Они требуют root-привилегий, так что просто добавьте sudo перед ними (команда спросит ваш пароль и начнёт работать!). Кстати, если хотите установить microsoft excel office, советую пройти по вышеуказанной ссылке.

#15. apt-get: консольная утилита для управления пакетами
Есть различные опции, такие как:
install – чтобы установить пакет
Например, чтобы установить PyRoom (текстовый редактор без отвлекающих элементов)

remove – чтобы удалить пакет

update – чтобы обновить список пакетов и их версии

upgrade — чтобы обновить все пакеты в вашей системе

#16. add-apt-repository – чтобы добавить PPA-репозиторий
Например, чтобы добавить PPA-репозиторий для программы Eidete (программа для скринкастинга)

После добавления PPA требуется команда apt-get update

#17. apt-cache: чтобы просмотреть детали пакета из кеша
search: поиск определённых пакетов через apt-cache
Например:

Терминал

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

Запустить терминал можно следующим образом:

В Unity: Главное меню → Набрать в поисковой строке слово Терминалили нажать комбинацию клавиш: Ctrl Alt T

В Gnome FallbackПриложения → Стандартные → Терминал

В Xfce (Xubuntu): Главное меню → Приложения → Система → Терминал

В KDE (Kubuntu): Главное меню → Приложения → Система → Терминал

В LXDE (Lubuntu): Главное меню → Системные → LXTerminal

После запуска терминала мы видим строку с приглашением к вводу команд, например: vladimir@Zotac-Zbox-Nano:~$

vladimir — имя учетной записи пользователя@ — разделитель между учетной записью и именем компьютера Zotac-Zbox-Nano — имя компьютера : — разделитель ~ — в какой папке выполняется команда, ~ это домашняя папка пользователя, если выполните команду ls то получите список файлов из этой папки $ — приглашение к выполнению команды с правами простого пользователя (# будет означать приглашение на выполнение команд с правами администратора)

Изменение привязки кнопок терминала tmux

В tmux комбинации кнопок, используемые для выполнения определённых действий, называются привязанными клавишами (key bindings). По умолчанию сочетания клавиш состоят из комбинации кнопки Ctrl и другой (других) кнопки(кнопок) — примеры показаны выше.

Если в предшествующих примерах сочетания кнопок по умолчанию показались вам неудобными, вы можете изменить их и настроить либо:

1) на уровне пользователя (создав файл с именем внутри домашней директории каждого пользователя — не пропустите начальную точку в имени файла), или

2) на уровне системы (посредством файла /etc/, который по умолчанию отсутствует).

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

Например, давайте предположим, что вы хотите использовать Alt+a вместо Ctrl+b, тогда нужно следующее содержимое в одном из упомянутых ранее файлах:

unbind C-b set -g prefix M-a

После сохранения изменений, перезапустите tmux. Вы сможете использовать соответственно Alt+a и «, а также Alt+a и t для разделения окна по горизонтали и показа текущего времени внутри активной панели.

Консоль

Отлично, если вы хотите: расширенная настройка с помощью простых диалогов

Так много восхитительных деталейсмотрите

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

После настройки профилей погрузитесь в управление вкладками. Параметр «Разделить вид» отображает содержимое нескольких вкладок одновременно. Чтобы перемещать вкладки между окнами Konsole, просто используйте параметр «Клонировать вкладки» или отсоедините вкладку, чтобы открыть ее в новом окне.

Веб-сайт

Запуск программ от имени другого пользователя

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

Но с помощью опции -u можно выполнить программу от имени любого пользователя, зарегистрированного в системе:

Команда whoami (кто я) выводит имя текущего пользователя.

Что такое Терминал?

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

До появления привычных нам графических интерфейсов люди пользовались текстовыми терминалами, в которые вводили команды при помощи клавиатуры, а результат вычислений выводился на экран. Однако, и по сей день терминал, точнее эмулятор терминала, есть в каждой операционной системе: в Windows – это приложение cmd.exe (Command Line или просто «Консоль»), в Linux и MacOS– программа Terminal.

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

Хитрости, которые сэкономят время

Этот список полезных знаков позволит вам в разы ускорить работу с командами:

  • — повторяет последнюю команду;
  • — позволяет изменить команду, сохраняя последний аргумент:

    • — используется, если файл слишком длинный, чтобы поместиться на экране;
    • — используется для повторного открытия в меньшем объёме;
  • —позволяет изменить команду, сохраняя при этом все аргументы:

    • — при использовании должен быть хвост;
    • — нет необходимости вводить остальную часть команды;
  • — используется для создания пустого файла или очистки существующего.
  • — позволит определить, к каким скриптам идёт обращение со стороны веб-сервера.

Работа с файлами

Следующие команды потребуются вам при работе с файлами разного типа и объёма:

  • — для относительно коротких файлов:;
  • —  считывает текст не полностью, а небольшими фрагментами:;
  • — для длинных файлов;
  • — используется для просмотра растущего файла в окне интерактивного запуска кода.

Что вы можете сделать с двоичными файлами? На самом деле, вариантов не очень много:

  • — команда выведет готовые к печати строки файла;
  • — позволит вам напечатать файл в восьмеричном формате;
  • — даёт возможность побайтно сравнивать файлы.

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

  • — отсортированные файлы будут строка за строкой;
  • — позволяет построчно выявить различия. Эта команда используется наиболее часто в силу богатого набора опций.

Команды для отображения базовой информации и управления системой

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

  • df — показывает, сколько пространства занято на подключенных дисках и разделах. По умолчанию отображает данные в килобайтах. Можно переключиться на мегабайт, добавив параметр -m. Это выглядит так: df -m.
  • du — расскажет, сколько места занимает конкретный файл или папка. Чтобы узнать, насколько тяжелая директория Desktop, введем: du ~/Desktop. du отображает информацию в блоках. Но это неудобно, поэтому обычно к ней добавляют опцию -h, чтобы появились привычные мегабайты, килобайты и байты.
  • free — тоже связана с памятью, только с оперативной. Показывает, сколько занято, а сколько свободно. Чтобы включить отображение в мегабайтах, надо так же добавить аргумент -h.
  • uname — вывод информации о системе и сервере. Аргумент -a показывает имя компьютера, версию ядра, текущую дату и время, разрядность системы и ее тип. Можно запрашивать отдельные фрагменты данных через дополнительные опции: -s — только имя ядра; -n — имя компьютера (ноды) в сети; -o — название операционной системы; -p — тип процессора; -s — версия ядра.
  • whoami — покажет, кто вы есть. Имя учетной записи, через которую вы зашли в систему или подключились к серверу.
  • date — из названия ясно, что команда отображает текущее время и дату. 
  • sleep — задерживает запуск скриптов на выбранный период времени. Единица времени указывается через опции: -s — секунды; -m — минуты; -h — часы; d — дни.

На этом все. Это список команд, которыми я хотел бы поделиться с новичками

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

Работа с утилитами *ctl

systemctl

— управляет работой системных сервисов и утилит.

systemctl   

systemctl -l status nginx
— проверка состояния сервиса.

systemctl start ngnix
— запуск работы сервиса.

systemctl stop nginx
— остановка работы сервиса.

systemctl enable nginx
— включение сервиса при старте системы.

systemctl disable nginx
— выключение сервиса при старте системы.

systemctl reload nginx
— обновление конфигурационного файла сервиса.

systemctl restart nginx
— перезапуск сервиса.

systemctl is-enabled
— проверка включения сервиса при старте системы.

systemctl list-unit-services
— вывод списка всех сервисов.

systemctl show nginx
— вывод свойств сервиса.

systemctl cat nginx
— вывод списка зависимых и исходных файлов сервиса.

loginctl

— менеджер учетных записей.

loginctl   

loginctl list-users
— вывод авторизованных пользователей.

loginctl user-status root
— вывод авторизованных пользователей.

loginctl show-user root
— вывод свойств пользователя.

loginctl terminate-user root
— удаление всех сессий пользователя.

journalctl

— вывод журналов (логов) сервисов.

journalctl 

journalctl —disk-usage
— вывод количества занятой памяти под логи.

journalctl —unit=nginx
— вывод логов сервиса.

journalctl —output=verbose —unit=nginx
— вывод всех полей в логе сервиса.

journalctl —output=cat —unit=nginx
— вывод только сообщений из лога сервиса.

Команды для управления правами на файлы и директории

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

  • sudo — выдает права суперпользователя. Используется перед любой другой командой в терминале, если нужно выполнить ее от имени администратора. Многие программы и операции запускаются исключительно при наличии этих прав, так что sudo используется часто. Например, чтобы обновить список пакетов в Ubuntu, введем: sudo apt-get update. При этом система запросит пароль администратора.
  • sudo su — переводит терминал в режим суперпользователя. В нем каждая введенная команда будет восприниматься системой так, будто перед ней ввели sudo. Помогает запускать несколько скриптов и утилит, требующих права администратора, без необходимости постоянно корректировать их или вводить пароль от учетной записи.
  • sudo gksudo — используется для запуска графических утилит от имени администратора. В Windows для этого есть специальная кнопка в контекстном меню, а в Linux — префикс. Синтаксис такой:
​sudo gksudo название приложения, нуждающееся в запуске от имени администратора
  • sudo !! — запускает предыдущую команду от имени администратора. Используется, если до этого была неудачная попытка запустить программу. Помогает не тратить время на повторный ввод большого количества символов.
  • chmod — корректирует права доступа к выбранному файлу. Применяется исключительно с набором аргументов, обозначающих список прав. Допустим, я хочу выдать права на чтение и запись файла Timeweb.html на рабочем столе. Для этого введу в терминал: chmod 777 ~/Desktop/timeweb.html. Теперь его можно открывать и редактировать. Аналогичным образом пользователи поступают с системными файлами, когда приходит время что-то в них менять. По умолчанию большая их часть защищена от записи.
  • chown — назначает владельца для выбранной директории, документа, картинки или любого другого элемента в файловой системе. Синтаксис следующий:
chown имя учетной записи, которому надо передать права путь до файла, права на который нужно передать

Установка программ

Одна из самых востребованных и удобных операций, которые выполняют в коммандной строке — это установка программ. Если вам приходилось работать с такими программами, как Ubuntu Software Center, или Synaptics Package Manager — все они красивые оболочки, запускающие, по мере необходимости, те-же самые консольные програмы.

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

Например, для того, чтоб одним махом установить браузеры Mozilla Firefox, Chromium и Opera, достаточно выполнить одну команду:

В предыдущей команде использована комнда sudo, которая позволяет выпонить следующую за ней команду с правами «Рута» (супер администратора в мире Linux). За ней идет команда apt-get, которая принимает в качестве параметров install firefox chromium-browser opera, что означает «установи все программы, идущие после параметра install».

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

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

Дополнительные возможности командной строки

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

  • автозавершение команд с использованием клавиши «Tab». Нажатие на клавишу «Tab» позволяет показать список возможных вариантов завершения еще не написанной команды;
  • как перейти в последнюю рабочую директорию. Если работа происходит между двумя папками, расположенными в разных местах жесткого диска, то для возврата в предыдущую директорию используют команду «cd -»;
  • как вернуться в домашнюю директорию. Практически аналогичная команда, которая выглядит так «cd ~». Она позволяет из любого места перейти в домашнюю папку Linux;
  • вывод на экран содержимого папки. Вывод содержимого (файлов и папок) того или иного каталога осуществляется выполнением последовательностей «ls —l» или «ll»;
  • вызов нескольких команд в одной строке, чтобы не ждать выполнения команды для ввода другой. Следует выполнить их через точку с запятой, например, «command_1; command_2; command_3»;
  • использование и поиск введенных команд. Если какое-то время назад вводилась длинная команда, то найти ее можно через нажатие сочетания «Ctrl + R» и набора любого ее отрывка;
  • как использовать команду «less». Чтобы не запускать текстовые редакторы, можно воспользоваться командой «less path_to_file», чтобы прочитать его содержимое;
  • копирование и вставка в командной строке линукс. Достаточно просто скопировать команды через комбинации «Ctrl + Shift + C» и «Ctrl + Shift + V».

Эмулятор терминала Linux

Команды Linux для управления сетью

Эти коды помогают настраивать Интернет и корректировать сетевые параметры в зависимости от пользовательских предпочтений.

Сетевые команды с примерами:

  • «nethogs» отображает данные по расходу интернет-трафика;
  • «ip» позволяет настроить сетевые параметры, демонстрирует наличие свободных портов. При включении дополнительных опций («show»/»help«) группирует в виде списка, формирует справку, подробный анализ;
  • «ping» производит диагностику сетевых подключений и их качества. Делает отчёт по работе роутеров, модемов и т. д.;
  • «tracerout» показывает скорость передачи данных и их подробный маршрут.

Диагностика сетевых подключений с помощью терминала

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector