HOW-TO: 10 простых и полезных трюков для командной строки UNIX и Linux

В современных *nix-системах есть масса команд, утилит и возможностей, о которых иногда не догадываются даже продвинутые пользователи. Мы выбрали десять самых простых трюков, которые легко запомнить и можно тут же начать использовать.

  1. Если консоль подвисла, можно ее переинициализировать без завершения текущей сессии командой reset.
  2. Создать пустой файл или уничтожить все данные в файле поможет команда > file_name.txt.
  3. Если ты вводил команду, которая требует повышения привилегий, и забыл подставить sudo, можно воспользоваться таким трюком: sudo !!. Оболочка запустит предыдущую команду под рутом.
  4. В качестве альтернативы сетевым командам ping и traceroute можно воспользоваться mtr. Напиши mtr xakep.ru и посмотри, что получится.
  5. Команда ps aux покажет много диагностических данных в удобном виде.
  6. Если необходимо ввести команду, чтобы она не попала в лог истории, нужно подставить перед ней пробел. К примеру, ps aux.
  7. Если ты набрал команду и хочешь добавить к ней аргументы из команд, набранных ранее, удерживай Alt или Esc и нажимай на точку. В строку ввода один за другим будут подставляться параметры предыдущих команд.
  8. Если ты ввел длинную команду, но допустил опечатку, ее можно исправить при помощи замены подстроки. Например, мы хотим заменить foo на bar. Если ввести просто ^foo, то в предыдущей команде первое вхождение foo будет удалено. Если ввести ^foo^bar, то произойдет замена.
  9. Для очистки терминала достаточно комбинации клавиш Ctrl + l. Или можешь нажать Ctrl + Shift + x. Ну а с командой clear ты уже наверняка знаком.
  10. Понадобилось зайти в директорию, вывести список файлов и вернуться обратно? Для этой распространенной задачи можешь набрать (cd /tmp && ls). Удобно «подсматривать» и в родительский каталог — для этого в качестве пути просто укажи /...

Список не претендует на полноту — мы выбрали лишь самые полезные, легкие для запоминания и часто нужные вещи. К примеру, на сайте commandlinefu.com ты можешь найти гораздо более полный список с рейтингом по числу пользовательских голосов.

Комментарии (5)

  • Вопрос! Есть комманда - grep kmr some_dir/kmr.ilo.
    Если воспользоваться ^kmr^msk, то заменится только первый kmr. Как стоит указать что бы заменялись все соответствия, а не только первое.

  • полагаю, что большая часть справедлива только для bash, что, как мне кажется, стоило указать

  • > Удобно «подсматривать» и в родительский каталог — для этого в качестве пути просто укажи /..
    слеш не нужен. просто две точки.

    А для временного перемещения по каталогам существует pushd и popd

    $pushd somedir
    $do something
    $popd

  • "уничтожить все данные в файле поможет команда > file_name.txt"

    Вы ошиблись, эта команда не заменяет shred

    "Понадобилось зайти в директорию, вывести список файлов и вернуться обратно?"

    -- `ls /tmp`, как и сказал предыдущий комментатор :-D