Работа с терминалом Linux

В нашей предыдущей статье сделали подборку полезных комбинаций горячих клавиш терминала linux. Терминал linux остается главным инструментом по доступу к удаленным серверам и основным помощником в работе профессионалов и новичков, и в этой статье мы рассмотрим другие возможности работы с командной строкой.  Ниже представлена подборка.

  • bg/fg

Используя сочетание клавиш Ctrl+Z (подробно рассказывали в предыдущей статье), вы можете оставить процесс в нерабочем состоянии. Вы можете запустить его заново командой fg (forground). Также можно возобновить процесс в фоне, что позволит и дальше использовать терминал, пока программа работает. Делается это командой bg (background). Эти команды применяются к последнему остановленному процессу.

  • pushd/popd

Довольно часто приходится прыгать между одними и теми же директориями. Чтобы постоянно не прописывать путь заново, вы можете ввести команду pushd, которая добавит в стек текущее местоположение. Теперь, когда вы будете находиться в другой директории, просто введите popd и вас вернёт назад.

Как уже упоминалось выше: pushd - это стек (последний вошёл - первый вышел). А значит вы можете добавлять сколько угодно путей, которые будут уходить со стека с каждым вызовом popd.

  • !!

Одна из удобнейших функций терминала. Введите в терминале !! , и они автоматически заменятся на последнюю введённую вами команду. Самое частое его использование: sudo !! , однако - это не единственное применение восклицательного знака. Прописав history вам в терминал выдаст список из всех ранее введённых вами команд и их номера. Вы можете воспроизвести их так: ![num].

Ещё один вариант использования:  ![номер команды]: [номер аргумента] - позволяет вывести конкретный аргумент ранее введённой команды

  • nohup ... &

Бывает необходимо создать демон из некоторой команды. Для этого введите в терминале команду: nohup [command] &   - команда создаст фоновый процесс, который продолжит работать даже после того, как пользователь вышел из системы.

Если же вам просто нужно создать фоновый процесс, то введите & после необходимой команды.

  • readlink

Иногда нужно указать полный путь до файла, но он слишком длинный и/или запутанный. В этом случае поможет команда readlink. Введите readlink -e [file] и в выводе получите путь до файла.

Пример использования: firefox $(readlink -e index.html)

  • cd -

Выше мы рассматривали команды pushd/popd, которые позволяют запоминать предыдущие директории и быстро между ними переключаться. Если же вам нужно перемещаться лишь между двумя директориями, то можете использовать команду cd -. Символ ~ используется, как домашняя директория текущего пользователя. Так же как и $USER.

  • Файловые дескрипторы

Существует два стандартных потока: stdout - стандартный поток вывода и stderr - стандартный поток ошибок. Из первого будет идти всё, что должна вывести программа, а из второго, только ошибки, которые возникли во время работы программы. С ними мы и будем работать. Рассмотрим несколько примеров:

  • prog > file - Вывод stdout записывается в файл, а stderr в терминал,  
  • prog 2>err - Вывод stdout в терминал, а stderr в файл err,
  • prog 1>file 2>err - Вывод stdout в file, а stderr в файл err,
  • prog >file 2>&1 - слияние stderr и stdout.
 

 

Наш телеграм-канал
Пишем про облака, кейсы, вебинары
Подписаться