June 25, 2020

9 порад для швидкої роботи в UNIX та Linux терміналі

Bash tricks by Julia Evans

Ви коли-небудь зустрічали людину, яка володіла якимись невідомими здібностями і виконував команди в UNIX терміналі зі швидкістю світла?

Так, я декілька разів зустрічався з такими людьми і це надихнуло мене на те, щоб вчитись у них.

В цій статті або туторіалі, або називайте як забажаєте, я поділюсь з вами деякими командами для швидкої та продуктивної роботи в UNIX чи Linux терміналі.

Я працюю в сфері фінансових послуг і моя робота заключається в розробці та підтримці додатків для торгівлі акціями та фьючерсами на ринку електронних торгів, деривативів, валютних, товарних та інших класів активів.

Всі наші сервіси розташовані на серверах під управлінням Linux, саме тому для нас дуже важдиво, щоб людина могла швидко та ефективно працювати з терміналом Linux. За роки роботи в моїй голові сформувались поради для підвищення продуктивності в Linux. І зараз я збираюсь поділитись цим з вами.

9 порад для підвищення продуктивності в Linux

Якщо ваш сервер під управлінням Linux системи, а ваша щоденна робота включає в себе постійний пошук підходящої команди — дані поради допоможуть заощадити немало часу.

1) Використовуйте ! для швидкого виконання довгої команди

В среднем, эта команда сэкономила мне 30% рабочего времени, так как постоянно приходится выполнять одну и ту же UNIX команду по несколько раз.

В середньому, ця команда заощадила мені 30% робочого часу, так як постійно приходиться виконувати одну і ту ж UNIX команду декілька разів.

Перш ніж я дізнався про цю команду, я використовував стрілки вверх і вниз для роботи з історією команд. Натискаючи стрілку вверх я шукав потрібну мені команду із запропонованого списку, а потім її виконував. Погодьтесь, не дуже зручно. Але з ! достатньо відкрити історію з допомогою команди history , вибрати номер рядка з потрібною командою та виконати її. Скажемо, під номером 100 знаходиться команда sudo apt-get update . Для того, щоб не вводити цілу команду, достатньо написати !100 .

Не забувайте про цю пораду, так як вона, заощадити массу часу. Крім того, ця команда виявиться дуже корисною для командної обгортки, яка відрізняється від bash (схоже на cshабоksh ), де стрілки вверх та вниз не дозволяють працювати з історією команд.

2) Використовуйте !! для виконання останньої команди

Це розширена версія попередньої команди, що дозволяє виконати найостаннішу команду з тих, які ви вже виконували. Оскільки дана команда заключається в подвійному натисканні одної і тої ж клавіші — з роботи ви точно почнете йди раніше за інших.

Також вона буде працювати на обгортках, в яких не працює стрілка вверх чи вниз, таких як csh и ksh.

3) Використовуйте “CTRL+R” для пошуку та виконання підходящої команди

Якщо ви пам'ятаєте половину або чверть назви команди, яку хочете знайти — введіть “CRTL+R” і вона відобразить останню виконану команду, назва якої співпадає із заданою. Якщо ви продовжите натискати “CRTL+R”, вам будуть видаватись старіші команди, що підходять до шуканого рядка, якщо вони є в наявності.

Вищезгадана трійка порад заощадити вам купу часу та нервів, якщо діло стосується виконання команд, які постійно повторюються.

Особисто я зекономив майже 50-60% робочого часу, просто слідуючи цим порадам.

4) Используйте историю команд

Це найперша порада, яку я сформував для себе, коли почав працювати з UNIX.

Кожен день я виконую сотні команд і, цілком природно, що я не можу запам'ятати кожну. Для пошуку підходящої потрібно виконати команду history | grep ключові слова і ви отримаєте всі команди, що містять ключові слова.
Використовуйте змінну HISTSIZE, щоб встановити кількість команд, які необхідно зберігати в списку історії (стандартне значення — 500).

5) Використовуйте grep та find

Команда grep використовується для пошуку тексту в файлах і директоріях, на основі шаблонів. Команда find використовується для пошуку файлів по імені та іншим властивостям.

Наприклад, з допомогою find можна знайти всі файли починаючи з поточної директорії, назва яких починається, наприклад, на coolarticle: find . -name ’coolarticle*'. А з допомогою grep можна знайти coolarticle в файлі file.txt, з виводом рядка який повністю співпадає: grep coolarticle file.txt.

6) Використовуйте alias

Команда alias запускає будь-яку команду або групу команд, в тому числі з опціями, параметрами і файлами, за допомогою введення одного слова або символу. Тобто ви створюєте простіші, короткі версії звичайних команд, привласнюючи їм нові назви.

Наприклад, для того щоб не вводити цілком команду clearнапишемо alias c="clear" і добавимо в кінці ~/.bashrc, щоб даний alias був завжи доступний. Тепер, при вводі всього лише одної букви c, буде очищатись весь термінал.

7) Використовуйте pushd, popd, cd -, ~ для переміщення по каталогу

Основуючись на власному досвіді, можу сказати, що преміщення по оболонці UNIX займає 50% робочого часу, а якщо ви збираєтесь прописувати шлях до каталогу — можете зовсім забути про швидку роботу.

Загалом, замість того, щоб вводити повне ім'я команди, використовуйте вищенаведені поради і ефективно використовуйте команди pushd, popd, cd- і cd ~ для швидкого переходу між каталогами.

8) Мінімізуйте кількість натискань клавіш та збільште швидкість друку

Чим менше ви друкуєте, тим швидше ви працюєте.

Якщо ви введете перші кілька букв імені файлу, команди або шляху, а потім натиснете клавішу Tab — відбудеться автозаповнення командного рядка.

9) Продовжуйте вивчати нові команди

Намагайтеся дізнатися якомога більше команд - це допоможе скоротити час для виконання самих різних завдань. І не забувайте використовувати ctrl + z, fg і bg, щоб призупинити процес.

Ctrl+Z призупиняє процес, для відновлення виконання процесу на передньому плані можна використовувати команду fg, команда bgзапускает процес у фоновому режим.

Надіюсь, що ці поради допоможуть вам зробити більше за меншу кількість часу, збільшать вашу продуктивність та збагатять ваш досвід роботи з UNIX.

Висновок

Може здатися, що немає сенсу вивчати ці команди, але ви будете приємно здивовані, побачивши скільки часу можна заощадити, просто застосувавши мої поради на практиці.

Перевод статьи javinpaul: 10 Basic Tips on Working Fast in UNIX or Linux Terminal