Основные команды и операции в терминале Linux

👁 73 просмотров
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Команды

Объединение нескольких команд в одну последовательную операцию

$ cmd1 && cmd2 && cmd3

Установка нескольких пакетов за раз

$ apt-get install package1 package2 package3

Навигации

pwd — («Path Working Directory») абсолютный путь до текущей рабочей папки

ls [-a][-l] — («LiSt»)список всех файлов в текущей папке.

  • [-a] — показать все файлы, даже скрытые;
  • [-l] — показать длинную(полную) информацию о файлах;
  • [-la] — комбинация обеих ключей;

cd — («Change Directory»)смена директории.

  • [TAB] — позволяет автодополнять название папки, если такая имеется, при введени неполного имени

Shift + ~ — переход в домашнюю папку;

../.. — то же самое. Переход в домашнюю папку;

cat [filename] — («CATenate») читает данные из файла или стандартного ввода и выводит их на экран.

clear или Ctrl + L — очищает экран.

Работа с файлами и директориями

touch [fname.txt] — создание нового файла.

  • [{fname1,fname2,fname3}.txt] — создание нескольких файлов за раз. Список пишется без пробелов;

mkdir [dname] — («MaKe DIRectory»)создание директории.

rm [fname] — («ReMove»)удаление файла.

rm [-r][dname] — удаление директории с содержимым.

cp [fname1] [fname2] — («CoPy»)копирование файла.

mv [fname1] [fname2] — («MoVe»)перемещение или переименование файла.

Регулярные выражения POSIX / PERL

grep [-inwo][-rlс][-P][-f] [-A 2] [-B 2] [-C 2] [«pattern»] [«filename»]— («Gloval Regular ExPressions») регулярные выражения для использования в обработке данных и файлов

  • [-i] — («Ignore»)фильтр игнорирует регистр;
  • [-n] — («Number»)фильтр выводит номера строк совпадений
  • [-w] — («Word»)фильтр поиска слова целиком. Т.е., ищет при точном совпадении, а не при вхождении
  • [-o] — («Only»)фильтр вывода только строки вхождения
  • [-r] — («Recursive»)фильтр рекурсивного поиска, если файлов много
  • [-l] — («List»)фильтр вывода списка файлов с совпадениями
  • [-c] — («Count»)фильтр вывода количества совпадений в файле
  • [-P] — («Perl»)перевод регулярного выражения в совместимый с языком Perl/Python
  • [-f] — («File»)фильтр, указывающий, что шаблоны или список шаблонов РВ берутся из файла
  • [-A N] — («After»)контекст посде совпадения на N строк
  • [-B N] — («Before»)контекст перед совпадением на N строк
  • [-C N] — («Context»)контекст перед и до совпадения на N строк
  • [«pattern»] — Строка совпадения или шаблон поиска регулярного выражения
  • [«filename»] — файл(«file.txt») или список файлов в директории(folder/*)

Пример 1: grep -Pno «\d{3}-\d{2}-\d{2}» file.txt > log.text — поиск совпадений шаблона номера в файле и запись результата в текстовый файл
Пример 2: rep -Pnof patterns.txt file.txt > log.text — в данном случае операция соответствует первому примеру, но шаблон(ы) берется(утся) из файла «patterns.txt», в котором шаблон записан в виде «\d{3}-\d{2}-\d{2}»

Алиасы

Примечание. Все алиасы хранятся в файле ~/.bashrc и добавляются конец файла по мере необходимости. После каждого добавления нужно обновить этот файла командой . ~/.bashrc или командой source ~/.bashrc

Пример 1: alias activate=’source bin/activate’ — теперь достаточно зайти в папку виртуальной среды и выполнить команду activate, чтобы теперь активировать виртуальную среду.

Установка и работа с базами данных MySQL и PostgreSQL

База данных бывает полезна для поделок и работы в терминале Linux. В роли реляционной БД можно использовать самые известные: MySQL и PostgreSQL.

Установка MySQL

Установка

$ sudo apt-get install mysql-server mysql-client

в процессе установки система затребует пароль для пользователя по умолчанию БД MySQL root и надо будет ее ввести.

Входим в интерпретатор команд SQL

$ mysql -u root -p<password>

где <password> — пароль, который мы вводили для root. После удачного ввода заходим в консоль MySQL, который начинается с mysql>.

Показ списка существующих баз данных

mysql>show databases;

Создание новой базы данных:

mysql>create database my_db character set utf8 collate utf8_unicode_ci;
  • character set — параметр установки кодировки
  • collate — параметр для указания кодировки, при котором будут сравниваться символы. В данном случае кодировка указана как utf8, а сравнивание будет производиться по той же кодировке utf8. *_ci в конце кодировки сравнивания указывает, что сравнивание будет регистронезависимой.

Удаление базы данных

mysql>drop database my_db;

Выход из консоли

mysql>exit;

 

Установка PostgreSQL

Установка

$ sudo apt-get install postgresql

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

$ sudo -u postgres psql

Данная команда говорит системе, чтобы мы зашли в консоль под пользователя БД Postgres по умолчанию, который именуется, как postgres и могли выполнять операции. Далее мы войдем в консоль, который будет начинаться через postgres=#.

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

postgres=# \password

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

Создаем новую базу данных

postgres=# create database my_db;

 

Вывод списка всех БД

postgres=# \l

Удаление БД

postgres=# drop database db_name

 

Работа с CRON

Cron (Command Run ON) — система для автоматического запуска программ и скриптов на сервере в определённое время. Управлять cron нужно с помощью команды ‘crontab’.

Список задач cron для текущего пользователя можно посмотреть через команду

$ crontab -l

флаг -l указывает на то, что нужно вывести список(List) всех задач.

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

$ crontab -e

флаг -e указывает на то, что мы будем редактировать(Edit) список задач. После выполнения данной команды система потребует, чтобы вы из списка выбрали номер редатора, которым будете редактировать задания

Selection    Path                Priority   Status
------------------------------------------------------------
  0            /bin/nano            40        auto mode
  1            /bin/ed             -100       manual mode
  2            /bin/nano            40        manual mode
  3            /usr/bin/vim.basic   30        manual mode
  4            /usr/bin/vim.tiny    10        manual mode

Чтобы потом изменить редактор для cron нужно задать другое значение для параметра EDITOR

$ export EDITOR=/usr/bin/vim.basic

выбираем и идем дальше.

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

Пример скриншота, как выглядит файл задач cron
Пример скриншота, как выглядит файл задач cron

Чтобы разобраться, как задать время или интервалы исполнения нужно познакомиться с принципом задания значений cron. Ниже представлено описание параметров в их определенной позиции с лева направо

# ┌───────────── минуты (0 - 59)
# │ ┌───────────── часы (0 - 23)
# │ │ ┌───────────── дни в месяцах (1 - 31)
# │ │ │ ┌───────────── месяц (1 - 12)
# │ │ │ │ ┌───────────── день недели (0 - 6) (с понедельника по субботу;
# │ │ │ │ │                                   7 также воскресенье на некоторых системах)
# │ │ │ │ │
# │ │ │ │ │
# * * * * * команда выполнения

 

Замечение. Есть хорошие валидаторы, которые дадут ясное понимание, как работает cron в UNIX — подобном окружении и одним из таких является сервис https://crontab.guru.

Параметры ввремени cron можно задавать по разному и тут важно отличать периодичность выполнения, единоразовое выполнение и выполнение при каждом цикле:

  • */n — выполнить с периодом 1/n;
  • n — выполнить каждый раз в это время;
  • n0, n1 — выполнить каждый раз в n0 и n1;
  • n0-n1 — выполнить всякий раз в интервале с n0 по n1;
  • * — выполнить всегда, при каждом цикле.

Пример 1.

1 0 * * * printf "" > /var/log/apache/error_log

Данная команда будет очищать журнал ошибок Apache в одну минуту полуночи (00:01) каждый день.

Пример 2.

45 23 * * 6 /home/oracle/scripts/export_dump.sh

Этот пример запускает скрипт shell под названием export_dump.sh в 23:45 в каждую субботу.

Пример 3. 

*/15 20 * * 1-5 /home/oracle/scripts/script.sh

Этот пример запускает скрипт shell под названием script.sh в каждые 15 минут 20 часа вечера в каждый будний день с понедельника по пятницу.