Работа с терминалом Linux
![](https://mclouds.ru/wp-content/uploads/2022/11/Frame-26-9-min.png)
В нашей предыдущей статье сделали подборку полезных комбинаций горячих клавиш терминала 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.
![IaaS, SaaS, PaaS: в чем разница и как выбрать](https://mclouds.ru/wp-content/uploads/2024/07/iaas-paas-saas-min.jpg)
16 июля, 2024
![Уязвимость в OpenSSH](https://mclouds.ru/wp-content/uploads/2024/07/openssh_ban-min.png)
1 июля инженеры команды Qualys опубликовали информация об уязвимости в OpenSSH под названием regreSSHion. Данная уязвимость имеет статус критичной и может привести к удалённому выполнению кода с правами root.
02 июля, 2024![Топ ошибок при планировании облачной инфраструктуры для 1С. Часть вторая - Память, Диски и Сеть.](https://mclouds.ru/wp-content/uploads/2024/06/1s-in-cloud-small-min.png)
Мы рассмотрим какие объемы памяти и типы дисков являются оптимальными, проведем сравнительный анализ различных SSD в облачной среде и рассмотрим ключевые параметры сети, которые следует учитывать при построении эффективной облачной платформы для размещения 1С.
26 июня, 2024