Для работ по установке и настройке программы 1С Предприятие на сервере с ОС Linux необходимо знать определенный минимум команд и обладать навыками работы в консоле.

Конечно, командная оболочка UNIX-подобных систем это целая религия, и рассказать о всех нюансах работы с ней в одной статье невозможно. Для более глубокого изучения предмета рекомендуем почитать учебные и справочные  руководства по Linux. Тем не менее, сжато изложим тот минимум знаний по командам Linux, который позволит выполнить все основные операции по установке и настройке 1С.

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

Следует учесть что файловая система Linux регистрозависимая, файл c именем  file и File будут двумя разными сущностями. Ключи команд можно писать слитно, например три разных ключа  -c -v -f  можно записать как -cvf. Следует также учесть, что список команд основан на дистрибутивах Red Hat Enterprise Linux / CentOS. Для других дистрибутивов ряд команд может отличаться. В частности в разделе Установка пакетов, указаны команды для rpm-пакетов.

Общие

Команда Пример команды Описание Комментарий
Опции команды

Псевдонимы

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

Общие

clear clear очистка экрана
history history показать историю выполнения команд

Файлы

ls [каталог] ls -la /opt/etc вывод списка файлов
-R вывод списка файлов и подкаталогов в конкретном каталоге(—recursive)
-1 в одну колонку
-a все файлы (+ скрытые) (—all)
-A все файлы (+ скрытые, — “.”; “..”)
-l полный формат с информацией: размер/владелец/права доступа(—format= long)
-i показывает номер индексного дескриптора файла
-h в Кб/Мб… – округляет!
-t отсортированы по дате и времени

(—sort=time)

-s отсортированы по размеру файлов

(—sort=size)

pwd pwd показать текущий каталог Для понимания реального имени каталога, а не псевдонима(мягкой ссылки) используйте pwd -P
-P путь к текущему физическому(даже если вы перешли по мягкой ссылке) каталогу(—physical)
-L покажет логическое имя (мягкую ссылку, если вы зашли по ней)(—logical)
cd [каталог] cd /opt/etc  переход в другой каталог
~ в рабочий
в предыдущий
touch touch /opt/etc/file1 изменяет время доступа и модификации файла создаст новый файл!
-t устанавливает произвольную дату и время
без опции несуществующий файл создаст новый файл!
mkdir mkdir /opt/etc/new  создает новый каталог
-p создает новый каталог + подкаталоги(—parents)
cp cp /opt/etc/file1 /opt/file1 копирует файл file1 из каталога /opt/etc/ в каталог /opt/ можно использовать часть имени myfile*.txt
-v вывод подробной информации о копировании (—vebrose)
-I запрос подтверждения «перезаписи» файлов -одинаковым именем(y/n). (—interactive) нет возможности: указать y/n «для всех». Ctrl+C – отменить выполнение.
-R рекурсивно (—recursive)
= -dpR, но не обрабатывает символьный ссылки(—archive)
mv

[источник] [приемник]

mv /opt/etc/file1 /opt/etc/file2  перемещает файл/

переименовывает файл(в примере файл file1 в file2)

делает тоже, что и cp –a, а после копирования удаляет файлы в источнике.
ln ln жесткая ссылка различия видно в: ls -i, ls -l
-s мягкая ссылка
rm rm -rf /home/test
удаляет файлы, с ключом -r удаляет так же каталоги ВНИМАНИЕ !!!

rm -rfудалит ВСЕ файлы и система станет нерабочей. Обязательно указывайте параметр — имя каталога/файла для удаления.

-R или -r
рекурсивно удаляет все подкаталоги(—recursive). Будьте ОСТОРОЖНЫ !!!
-f не показывать вопросы «подкаталог не пустой» (—force)
-i выводить запрос на подтверждение каждой операции удаления, действует по умолчанию и без указания ключа, подавляется ключом -f
rmdir rmdir /opt/test удалить каталог
cat cat /opt/file1
файл 1 вывод содержимого файла на терминал
файл 1 файл2 конкатенация файлов
-n нумерация
lsof lsof -u Usr1cv8  получение списка открытых файлов
-u открытых конкретным пользователям
[file] получение списка пользователей, работающих с этим файлом решает задачу обратную опции -u
-c [программа] список процессов, соответствующей программы

Права/Владельцы/Группы

sudo [cmd] sudo cat /opt/secret_file
выполнение команды от имени root, например чтение файла доступного только root текущий пользователь не меняется
su [username] su user1 вход под другим пользователем
-l + с переменными окружения этого пользователя
su su вход под root Иногда тербуется ввод команды sudo su root
+ с переменными окружения root
chgrp chgrp grp1cv8 изменить группу файла
-R рекурсивно
chown [user:group] chown -R usr1cv8:grp1cv8 /dir/1cv8  изменить владельца и/или группу файла «chown :group» = «chgrp group»
-R рекурсивно
chmod chmod -R 777 /opt/etc  установить права
4 цифры(0-7) числовой Подробнее о правах в Linux можно почитать в Права на файлы в Linux
u/g/o +/- символьный
-R рекурсивно

Архивирование и сжатие

zip zip -i /*.txt  сжимает, создает один общий фай архива, исходники остаются
[0-9] уровень сжатия
-r рекурсивно. Объединяет в один
-i /*.txt архивировать файлы определенного типа
-p запаролить архив пароль сохранится в истории командной строки
-e зашифровать и запаролить архив
upzip unzip /opt/test.zip
разархивировать
-v доп. информация
-t проверить архив
gzip gzip -c file.txt > file.txt.gz сжимает и удаляет исходные файлы
не удалять исходники. Обязательно > архив gzip -c file.txt > file.txt.gz
-R сжимает рекурсивно – по одному архиву на один файл.
ctrl+C прервать выполнение
-d распаковать = gunzip
tar tar -cf archive.tar file1 только архивирует, но не сжимает, для сжатия указать ключ файл архива включает  исходные  файлы, структуру каталогов, права и группы, временные метки.
-c создать архив -pzcvf / — pjcvf
-x распаковать архив и разархивировать -pzxvf
-f указать имя архива (всегда последний ключ!!!) -cvf
-p сохранить права
-z сжать gzip-ом обычно: *.tar.gz
-j сжать bzip2-ом обычно: *.tar.bz2
-v подробности выполнения -pjcvf
-t проверка файлов предназначенных для разархивирования -zvtf

Поиск

| grep [«строка поиска» файл] netstat -tlnp | grep :15  ищет слово по подстроке.

| направление результата произвольной команды в grep

pain найдёт: painting, apain и тд.

Можно: | grep| grep| grep…

-r рекурсивно
-c количество вхождений
-n номера строк
-i игнорировать регистр
-w точный поиск (только слово)
—color=auto
—color=always
—color=never
подсветка совпадений
-v подробная информация
-l поиск внутри файлов покажет файлы, содержащие данное слово
-A число строк «после» найденного вхождения А 2 СтрокаПоиска
-B число строк «до» найденного вхождения
-C число
find find / -name "postge*service" поиск файла
-name по имени или его части чувствительно к регистру
-iname по имени или его части игнорирует регистр
-user/-group по имени(или ид) владельца, группы
-size по размеру

-size +10M

-size 10M

-size -10M

b 512-байтовые блоки

c Байты

k Кибибиты

M Мибибиты

G Гибибиты

-print вывести результат на терминал
-type поиск по типу файла f/d/l/b/c/p/s – обычный/каталог/симв ссылка/спец файл блочного типа и тд
-a — прочтен

-c — изменен

-m -модифицирован

по времени -amin –cmin –mtime и тд
min

time

newer

минуты

сутки(дробные части игнорируются) никогда

-mmin +240 модифицированы более чем 240 минут назад

-ctime 0 — то изменения в течении последних 24 часов

-a (and)
-o (or) -size +10M –o –size 10M
-n
-exec выполнить команду

{} – каждый файл

\нейтрализовать спецсимвол ;

find … -exec rename ‘s///g ’{} \;
+ объединяет в порции применение –exec к каждому файлу длинный список аргументов.

Конвейер получает результат одной команды и использует его как ВВОД для второй

Объединение команд (потоков)

; выполнить команду, независимо от результата
&& выполнить команду, только если предыдущая была успешной
|| выполнить команду, только если предыдущая была неуспешной
$() подстановка результата одной команды в другую
| ps -fU usr1cv8 | grep 'rphost' 
передача выходных данных одной команды на вход другой Например можно фильтровать результат команды утилитой grep для поиска нужной информации

каналы:
0 – вход(stdin),
1 – выход(stdout),
2 – ошибки(stderr)

> перенаправление результат команды – запись в файл перезаписывает файл
>> echo 'one more string' >> test.txt перенаправление результат команды – запись в конец файл дозаписывает в файл – добавляет строку в конец.
< чтение из файла – на вход команды
Для редактирования файлов можно использовать текстовые редакторы. Например, vim. О том, как им пользоваться – можно прочитать в Текстовые редакторы Linux.

vim и др. забирают управление у оболочки – невозможно использовать каналы.

Установка пакетов

yum yum localinstall /distrib/ postgresql11*
localinstall установить пакет и зависимые пакеты, поиск осуществлять только на этом компьютере
Install установить пакет и зависимые пакеты yim install [пакет]
remove удалить и зависимые пакеты зависимые будут удалены, если они не используются другими пакетами.
update обновить пакет
list installed список установленных пакетов при установке исходные пакеты удаляются
search [строка] поиск пакетов готовых к копированию будет слишком большой список
list available поиск пакетов готовых к копированию |grep имя пакета
rpm rpm -qa | grep 1C_Enter от имени root
-i установить пакет (install)
-u обновить(upgrade) – заменяет и i(рекомендуется, кроме установки ядра)
-h информирование о процессе установки
-v вывод подробной информации(vebrose)
-qa какие пакеты инсталлированы
-e (erase) удалить пакеты

Контроль использования системных ресурсов

uptime uptime  как долго работает компьютер
top top  автоматически сортирует выходные данные по уровню нагрузки на ЦП динамически обновляемые сведения
k удалить процесс (15 –мягкое завершение)
ps ps -fU usr1cv8  инфо о процессах, выполняющихся в системе ps aux -w
a все процессы, выполняющиеся на компьютере stat

r-выполняющийся

s- спящий

t- остановленный

z — зомби

u отображать пользователя-владельца процесса
x показывать процессы не контролируемые ttys
-w не обрезать вывод размерами терминального окна
axjf отображение дерева процессов

PPID — идентификатор родительского процесса

общий предок для всех процессов — init
U Пользователь отобразить процессы конкретного пользователя
kill

[ид процесса]

kill 1234  завершение процесса
-1 (-HUP) перезагрузка конф. файлов, соотв. Программы (для программ типа samba)
-15 (-TERM) мягкое завершение– дать возможность завершить действия и освободить ресурсы (по умолчанию)
-9 (-KILL) завершить без возможности
killall killall завершить все процессы
free free  текущее состояние свободно оперативной памяти отображает меньше реального объема – т.к. часть занято ядром системы
-k в килобайтах по умолчанию
-b в байтах
-m в мегабайтах
-/+ buffers/cache под буфера и кэш если понадобится – будет освобождена для программ – как дополнение к вирт памяти
df df -h  общий объем, объем занятого и свободного дискового пространства по каждой точке монтирования
-h вывод в: Мб/Кб/Гб
du du -h /pgdata объем занятого дискового пространства

упорядочить по убыванию размера

-a показывать размер и каталогов и файлов (—all)
-h вывод в: Мб/Кб/Гб
-s общий объем каталога без инфо о подкаталогах

Сетевое взаимодействие

ping ping проверка способности компьютера принимать запросы работает до Ctrl+C
-c ограничить число пакетов
Ctrl+C завершить выполнение
ifconfig ifconfig определение состояния сетевых интерфейсов устарела

[имя интефейса] = eth0(пример)

-a(all) в том числе неработающие
[имя интефейса] [ip адрес] изменения параметров = ip addr add [ip адрес] dev [имя интерфейса]
[имя интерфейса] promisc принимать все пакеты (не только отправленные именно ей) eth0 = ip link set dev [имя интерфейса] promisc on
[имя интерфейса]

-promisc

принимать только пакеты отправленные именно карте [имя] eth0 =ip link set dev [имя интерфейса] promisc off
[имя интерфейса] hw ether [New MAC-address] изменение MAC-адреса предварительно отключить устройство, после изм. параметра — включить
ifdown ifdown eth0 перевод сетевого устройства в неактивное состояние
ifup ifup eth0 активировать сетевое соединение
route

чтение — всем

изменение — root

Поля результата: таблица маршрутизации = ip route show

(структура результата другая)

Destination — Целевой IP-адрес

— default — остальные

к какому шлюзу
Gateway Маршрутизатор:

— * — шлюз не нужен

— IP-адрес

Genmask . Какой из 4 октетов в целевом адресе учитывать 255.255.255.0 – учитывать только последний
Flags U – маршрут активирован,

G – использовать шлюз.

Metric
Use
Iface
add добавить маршрутизатор
del удалить маршрутизатор
-net адрес целевой сети
default «по умолчанию»
gw адрес шлюза
dev [имя устройства] используемое устройство
traceroute traceroute контроль прохождения пакета между двумя узлами *** — 5-секундный таймаут
nmcli nmcli инфо по беспроводным соединениям NetworkManager command line interface
-p device status статус
-f [поля] dev show [имя беспроводного интерфейса] инфо о беспроводном интерфейсе детальное поля: GENERAL, IP4, WI-FI-PROPERTIES
ip {объект команда} ip addr add 192.168.0.77 dev eth1 никогда не используется сама по себе
addr show up определение состояния сетевых интерфейсов

(address)

ath0, wlan0 — карта беспроводной(ethernet) связи

Интерфейсы:

eth0 – первичный сетевой

eth1 – вторичный сетевой

lo –обратной петли

addr add [ip адрес] dev [имя интерфейса] изменения параметров = ifconfig [имя интефейса] [ip адрес]
link set dev [имя интерфейса] promisc on принимать все пакеты (не только отправленные именно ей) eth0 = ifconfig [имя интерфейса] promisc
link set dev

[имя] promisc off

принимать только пакеты отправленные именно карте [имя] eth0 = ifconfig [имя интерфейса] -promisc
link set dev [имя] address [New MAC-address] = ifconfig [имя интерфейса] hw ether [New MAC-address]
link set [имя] down перевод сетевого устройства в неактивное состояние от root

= ifdown

link set [имя] up активировать сетевое соединение = ifup
route show

чтение — всем

изменение — root

таблица маршрутизации. Результат:

default via [ip адрес] dev [имя интерф]

ip/24

= route

вся исходящая инф. из сети: [имя интерф] должна идти на маршрутизатор с [ip адрес]

использовать толко последний октент. Пределах 1-255 использовать указанный тут маршрутизатор(шлюз не нужен)

add [ip/число] dev [имя устройства] добавить маршрутизатор default via [ip]

/24

10.1.0.0/16 без выхода в интернет

del удалить маршрутизатор

Справка

man less (?)

(manual)

[1-8] – номера страниц полное справочное руководство

* По строкам: стрелка «вниз»/«вверх»;

* По страницам: «f»/«b». (forward/backward);

* Поиск: / «термин поиска» Enter,

продолжить: Enter/N вернуться: Shift+ Enter

* Выход: «Q»