Основные команды Linux: справочник команд Linux

В этой статье мы постарались систематизировать основные команды Linux. Команды, которые вы увидите в этом списке, одинаково верно работают в разных дистрибутивах, включая Debian, Gentoo, Ubuntu, ASPLinux, ALTLinux и т. д. Главная цель статьи — создать список основных команд Linux, что упростит как изучение, так и эксплуатацию этой операционной системы.

Состав дистрибутива PostgreSQL

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

В состав PostgreSQL входят ряд приложений, утилит и каталогов с данными. Его главное приложение (postmaster или postgres) содержит серверный код, отвечающий за обслуживание запросов на доступ к данным от клиентов. Утилиты, такие как pg_ctl, применяются для уп­равления главным серверным процессом, который должен выполнять­ся постоянно, обеспечивая работу сервера. В каталоге data находятся все файлы, необходимые базе данных. В них хранятся не только таб­лицы и записи, но и системные параметры.

По умолчанию устанавливаются все компоненты PostgreSQL, пере­численные в табл. 2, каждый в соответствующем подкаталоге. В ка­честве общего каталога (и каталога по умолчанию при установке из ис­ходного кода) обычно используется /usr/local/pgsql.

Главный каталог PostgreSQL включает в себя следующие подката­логи:

Таблица 2. Компоненты PostgreSQL

Каталог

Описание

bin

Приложения и утилиты, например pg_ctl и postmaster

data

Файлы базы данных

doc

Документация в формате HTML

include

Заголовочные файлы для разработки приложений PostgreSQL

lib

Библиотеки для разработки приложений PostgreSQL

man

Руководство по PostgreSQL

share

Примеры файлов конфигурации

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

Файлы, используемые PostgreSQL, можно разделить на несколько ка­тегорий. Файлы программ не могут и не должны изменяться во время работы. Файлы журналов, создаваемые сервером, содержат информа­цию о доступе к базе данных и могут быть очень полезны в решении проблем. Они растут по мере того, как в них добавляются новые запи­си. Файлы данных — это сердце системы, в них хранится вся информа­ция всех баз данных.

Из соображений эффективности и удобства администрирования фай­лы разных типов можно поместить в разные каталоги. Гибкость PostgreSQL позволяет хранить файлы программ, системных журналов и данных в различных местах, а дистрибутивы Linux позволяют извлечь из этой гибкости максимум выгоды.

Например, в SuSE 7.0 программы PostgreSQL размещаются вместе с остальными приложениями в /usr/bin, для журнальных файлов от­водится /var/log/postgresql, а данные хранятся в /var/lib/pgsql/data. Благодаря этому можно легко разделить процедуры резервного копи­рования наиболее важных файлов данных и менее критичных жур­нальных файлов и т. п.

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

Читайте также:  Как настроить оболочку GNOME в Ubuntu с помощью расширений

$ rpm -q -l postgres /usr/bin/createdb …. /usr/share/man/manl/ $

Чтобы просмотреть все установленные файлы, придется запустить rpm для каждого из пакетов, входящих в PostgreSQL:

$ rpm -q -l pg_serv /sbin/conf.d/ ….. /var/lib/pgsql/data/pg_options $

В разных дистрибутивах названия пакетов могут слегка отличаться, в данном случае серверному пакету дано имя pg_serv. Вместо rpm мож­но использовать графический менеджер пакетов, например kpackage (рис. 2), поставляемый в комплекте с оболочкой KDE:

Рис. 2. Графический менеджер пакетов kpackage

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

Иногда бывает удобнее установить PostgreSQL из исходного кода.

Вас заинтересует / Intresting for you: Устанавливать или обновлять Po… 921 просмотров Максим Николенко Sun, 12 Aug 2018, 11:07:20 Установка PostgreSQL 10.5 из и… 1448 просмотров Tarcoola Ningae Sun, 19 Aug 2018, 11:45:55 Основные типы данных PostgreSQ… 3606 просмотров Андрей Волков Mon, 30 Jul 2018, 11:44:18 Author: Tarcoola NingaeДругие статьи автора:

  • Установка PostgreSQL 10.5 из исходного кода на Unix и Linux
  • Создание веб-страниц в SQL*Plus — MARKUP

RPM (Red Hat Package Manager)

Как мы уже говорили, RPM — это менеджер пакетов, используемый в операционных системах, основанных на Red Hat, это вся ветка дистрибутивов: Fedora, OpenSUSE, Red Hat, CentOS и т д. Изначально этот пакетный менеджер был разработан в компании Red Hat еще в 1997 году и только для их дистрибутива, но затем он распространился и в другие операционные системы. Вместо обычного сжатия здесь используется сжатие gzip по алгоритму cpio и особый формат файла архива, его мы рассмотрим ниже. Здесь в сравнении rpm или deb, первый кажется лучше, но не все так просто, если в системе нет нужных утилит, то вы не сможете распаковать такой пакет. Кроме cpio могут использоваться и другие алгоритмы сжатия, например, lzma или xz. В последнее время все программное обеспечение подписывается ключами для удостоверения подлинности, вот и RPM поддерживает подпись с помощью GPG и MD5. Технология PatchRPMs или DeltaRPMs позволяет грамотно обновлять RPM пакеты без больших затрат трафика.

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

Для работы с RPM могут использоваться несколько различных пакетных менеджеров, это универсальная утилита rpm, пакетный менеджер zypper в OpenSUSE, dnf в Fedora, urpmi в Mageia, yum — во многих дистрибутивах, основанных на Fedora.

Рассмотрим основные особенности RPM:

  • Автоматическое разрешение зависимостей в большинстве случаев корректно
  • Файл архива имеет специальный формат
  • Не поддерживается реализация зависимостей с выбором зависти от пакет1 или пакет2.
  • Не поддерживаются рекомендованные пакеты
  • Позволяет настроить зависимость от файла, а не пакета
  • Все данные об установленных пакетах хранятся в базе данных поэтому при надобности можно проверить контрольные суммы
  • Поддерживаются сценарии как до, так и после установки программ
  • Поддерживается формат SRPM, который содержит в себе исходники программы все патчи с инструкции по сборке, позволяющие собрать программу из исходников на локальной машине.
  • Отличная поддержка Multilib пакетов
Читайте также:  Astra Linux – отечественная операционная система

Команды Linux для работы с директориями и файлами

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

2.1 Файлы и директории

# pwd # Выводится текущий путь; # ls # Выводится список каталогов и файлов по порядку; # ls -laX # Выводится отформатированный список всех директорий и файлов, в том числе скрытых; # cd # Для перехода в домашнюю директорию; # cd /home # Для перехода в директорию /home; # touch /home/primer2 # Создаётся пустой файл /home/primer2; # tail /var/log/messages # Выводится конец файла. Это удобно, если вы работе с большими файлами и логами; # cat /home/primer2 # Показывается содержимое файла; # nano /home/primer2 # Обеспечивается редактирование файла; # gedit /home/primer2 # Ещё одна Linux-команда для редактирования файла; # echo "Последняя строчка" | sudo tee -a /home/primer2 # К концу файла добавляется "Последняя строчка"; # cp /home/[email protected]/ /home/ # Копируется /home/[email protected]/ в home/; # mkdir /home/[email protected]/shaman # Создаётся директория с именем shaman; # rmdir /home/[email protected]/shaman # Удаляется директория с именем shaman; # rm -rf /home/[email protected]/shaman # Удаляется директория со вложенными фалами; # ln -s /home/[email protected]/ /home/primer # Cоздаётся символическая ссылка к файлу /home/[email protected]/; # cp -la /dir1 /dir2 # Для копирования директории; # mv /dir1 /dir2 # Для переименовывания директории; # du -sh /home/[email protected]/ # На экран выводится размер заданной директории. Команда подходит и для определения размера файлов; # locate primer # Выполняется поиск файлов с именем primer.

2.2 Права доступа

# [sudo] chmod 0777 /home/ # Меняются права доступа к директории. В данном случае 0777 – это разрешение на чтение/запись/исполнение для всех групп; # [sudo] chown [email protected]:ITShaman /home/ # Меняются владелец и группы, но только для файла /home/; # [sudo] chmod -R 0777 /home/ # Происходит рекурсивное изменение прав доступа к директории. Значение 0777 мы уже описали выше. Права 0777 будут иметь все вложенные файлы и директории; # [sudo] chown -R [email protected] /home/ # Для всего содержимого директории меняется владелец.

Установка, удаление и обновление пакетов

Для установки программ в Linux используются менеджеры пакетов. Они разнятся от дистрибутива к дистрибутиву, поэтому команды для управления ими тоже отличаются. Рассмотрим наиболее популярные.

Debian/Ubuntu

  • sudo apt-get install название пакета — устанавливает программу на выбор. Главное знать, как она называется.
  • sudo apt remove название пакета — стирает с жесткого диска имеющийся в системе пакет.
  • sudo apt-get update — обновляет информацию о пакетах, имеющихся в системе, и тех, что хранятся в подключенных репозиториях.
  • sudo apt-upgrade — обновляет установленные пакеты до самых свежих версий, доступных в подключенных репозиториях.

Red Hat Linux/CentOS

  • sudo dnf install название пакета — устанавливает программу на выбор.
  • sudo dnf upgrade — обновляет установленные пакеты до самых свежих версий.
  • sudo dnf remove название пакета — стирает с жесткого диска имеющийся в системе пакет.

Запуск исполняемых файлов и скриптов

Иногда программы для Linux поставляются уже в виде готового исполняемого файла в бинарном виде, либо в виде программы на каком-либо скриптовом языке (bash, Python‎, Perl, PHP и т. д.). Обычно тип файла можно определить по расширению: .bin — бинарный исполняемый файл, .sh — скрипт Bourne shell или bash. .py — программа на языке Python, .pl — скрипт Perl. Некоторые исполняемые файлы имеют расширение .run. Но в Linux использование расширений у исполняемых файлов не является обязательным. Если файл представляет собой скрипт, то программа для его выполнения обычно указывается в первой строчке. Например, если строка имеет вид #!/usr/bin/perl, то это скрипт на Perl, а если #!/usr/bin/env bash, то это bash скрипт. Просмотреть файл можно с помощью команды less file. Для запуска программы необходимо дать ей права на исполнение, делается это с помощью команды:

Читайте также:  Как найти и удалить битые символические ссылки в Linux

sudo chmod +x

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

./

Сценариям на скриптовых языках можно не давать права на исполнение (chmod +x), можно определить тип файла, как указано выше и запустить соответствующий интерпретатор с указанием исполняемого файла. Например:

sh

или

python

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

Использование yum через прокси

Yum для работы с репозиториями программ использует протокол HTTP/1.1. Если ваш Linux сервер имеет доступ в интернет только через HTTP прокси сервер, вы можете указать имя прокси сервера в конфигурационном файле /etc/ в секции [main]:

proxy=http://proxyservername:3128

Если прокси-сервер требует авторизацию, добавьте строки:

proxy_proxy_username=userproxy_password=pass

Для проверки работы yum через прокси сервер воспользуйтесь командой

Использование yum через прокси

yum clean all && yum search nginx

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

Если нужно использовать прокси только для некоторых репозиториев, не нужно править файл /etc/, а настройки прокси указать в конфигурационном файле репозитория /etc/ваш_.

Итак, в этой статье мы рассмотрели базовые возможности менеджера rpm пакета yum в Linux CentOS/ RHEL. В следующей статье мы более подробно поговорим об управлении репозиториями в Yum. Знакомьтесь, пробуйте и используйте yum в своей работе.

Ссылки

  • Официальный сайт (англ.)
  • Идеальный сисадмин: RPM (пояснение выгоды для администраторов)
  • man-страница RPM (англ.)
  • Сборка пакетов простым пользователем (англ.)
  • Package File Format — Linux Standards Base (англ.)
  •  (англ.) — каталог пакетов с возможностью поиска
  •  (англ.) — каталог пакетов с возможностью поиска
  •  — скрипт для распаковки пакетов
  • Подключение сторонних RPM-репозиториев в Fedora/CentOS
  • План перехода с Windows на Linux: Часть 9. Установка программного обеспечения (рус.) developerWorks Россия
  •  — Влад Горелецкий. Русский перевод книги Эрика Фостер-Джонсона Red Hat RPM Guide