mirror of
https://github.com/xmengnet/the-art-of-command-line.git
synced 2024-12-24 11:06:29 +08:00
fix links
This commit is contained in:
parent
1380920e1b
commit
296caf610a
1 changed files with 11 additions and 11 deletions
22
README-uk.md
22
README-uk.md
|
@ -13,7 +13,7 @@
|
||||||
- [Дебаггінг](#Дебаггінг)
|
- [Дебаггінг](#Дебаггінг)
|
||||||
- [Одним рядком](#Одним-рядком)
|
- [Одним рядком](#Одним-рядком)
|
||||||
- [Складно але корисно](#Складно-але-корисно)
|
- [Складно але корисно](#Складно-але-корисно)
|
||||||
- [Тільки для OS X](#os-x-only)
|
- [Тільки для OS X](#Тільки-для-os-x)
|
||||||
- [Інші джерела](#Інші-джерела)
|
- [Інші джерела](#Інші-джерела)
|
||||||
- [Декламація](#Декламація)
|
- [Декламація](#Декламація)
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@
|
||||||
Основне:
|
Основне:
|
||||||
|
|
||||||
- Дана публікація призначена як для недосвідчених, так і для досвідчених користувачів. Цілі: *об'ємість* (зібрати всі важливі аспекти використання командного рядка), *практичність* (надати конкретні приклади для найчастіших задач) та *стислість* (не варто вдаватись у неочевидні речі, про які можна прочитати в інших місцях).
|
- Дана публікація призначена як для недосвідчених, так і для досвідчених користувачів. Цілі: *об'ємість* (зібрати всі важливі аспекти використання командного рядка), *практичність* (надати конкретні приклади для найчастіших задач) та *стислість* (не варто вдаватись у неочевидні речі, про які можна прочитати в інших місцях).
|
||||||
- Цей документ написаний для користувачів Linux, із єдиним винятком - розділ "[Тільки для OS X](#os-x-only)". Все інше підходить для всіх UNIX/MacOS систем (і навіть для Cygwin).
|
- Цей документ написаний для користувачів Linux, із єдиним винятком - розділ "[Тільки для OS X](#Тільки-для-os-x)". Все інше підходить для всіх UNIX/MacOS систем (і навіть для Cygwin).
|
||||||
- Сфокусована на інтерактивному Bash, але багато речей також можуть бути використані в інших Шелах; і в застосовані до Bash-скриптів.
|
- Сфокусована на інтерактивному Bash, але багато речей також можуть бути використані в інших Шелах; і в застосовані до Bash-скриптів.
|
||||||
- Ця інструкція включає в себе стандартні Unix команди і ті, для яких потрібно встановлювати сторонні пакети. Вони настільки корисні, що варті того, щоб їх встановили.
|
- Ця інструкція включає в себе стандартні Unix команди і ті, для яких потрібно встановлювати сторонні пакети. Вони настільки корисні, що варті того, щоб їх встановили.
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@
|
||||||
- На [Explainshell](http://explainshell.com/) можна знайти просте і докладне пояснення того, що таке команди, їх опції, пайпи(pipes(*|*)) і т.д.
|
- На [Explainshell](http://explainshell.com/) можна знайти просте і докладне пояснення того, що таке команди, їх опції, пайпи(pipes(*|*)) і т.д.
|
||||||
|
|
||||||
|
|
||||||
##Основи
|
## Основи
|
||||||
|
|
||||||
- Вивчіть основи Bash. Просто візьміть і наберіть у командному рядку термінала `man bash` і хоча б перегляньте; він досить просто читається і він не дуже великий. Інші шелли теж можуть бути хороші, але Bash - потужна програма, і Bash завжди під рукою (використання *виключно* zsh, fish і т.д., які напевно круто виглядають на Вашому лептопі і ні в чому Вас не обмежують, наприклад Ви не зможете використовувати ці можливості Шеллу на вже існуючому сервері).
|
- Вивчіть основи Bash. Просто візьміть і наберіть у командному рядку термінала `man bash` і хоча б перегляньте; він досить просто читається і він не дуже великий. Інші шелли теж можуть бути хороші, але Bash - потужна програма, і Bash завжди під рукою (використання *виключно* zsh, fish і т.д., які напевно круто виглядають на Вашому лептопі і ні в чому Вас не обмежують, наприклад Ви не зможете використовувати ці можливості Шеллу на вже існуючому сервері).
|
||||||
- Вивчіть як використовувати хоча б один консольний редактор тексту. Найкраще Vim (`vi`), адже у нього немає конкурентів, коли вам потрібно швидко щось правити (навіть якщо Ви постійно використовуєте Emacs чи якийсь важкий IDE або модний хіпстерський редактор).
|
- Вивчіть як використовувати хоча б один консольний редактор тексту. Найкраще Vim (`vi`), адже у нього немає конкурентів, коли вам потрібно швидко щось правити (навіть якщо Ви постійно використовуєте Emacs чи якийсь важкий IDE або модний хіпстерський редактор).
|
||||||
|
@ -58,7 +58,7 @@
|
||||||
- Навчіться використовувати системами управління пакетами `apt-get`, `yum`, `dnf` та `pacman` (залежно від дистрибутива). Знайте як шукати і встановлювати пакети і обов'язково майте встановленим `pip` для установки командних утиліт, написаних на Python (деякі з тих команд, що ви знайдете нижче, найлегше встановити через `pip`).
|
- Навчіться використовувати системами управління пакетами `apt-get`, `yum`, `dnf` та `pacman` (залежно від дистрибутива). Знайте як шукати і встановлювати пакети і обов'язково майте встановленим `pip` для установки командних утиліт, написаних на Python (деякі з тих команд, що ви знайдете нижче, найлегше встановити через `pip`).
|
||||||
|
|
||||||
|
|
||||||
##Щоденне-використання
|
## Щоденне використання
|
||||||
|
|
||||||
- Використовуйте клавішу таб в Bash для автодоповнення аргументів до команд та **ctrl-r** для пошуку по історії командного рядка.
|
- Використовуйте клавішу таб в Bash для автодоповнення аргументів до команд та **ctrl-r** для пошуку по історії командного рядка.
|
||||||
- Використовуйте **ctrl-w** в Bash для того, щоб видалити останнє слово в команді; **ctrl-u** для того, щоб видалити команду повністю. Використовуйте **alt-b** і **alt-f** для того, щоб переміщатись між словами у команді, **ctrl-k** для того, щоб перейти в кінець рядка, **ctrl-l** для того, щоб очистити екран. Гляньте на `man readline` щоб дізнатися про всі шорткати Bash. Їх багато! Наприклад, **alt-.** переміщається між попередніми аргументам команди, а **alt-*** максимально розширює аргументи.
|
- Використовуйте **ctrl-w** в Bash для того, щоб видалити останнє слово в команді; **ctrl-u** для того, щоб видалити команду повністю. Використовуйте **alt-b** і **alt-f** для того, щоб переміщатись між словами у команді, **ctrl-k** для того, щоб перейти в кінець рядка, **ctrl-l** для того, щоб очистити екран. Гляньте на `man readline` щоб дізнатися про всі шорткати Bash. Їх багато! Наприклад, **alt-.** переміщається між попередніми аргументам команди, а **alt-*** максимально розширює аргументи.
|
||||||
|
@ -131,7 +131,7 @@
|
||||||
- Щоб виконати команду з привілеями, використовуйте `sudo` (для root) і `sudo -u` (для іншого користувача). Використовуйте `su` або `sudo bash`, щоб запустити шелл від імені цього користувача. Використовуйте `su -`, щоб симулювати свіжий вхід під root або gsl іншим користувачем.
|
- Щоб виконати команду з привілеями, використовуйте `sudo` (для root) і `sudo -u` (для іншого користувача). Використовуйте `su` або `sudo bash`, щоб запустити шелл від імені цього користувача. Використовуйте `su -`, щоб симулювати свіжий вхід під root або gsl іншим користувачем.
|
||||||
|
|
||||||
|
|
||||||
##Обробка-файлів-та-інформації
|
## Обробка файлів та інформації
|
||||||
|
|
||||||
- Для того, щоб знайти файл в поточній директорії, виконайте `find. -iname '*something*'`. Для того, щоб шукати файл по всій системі, використовуйте `locate something` (але не забувайте, що `updatedb` міг ще не проіндексувати нещодавно створені файли).
|
- Для того, щоб знайти файл в поточній директорії, виконайте `find. -iname '*something*'`. Для того, щоб шукати файл по всій системі, використовуйте `locate something` (але не забувайте, що `updatedb` міг ще не проіндексувати нещодавно створені файли).
|
||||||
- Для пошуку по вмісту або фалах (більш детально зробити пошук допоможе `grep -r`) використовуйте [`ag`](https://github.com/ggreer/the_silver_searcher).
|
- Для пошуку по вмісту або фалах (більш детально зробити пошук допоможе `grep -r`) використовуйте [`ag`](https://github.com/ggreer/the_silver_searcher).
|
||||||
|
@ -180,7 +180,7 @@
|
||||||
- Використовуйте `zless`, `zmore`, `zcat`, і `zgrep` для роботи зі стиснутими файлами.
|
- Використовуйте `zless`, `zmore`, `zcat`, і `zgrep` для роботи зі стиснутими файлами.
|
||||||
|
|
||||||
|
|
||||||
##Дебаггінг
|
## Дебаггінг
|
||||||
|
|
||||||
- Для веб-дебаггінга використовуйте `curl` і `curl -I`, або альтернативу - `wget` або [`httpie`](https://github.com/jakubroztocil/httpie).
|
- Для веб-дебаггінга використовуйте `curl` і `curl -I`, або альтернативу - `wget` або [`httpie`](https://github.com/jakubroztocil/httpie).
|
||||||
- Щоб отримати інформацію про диск/CPU/мережі використовуйте `iostat`, `netstat`, `top` (краще `htop`) і `dstat`. Використовуйте `iostat -mxz 15` для отримання основної інформації CPU.
|
- Щоб отримати інформацію про диск/CPU/мережі використовуйте `iostat`, `netstat`, `top` (краще `htop`) і `dstat`. Використовуйте `iostat -mxz 15` для отримання основної інформації CPU.
|
||||||
|
@ -202,7 +202,7 @@
|
||||||
- Використовуйте `dmesg`, коли щось відбувається зовсім дивне (це можуть бути проблеми із залізом або драйверами).
|
- Використовуйте `dmesg`, коли щось відбувається зовсім дивне (це можуть бути проблеми із залізом або драйверами).
|
||||||
|
|
||||||
|
|
||||||
##Одним-рядком
|
## Одним рядком
|
||||||
|
|
||||||
Кілька прикладів склеювання команд:
|
Кілька прикладів склеювання команд:
|
||||||
- Це досить круто, що можна знайти множинні перетину файлів, з'єднати відсортовані файли і подивитися різницю в декількох файлів через `sort`/`uniq`. Це швидкий підхід і працює на файлах будь-якого розміру (включаючи багатогігабайтними файли). (Сортування не обмежено пам'яттю, але можливо вам доведеться додати `-T`, якщо `/tmp` знаходиться на невеликому логічному диску). Ще подивіться на те, що було сказано вище про `LC_ALL`. Прапор сортування `-u` не використовується нижче, щоб було зрозуміліше:
|
- Це досить круто, що можна знайти множинні перетину файлів, з'єднати відсортовані файли і подивитися різницю в декількох файлів через `sort`/`uniq`. Це швидкий підхід і працює на файлах будь-якого розміру (включаючи багатогігабайтними файли). (Сортування не обмежено пам'яттю, але можливо вам доведеться додати `-T`, якщо `/tmp` знаходиться на невеликому логічному диску). Ще подивіться на те, що було сказано вище про `LC_ALL`. Прапор сортування `-u` не використовується нижче, щоб було зрозуміліше:
|
||||||
|
@ -241,7 +241,7 @@
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
##Складно-але-корисно
|
## Складно але корисно
|
||||||
|
|
||||||
- `expr`: для виконання арифметичних і булевих операцій, а також регулярних виразів
|
- `expr`: для виконання арифметичних і булевих операцій, а також регулярних виразів
|
||||||
- `m4`: простий макро-процесор
|
- `m4`: простий макро-процесор
|
||||||
|
@ -320,7 +320,7 @@
|
||||||
- `fortune`, `ddate`, and `sl`: um, well, it depends on whether you consider steam locomotives and Zippy quotations "useful"
|
- `fortune`, `ddate`, and `sl`: um, well, it depends on whether you consider steam locomotives and Zippy quotations "useful"
|
||||||
|
|
||||||
|
|
||||||
##os-x-only
|
## Тільки для OS X
|
||||||
|
|
||||||
Деякі речі, які підходять *тільки* для Мака.
|
Деякі речі, які підходять *тільки* для Мака.
|
||||||
|
|
||||||
|
@ -331,7 +331,7 @@
|
||||||
- Не забувайте, що MacOS створений на основі BSD Unix і багато команд (наприклад `ps`, `ls`, `tail`, `awk`, `sed`) мають невеликі відмінності від лінуксових. Це обумовлено впливом `UNIX System V` і `GNU Tools`. Різницю можна помітити, побачивши заголовок "BSD General Commands Manual." Інколи на MacOS можна поставити GNU-версії програм, наприклад `gawk` і `gsed`. Коли пишете кросплатформені Bash-скрипти, намагайтеся уникати використовувати команди, які можуть відрізнятися (наприклад, краще використовуйте Python або `perl`), або ретельно все перевіряйте.
|
- Не забувайте, що MacOS створений на основі BSD Unix і багато команд (наприклад `ps`, `ls`, `tail`, `awk`, `sed`) мають невеликі відмінності від лінуксових. Це обумовлено впливом `UNIX System V` і `GNU Tools`. Різницю можна помітити, побачивши заголовок "BSD General Commands Manual." Інколи на MacOS можна поставити GNU-версії програм, наприклад `gawk` і `gsed`. Коли пишете кросплатформені Bash-скрипти, намагайтеся уникати використовувати команди, які можуть відрізнятися (наприклад, краще використовуйте Python або `perl`), або ретельно все перевіряйте.
|
||||||
|
|
||||||
|
|
||||||
##Інші-джерела
|
## Інші джерела
|
||||||
|
|
||||||
- [awesome-shell](https://github.com/alebcay/awesome-shell): Розширює Shell.
|
- [awesome-shell](https://github.com/alebcay/awesome-shell): Розширює Shell.
|
||||||
- [awesome-osx-command-line](https://github.com/herrbischoff/awesome-osx-command-line): A more in-depth guide for the Mac OS command line.
|
- [awesome-osx-command-line](https://github.com/herrbischoff/awesome-osx-command-line): A more in-depth guide for the Mac OS command line.
|
||||||
|
@ -340,7 +340,7 @@
|
||||||
- [Filenames and Pathnames in Shell](http://www.dwheeler.com/essays/filenames-in-shell.html): The sadly complex minutiae on how to handle filenames correctly in shell scripts.
|
- [Filenames and Pathnames in Shell](http://www.dwheeler.com/essays/filenames-in-shell.html): The sadly complex minutiae on how to handle filenames correctly in shell scripts.
|
||||||
|
|
||||||
|
|
||||||
##Декламація
|
## Декламація
|
||||||
|
|
||||||
За невеликим винятком, весь код написаний так, щоб інші його змогли прочитати.
|
За невеликим винятком, весь код написаний так, щоб інші його змогли прочитати.
|
||||||
Той факт, що щось може бути написано на Bash, зовсім не означає, що воно має бути на ньому написано. ;)
|
Той факт, що щось може бути написано на Bash, зовсім не означає, що воно має бути на ньому написано. ;)
|
||||||
|
|
Loading…
Reference in a new issue