From 40da4edaafe82a26d62826c7bbf6ba8e5dd56889 Mon Sep 17 00:00:00 2001 From: Tamanec <47279331+vltamanec@users.noreply.github.com> Date: Fri, 27 Feb 2026 12:17:19 +0700 Subject: [PATCH] diff, sort, openssl, xargs, touch: add Russian translation (#21148) Co-authored-by: Ivan Baluta --- pages.ru/common/diff.md | 37 +++++++++++++++++++++++++++++++++++++ pages.ru/common/openssl.md | 37 +++++++++++++++++++++++++++++++++++++ pages.ru/common/sort.md | 36 ++++++++++++++++++++++++++++++++++++ pages.ru/common/touch.md | 32 ++++++++++++++++++++++++++++++++ pages.ru/common/xargs.md | 38 ++++++++++++++++++++++++++++++++++++++ 5 files changed, 180 insertions(+) create mode 100644 pages.ru/common/diff.md create mode 100644 pages.ru/common/openssl.md create mode 100644 pages.ru/common/sort.md create mode 100644 pages.ru/common/touch.md create mode 100644 pages.ru/common/xargs.md diff --git a/pages.ru/common/diff.md b/pages.ru/common/diff.md new file mode 100644 index 0000000000..92a8e50137 --- /dev/null +++ b/pages.ru/common/diff.md @@ -0,0 +1,37 @@ +# diff + +> Сравнивать файлы и каталоги. +> Смотрите также: `delta`, `difft`. +> Больше информации: . + +- Сравнить файлы (показать изменения для преобразования `старого_файла` в `новый_файл`): + +`diff {{путь/к/старому_файлу}} {{путь/к/новому_файлу}}` + +- Сравнить файлы, игнорируя пробелы: + +`diff {{[-w|--ignore-all-space]}} {{путь/к/старому_файлу}} {{путь/к/новому_файлу}}` + +- Сравнить файлы, показывая различия бок о бок: + +`diff {{[-y|--side-by-side]}} {{путь/к/старому_файлу}} {{путь/к/новому_файлу}}` + +- Сравнить файлы, показывая различия в унифицированном формате (как в `git diff`): + +`diff {{[-u|--unified]}} {{путь/к/старому_файлу}} {{путь/к/новому_файлу}}` + +- Рекурсивно сравнить каталоги (показать имена отличающихся файлов/каталогов и изменения в файлах): + +`diff {{[-r|--recursive]}} {{путь/к/старому_каталогу}} {{путь/к/новому_каталогу}}` + +- Сравнить каталоги, показывая только имена отличающихся файлов: + +`diff {{[-r|--recursive]}} {{[-q|--brief]}} {{путь/к/старому_каталогу}} {{путь/к/новому_каталогу}}` + +- Создать файл патча для Git из различий двух текстовых файлов, считая несуществующие файлы пустыми: + +`diff {{[-a|--text]}} {{[-u|--unified]}} {{[-N|--new-file]}} {{путь/к/старому_файлу}} {{путь/к/новому_файлу}} > {{{путь/к/diff.patch}}` + +- Сравнить файлы с цветным выводом, стараясь найти минимальный набор изменений: + +`diff {{[-d|--minimal]}} --color=always {{путь/к/старому_файлу}} {{путь/к/новому_файлу}}` diff --git a/pages.ru/common/openssl.md b/pages.ru/common/openssl.md new file mode 100644 index 0000000000..38f5496276 --- /dev/null +++ b/pages.ru/common/openssl.md @@ -0,0 +1,37 @@ +# openssl + +> Криптографический набор инструментов OpenSSL. +> Некоторые подкоманды, такие как `req`, имеют собственную документацию по использованию. +> Больше информации: . + +- Сгенерировать приватный ключ и зашифровать выходной файл с помощью AES-256: + +`openssl genpkey -algorithm {{rsa|ec}} -out {{путь/к/приватному_ключу.key}} -aes256` + +- Сгенерировать соответствующий публичный ключ из приватного ключа с помощью `rsa`: + +`openssl rsa -in {{путь/к/приватному_ключу.key}} -pubout -out {{путь/к/публичному_ключу.key}}` + +- Сгенерировать самоподписанный сертификат, действительный указанное количество дней (365): + +`openssl req -new -x509 -key {{путь/к/приватному_ключу.key}} -out {{путь/к/сертификату.crt}} -days 365` + +- Конвертировать сертификат в формат `.pem` или `.der`: + +`openssl x509 -in {{путь/к/сертификату.crt}} -out {{путь/к/сертификату.pem|путь/к/сертификату.der}} -outform {{pem|der}}` + +- Просмотреть детали сертификата: + +`openssl x509 -in {{путь/к/сертификату.crt}} -text -noout` + +- Сгенерировать запрос на подпись сертификата (CSR): + +`openssl req -new -key {{путь/к/приватному_ключу.key}} -out {{путь/к/запросу.csr}}` + +- Показать справку: + +`openssl help` + +- Показать версию: + +`openssl version` diff --git a/pages.ru/common/sort.md b/pages.ru/common/sort.md new file mode 100644 index 0000000000..f2adc42a59 --- /dev/null +++ b/pages.ru/common/sort.md @@ -0,0 +1,36 @@ +# sort + +> Сортировать строки текстовых файлов. +> Больше информации: . + +- Отсортировать файл по возрастанию: + +`sort {{путь/к/файлу}}` + +- Отсортировать файл по убыванию: + +`sort {{[-r|--reverse]}} {{путь/к/файлу}}` + +- Отсортировать файл без учёта регистра: + +`sort {{[-f|--ignore-case]}} {{путь/к/файлу}}` + +- Отсортировать файл по числовому, а не алфавитному порядку: + +`sort {{[-n|--numeric-sort]}} {{путь/к/файлу}}` + +- Отсортировать `/etc/passwd` по 3-му полю и далее по числовому значению, используя `:` как разделитель полей: + +`sort {{[-t|--field-separator]}} : {{[-k|--key]}} 3n /etc/passwd` + +- То же, но при равенстве 3-го поля отсортировать по 4-му полю с числами в экспоненциальной записи: + +`sort {{[-t|--field-separator]}} : {{[-k|--key]}} 3,3n {{[-k|--key]}} 4,4g /etc/passwd` + +- Отсортировать файл, сохранив только уникальные строки: + +`sort {{[-u|--unique]}} {{путь/к/файлу}}` + +- Отсортировать файл, записав результат в указанный файл (можно использовать для сортировки файла на месте): + +`sort {{[-o|--output]}} {{путь/к/выходному_файлу}} {{путь/к/входному_файлу}}` diff --git a/pages.ru/common/touch.md b/pages.ru/common/touch.md new file mode 100644 index 0000000000..4ab81a72d2 --- /dev/null +++ b/pages.ru/common/touch.md @@ -0,0 +1,32 @@ +# touch + +> Создавать файлы и устанавливать время доступа/модификации. +> Больше информации: . + +- Создать указанные файлы: + +`touch {{путь/к/файлу1 путь/к/файлу2 ...}}` + +- Установить время доступа ([a]ccess) или модификации ([m]odification) файла на текущее, не создавая файл, если он не существует: + +`touch {{[-c|--no-create]}} {{-a|-m}} {{путь/к/файлу1 путь/к/файлу2 ...}}` + +- Установить время ([t]ime) файла на определённое значение, не создавая файл, если он не существует: + +`touch {{[-c|--no-create]}} -t {{ГГГГММДДЧЧММ.СС}} {{путь/к/файлу1 путь/к/файлу2 ...}}` + +- Установить метку времени файлов по метке эталонного файла, не создавая файл, если он не существует: + +`touch {{[-c|--no-create]}} {{[-r|--reference]}} {{путь/к/эталонному_файлу}} {{путь/к/файлу1 путь/к/файлу2 ...}}` + +- Установить метку времени, разобрав строку: + +`touch {{[-d|--date]}} "{{last year|5 hours|next thursday|nov 14|...}}" {{путь/к/файлу}}` + +- Создать несколько файлов с возрастающей нумерацией: + +`touch {{путь/к/файлу{1..10}}}` + +- Создать несколько файлов с буквенным диапазоном: + +`touch {{путь/к/файлу{a..z}}}` diff --git a/pages.ru/common/xargs.md b/pages.ru/common/xargs.md new file mode 100644 index 0000000000..4cb6a91ac4 --- /dev/null +++ b/pages.ru/common/xargs.md @@ -0,0 +1,38 @@ +# xargs + +> Выполнять команду с аргументами, переданными по конвейеру из другой команды, файла и т.д. +> Ввод обрабатывается как единый блок текста и разбивается на части по пробелам, табуляциям, переводам строк и концу файла. +> Смотрите также: `parallel`. +> Больше информации: . + +- Выполнить команду, используя входные данные как аргументы: + +`{{источник_аргументов}} | xargs {{команда}}` + +- Выполнить несколько команд в цепочке над входными данными: + +`{{источник_аргументов}} | xargs sh -c "{{команда1}} && {{команда2}} | {{команда3}}"` + +- Сжать все файлы с расширением `.log`, используя несколько потоков (`-print0` разделяет имена файлов нулевым символом, а `--null` использует его как разделитель): + +`find . -name '*.log' -print0 | xargs {{[-0|--null]}} {{[-P|--max-procs]}} {{4}} {{[-n|--max-args]}} 1 gzip` + +- Выполнить команду по одному разу для каждого аргумента: + +`{{источник_аргументов}} | xargs {{[-n|--max-args]}} 1 {{команда}}` + +- Выполнить команду для каждой входной строки, заменяя вхождения заполнителя (здесь `_`) на входную строку: + +`{{источник_аргументов}} | xargs -I _ {{команда}} _ {{дополнительные_аргументы}}` + +- Запустить до `max-procs` процессов параллельно (по умолчанию 1; при значении 0 xargs запустит максимально возможное число): + +`{{источник_аргументов}} | xargs {{[-P|--max-procs]}} {{max-procs}} {{команда}}` + +- Запросить подтверждение перед выполнением команды (подтвердить `y` или `Y`): + +`{{источник_аргументов}} | xargs {{[-p|--interactive]}} {{команда}}` + +- Разрешить команде доступ к терминалу для интерактивного ввода: + +`{{источник_аргументов}} | xargs {{[-o|--open-tty]}} {{команда}}`