mirror of
https://github.com/xmengnet/the-art-of-command-line.git
synced 2024-12-25 00:46:30 +08:00
мелкие доработки 2 к основной куче исправлений
This commit is contained in:
parent
b4d7c22898
commit
def0e12a49
1 changed files with 10 additions and 11 deletions
21
README-ru.md
21
README-ru.md
|
@ -18,13 +18,12 @@
|
||||||
|
|
||||||
![curl -s 'https://raw.githubusercontent.com/jlevy/the-art-of-command-line/master/README.md' | egrep -o '`\w+`' | tr -d '`' | cowsay -W50](cowsay.png)
|
![curl -s 'https://raw.githubusercontent.com/jlevy/the-art-of-command-line/master/README.md' | egrep -o '`\w+`' | tr -d '`' | cowsay -W50](cowsay.png)
|
||||||
|
|
||||||
Продвинутому использованию командной строки зачастую не уделяют достаточного внимания, о терминале говорят, как о чем-то мистическом; на самом же деле — это умение прямо или косвенно увеличивает Вашу продуктивность в работе. Данный документ — это подборка заметок и советов, которые я нашел для себя полезными, работая с командной строкой в Linux. Некоторые из их них — простые и очевидные, но некоторые довольно сложные и предназначены для решения конкретных задач. Это небольшая публикация, но если Вы знаете обо всём, что тут написано, и можете вспомнить, как это всё использовать — вы много знаете!
|
Продвинутому использованию командной строки зачастую не уделяют достаточного внимания, о терминале говорят, как о чём-то мистическом; на самом же деле — это умение прямо или косвенно увеличивает Вашу продуктивность в работе. Данный документ — это подборка заметок и советов, которые я нашёл для себя полезными, работая с командной строкой в Linux. Некоторые из них — простые и очевидные, но некоторые — довольно сложные и предназначены для решения конкретных задач. Это небольшая публикация, но если Вы знаете обо всём, что тут написано, и можете вспомнить, как это всё использовать — вы много знаете!
|
||||||
|
|
||||||
Многое из того, что тут написано
|
Многое из того, что тут написано, [изначально](http://www.quora.com/What-are-some-lesser-known-but-useful-Unix-commands)
|
||||||
[изначально](http://www.quora.com/What-are-some-lesser-known-but-useful-Unix-commands)
|
|
||||||
[появилось](http://www.quora.com/What-are-the-most-useful-Swiss-army-knife-one-liners-on-Unix)
|
[появилось](http://www.quora.com/What-are-the-most-useful-Swiss-army-knife-one-liners-on-Unix)
|
||||||
на [Quora](http://www.quora.com/What-are-some-time-saving-tips-that-every-Linux-user-should-know),
|
на [Quora](http://www.quora.com/What-are-some-time-saving-tips-that-every-Linux-user-should-know).
|
||||||
начав идею там, похоже, что стоит развить ее на Gihub, где обитают люди, которые талантливее меня и могут предлагать улучения данной подборки. Если Вы заметили ошибки (во всех вариантах перевода), пожалуйста, оставьте тикет или киньте пулл-реквест (заранее изучив описание и посмотрев на уже созданнные тикеты и пулл-реквесты).
|
Начав идею там — похоже, что стоит развить её на Gihub, где обитают люди, талантливее меня, и могут предлагать улучшения данной подборки. Если Вы заметили ошибки (во всех вариантах перевода), пожалуйста, оставьте тикет или киньте пулл-реквест (заранее изучив описание и посмотрев на уже созданнные тикеты и пулл-реквесты).
|
||||||
|
|
||||||
## Описание
|
## Описание
|
||||||
|
|
||||||
|
@ -39,7 +38,7 @@
|
||||||
|
|
||||||
- Для того, чтобы руководство оставалось одностраничным, вся информация вставлена прямо сюда. Вы достаточно умны для того, чтобы детальнее изучить вопрос в другом месте. Используйте `apt-get`/`yum`/`dnf`/`pacman`/`pip`/`brew` (в зависимости от вашей системы управления пакетами) для установки новых програм.
|
- Для того, чтобы руководство оставалось одностраничным, вся информация вставлена прямо сюда. Вы достаточно умны для того, чтобы детальнее изучить вопрос в другом месте. Используйте `apt-get`/`yum`/`dnf`/`pacman`/`pip`/`brew` (в зависимости от вашей системы управления пакетами) для установки новых програм.
|
||||||
|
|
||||||
- На [Explainshell](http://explainshell.com/) можно найти простое и подробное объясение того, что такое команды, флаги, пайпы и т.д.
|
- На [Explainshell](http://explainshell.com/) можно найти простое и подробное объяснение того, что такое команды, флаги, пайпы и т.д.
|
||||||
|
|
||||||
## Основы
|
## Основы
|
||||||
|
|
||||||
|
@ -80,7 +79,7 @@
|
||||||
|
|
||||||
- Если Вы написали команду наполовину и вдруг передумали, нажмите **alt-#**, чтобы добавить `#` к началу, и отправьте команду как комментарий. Потом вы сможете вернуться к ней по истории.
|
- Если Вы написали команду наполовину и вдруг передумали, нажмите **alt-#**, чтобы добавить `#` к началу, и отправьте команду как комментарий. Потом вы сможете вернуться к ней по истории.
|
||||||
|
|
||||||
- Не забывайте использовать `xargs` (или `parallel`). Это очень мощная штука. Обратите внимание, что Вы можете контролировать количество команд на каждую строку и их параллельность. Если Вы не уверены, что делаете что-то правильно, начните с `xargs echo`. Еще `-I{}` – полезная штука. Примеры:
|
- Не забывайте использовать `xargs` (или `parallel`). Это очень мощная штука. Обратите внимание, что Вы можете контролировать количество команд на каждую строку и их параллельность. Если Вы не уверены, что делаете что-то правильно, начните с `xargs echo`. Ещё `-I{}` – полезная штука. Примеры:
|
||||||
```bash
|
```bash
|
||||||
find . -name '*.py' | xargs grep some_function
|
find . -name '*.py' | xargs grep some_function
|
||||||
cat hosts | xargs -I{} ssh root@{} hostname
|
cat hosts | xargs -I{} ssh root@{} hostname
|
||||||
|
@ -124,9 +123,9 @@
|
||||||
|
|
||||||
- Используйте `screen` или [`tmux`](https://tmux.github.io/), чтобы иметь несколько экранов в одном терминале; это особенно полезно, когда вы работаете с удаленным сервером. Тогда Вы можете подключаться к/отключаться от сессий. Более лаконичный подход для этого – использование `dtach`.
|
- Используйте `screen` или [`tmux`](https://tmux.github.io/), чтобы иметь несколько экранов в одном терминале; это особенно полезно, когда вы работаете с удаленным сервером. Тогда Вы можете подключаться к/отключаться от сессий. Более лаконичный подход для этого – использование `dtach`.
|
||||||
|
|
||||||
- В SSH полезно знать port tunnel с флагами `-L` и `-D` (и иногда `-R`), например для того, чтобы зайти на сайт с удаленного сервера.
|
- В SSH полезно знать [туннелирование](https://ru.wikibooks.org/wiki/SSH_%D1%82%D1%83%D0%BD%D0%BD%D0%B5%D0%BB%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5) с флагами `-L` и `-D` (и иногда `-R`), чтобы зайти на сайт с удаленного сервера.
|
||||||
|
|
||||||
- Ещё может быть полезно оптимизировать вашу SSH конфигурацию, например этот файл `~/.ssh/config` содержит настройки, которые помогают избегать потерянные подключения в некоторых сетевых окружениях. Используйте сжатие (которое полезно с scp через медленные подключения) и увеличьте количество каналов к одному серверу через этот конфиг:
|
- Ещё может быть полезно оптимизировать вашу SSH-конфигурацию, например, файл `~/.ssh/config` содержит настройки, которые помогают избегать потерянные подключения в некоторых сетевых окружениях. Используйте сжатие (которое полезно с scp через медленные подключения) и увеличьте количество каналов к одному серверу через этот конфиг:
|
||||||
```
|
```
|
||||||
TCPKeepAlive=yes
|
TCPKeepAlive=yes
|
||||||
ServerAliveInterval=15
|
ServerAliveInterval=15
|
||||||
|
@ -172,7 +171,7 @@
|
||||||
|
|
||||||
- Для работы с Amazon S3 удобно работать с [`s3cmd`](https://github.com/s3tools/s3cmd) и [`s4cmd`](https://github.com/bloomreach/s4cmd) (последний работает быстрее). Для остальных сервисов Амазона используйте стандартный [`aws`](https://github.com/aws/aws-cli).
|
- Для работы с Amazon S3 удобно работать с [`s3cmd`](https://github.com/s3tools/s3cmd) и [`s4cmd`](https://github.com/bloomreach/s4cmd) (последний работает быстрее). Для остальных сервисов Амазона используйте стандартный [`aws`](https://github.com/aws/aws-cli).
|
||||||
|
|
||||||
- Знайте про `sort` и `uniq`, включая флаги `-u` и `-d`, смотрите примеры ниже. Еще гляньте на `comm`.
|
- Знайте про `sort` и `uniq`, включая флаги `-u` и `-d`, смотрите примеры ниже. Ещё гляньте на `comm`.
|
||||||
|
|
||||||
- Знайте про `cut`, `paste`, и `join` для работы с текстовыми файлами. Многие люди используют `cut`, забыв про `join`.
|
- Знайте про `cut`, `paste`, и `join` для работы с текстовыми файлами. Многие люди используют `cut`, забыв про `join`.
|
||||||
|
|
||||||
|
@ -285,7 +284,7 @@
|
||||||
```
|
```
|
||||||
Это почти как рекурсивная `ls -l, но более читабельно чем `ls -lR`:
|
Это почти как рекурсивная `ls -l, но более читабельно чем `ls -lR`:
|
||||||
|
|
||||||
- Используйте `xargs` (или `parallel`). Это очень мощная штука. Обратите внимание, что Вы можете контролировать количество команд на каждую строку, а также параллельность. Если Вы не уверены, что делаете что-то правильно, начните с `xargs echo`. Еще `-I{}` – полезная штука. Примеры:
|
- Используйте `xargs` (или `parallel`). Это очень мощная штука. Обратите внимание, что Вы можете контролировать количество команд на каждую строку, а также параллельность. Если Вы не уверены, что делаете что-то правильно, начните с `xargs echo`. Ещё `-I{}` – полезная штука. Примеры:
|
||||||
```sh
|
```sh
|
||||||
find . -name '*.py' | xargs grep some_function
|
find . -name '*.py' | xargs grep some_function
|
||||||
cat hosts | xargs -I{} ssh root@{} hostname
|
cat hosts | xargs -I{} ssh root@{} hostname
|
||||||
|
|
Loading…
Reference in a new issue