Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions pages.ru/common/find.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# find

> Рекурсивно искать файлы или каталоги в дереве каталогов.
> Смотрите также: `fd`.
> Больше информации: <https://manned.org/find>.

- Найти файлы по расширению:

`find {{путь/к/каталогу}} -name '{{*.ext}}'`

- Найти файлы, соответствующие нескольким шаблонам пути/имени:

`find {{путь/к/каталогу}} -path '{{*/путь/*/*.ext}}' -or -name '{{*шаблон*}}'`

- Найти каталоги по имени без учёта регистра:

`find {{путь/к/каталогу}} -type d -iname '{{*lib*}}'`

- Найти файлы по шаблону, исключив определённые пути:

`find {{путь/к/каталогу}} -name '{{*.py}}' -not -path '{{*/site-packages/*}}'`

- Найти файлы в заданном диапазоне размеров, ограничив глубину рекурсии до "1":

`find {{путь/к/каталогу}} -maxdepth 1 -size {{+500k}} -size {{-10M}}`

- Выполнить команду для каждого файла (используйте `{}` для подстановки имени файла):

`find {{путь/к/каталогу}} -name '{{*.ext}}' -exec {{wc -l}} {} \;`

- Найти все файлы, изменённые сегодня, и передать результаты одной команде как аргументы:

`find {{путь/к/каталогу}} -daystart -mtime {{-1}} -exec {{tar -cvf archive.tar}} {} \+`

- Найти пустые файлы или каталоги и удалить их с выводом:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Найти пустые файлы или каталоги и удалить их с выводом:
- Найти пустые файлы или каталоги и удалить их с подробным выводом:


`find {{путь/к/каталогу}} -type {{f|d}} -empty -delete -print`
36 changes: 36 additions & 0 deletions pages.ru/common/less.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# less

> Открывать файл для интерактивного чтения с возможностью прокрутки и поиска.
> Больше информации: <https://greenwoodsoftware.com/less/>.

- Открыть файл:

`less {{исходный_файл}}`

- Прокрутить страницу вниз/вверх:

`{{<Space>|<b>}}`

- Перейти в конец/начало файла:

`{{<G>|<g>}}`

- Найти строку вперёд (нажать `<n>`/`<N>` для перехода к следующему/предыдущему совпадению):

`</>{{строка}}`

- Найти строку назад (нажать `<n>`/`<N>` для перехода к следующему/предыдущему совпадению):

`<?>{{строка}}`

- Включить слежение за выводом текущего открытого файла:

`<F>`

- Открыть текущий файл в редакторе:

`<v>`

- Выйти:

`<q>`
37 changes: 37 additions & 0 deletions pages.ru/common/scp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# scp

> Безопасное копирование.
> Копировать файлы между хостами по протоколу Secure Copy через SSH.
> Больше информации: <https://man.openbsd.org/scp>.

- Скопировать локальный файл на удалённый хост:

`scp {{путь/к/локальному_файлу}} {{удалённый_хост}}:{{путь/к/удалённому_файлу}}`

- Указать порт для подключения к удалённому хосту:

`scp -P {{порт}} {{путь/к/локальному_файлу}} {{удалённый_хост}}:{{путь/к/удалённому_файлу}}`

- Скопировать файл с удалённого хоста в локальный каталог:

`scp {{удалённый_хост}}:{{путь/к/удалённому_файлу}} {{путь/к/локальному_каталогу}}`

- Рекурсивно скопировать содержимое каталога с удалённого хоста в локальный каталог:

`scp -r {{удалённый_хост}}:{{путь/к/удалённому_каталогу}} {{путь/к/локальному_каталогу}}`

- Скопировать файл между двумя удалёнными хостами через локальный:

`scp -3 {{хост1}}:{{путь/к/удалённому_файлу}} {{хост2}}:{{путь/к/удалённому_каталогу}}`

- Указать имя пользователя при подключении к удалённому хосту:

`scp {{путь/к/локальному_файлу}} {{имя_пользователя}}@{{удалённый_хост}}:{{путь/к/удалённому_каталогу}}`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
`scp {{путь/к/локальному_файлу}} {{имя_пользователя}}@{{удалённый_хост}}:{{путь/к/удалённому_каталогу}}`
`scp {{путь/к/локальному_файлу}} {{имя_удалённого_пользователя}}@{{удалённый_хост}}:{{путь/к/удалённому_каталогу}}`


- Указать закрытый SSH-ключ для аутентификации на удалённом хосте:

`scp -i {{~/.ssh/закрытый_ключ}} {{путь/к/локальному_файлу}} {{удалённый_хост}}:{{путь/к/удалённому_файлу}}`
Comment on lines +31 to +33
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Указать закрытый SSH-ключ для аутентификации на удалённом хосте:
`scp -i {{~/.ssh/закрытый_ключ}} {{путь/к/локальному_файлу}} {{удалённый_хост}}:{{путь/к/удалённому_файлу}}`
- Указать приватный SSH-ключ для аутентификации на удалённом хосте:
`scp -i {{~/.ssh/приватный_ключ}} {{путь/к/локальному_файлу}} {{удалённый_хост}}:{{путь/к/удалённому_файлу}}`

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You used закрытый ключ, which is formally correct in academic Russian. However, in the dev community and other tldr (ru*) pages, the term приватный ключ is much more common and widely understood.


- Использовать прокси при подключении к удалённому хосту:

`scp -J {{имя_пользователя_прокси}}@{{хост_прокси}} {{путь/к/локальному_файлу}} {{удалённый_хост}}:{{путь/к/удалённому_файлу}}`
17 changes: 17 additions & 0 deletions pages.ru/common/sed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# sed

> Редактировать текст в скриптовом режиме.
> Смотрите также: `awk`, `ed`.
> Больше информации: <https://manned.org/sed.1posix>.

- Заменить все вхождения `apple` (базовый `regex`) на `mango` (базовый `regex`) во всех строках ввода и вывести результат в `stdout`:

`{{команда}} | sed 's/apple/mango/g'`

- Выполнить определённый файл ([f]ile) скрипта и вывести результат в `stdout`:

`{{команда}} | sed -f {{путь/к/скрипту.sed}}`

- Вывести только первую строку в `stdout`:

`{{команда}} | sed -n '1p'`
37 changes: 37 additions & 0 deletions pages.ru/common/ssh-keygen.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# ssh-keygen

> Генерировать ключи SSH для аутентификации, беспарольного входа и других целей.
> Смотрите также: `ssh-copy-id`.
> Больше информации: <https://man.openbsd.org/ssh-keygen>.

- Сгенерировать ключ в интерактивном режиме:

`ssh-keygen`

- Сгенерировать ключ ed25519 с 32 раундами функции деривации и сохранить в определённый файл:

`ssh-keygen -t {{ed25519}} -a {{32}} -f {{~/.ssh/имя_файла}}`

- Сгенерировать ключ RSA 4096 бит с email в качестве комментария:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Сгенерировать ключ RSA 4096 бит с email в качестве комментария:
- Сгенерировать 4096-битный RSA-ключ с email в качестве комментария:


`ssh-keygen -t {{rsa}} -b {{4096}} -C "{{комментарий|email}}"`

- Удалить ключи хоста из файла known_hosts (полезно, когда у известного хоста новый ключ):

`ssh-keygen -R {{удалённый_хост}}`

- Получить отпечаток ключа в формате MD5 Hex:

`ssh-keygen -l -E {{md5}} -f {{~/.ssh/имя_файла}}`

- Изменить пароль ключа:

`ssh-keygen -p -f {{~/.ssh/имя_файла}}`

- Изменить формат ключа (например, из OPENSSH в PEM), файл будет перезаписан:

`ssh-keygen -p -N "" -m {{PEM}} -f {{~/.ssh/закрытый_ключ_OpenSSH}}`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
`ssh-keygen -p -N "" -m {{PEM}} -f {{~/.ssh/закрытый_ключ_OpenSSH}}`
`ssh-keygen -p -N "" -m {{PEM}} -f {{~/.ssh/приватный_ключ_OpenSSH}}`


- Извлечь открытый ключ из закрытого:

`ssh-keygen -y -f {{~/.ssh/закрытый_ключ_OpenSSH}}`
Comment on lines +35 to +37
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Извлечь открытый ключ из закрытого:
`ssh-keygen -y -f {{~/.ssh/закрытый_ключ_OpenSSH}}`
- Извлечь публичный ключ из приватного::
`ssh-keygen -y -f {{~/.ssh/приватный_ключ_OpenSSH}}`