Работа с терминалом 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.

Как выбрать оптимальный дистрибутив Linux для сервера. Рассматриваем популярные отечественные и зарубежные варианты.
28 октября, 2024
Делимся улучшениями новой версии операционных систем Debian и Ubuntu 23.04. Для кого полезны обновления? Читайте в статье.
28 июня, 2023
В данной статье мы рассмотрим несколько современных альтернативных программ для Linux.
19 апреля, 2023