Главная >> Команды >> Полезные команды Linux

Полезные команды Linux

Терминал Linux очень гибкий и полезный инструмент. С помощью него можно сделать что угодно и во многих случаях даже намного эффективнее чем в графическом интерфейсе. Команды можно объединять между собой, перенаправлять вывод одной команды, на вход другой, комбинировать их различным образом.

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

В качестве командной оболочки используется самая популярная - bash. Также для некоторых задач нам понадобится демон планирования выполнения задач cron.

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


Содержание статьи

Создание папок в терминале

Для создания папки в терминале используется команда mkdir. Вот так она выглядит:

mkdir имя_папки

Но не все знают о ее дополнительных возможностях. Чтобы создать несколько вложенных папок используйте команду p:

mkdir -p /mnt/foo/bar/

Создать несколько папок за один раз:

mkdir /mnt/{foo,bar,doc,man}

Создать папку и перейти в нее:

mkdir /home/foo/doc/bar && cd $_

Кстати, синтаксис фигурных скобок поддерживают и другие команды для Linux терминала.

Ожидать завершения команды и выключить компьютер

Это скорее не команда, а небольшая стандартная функция оболочки Bash, о которой не все знают. Иногда нам нужно оставить на выполнение какую-нибудь долго работающую утилиту, например, обновление системы, а самим куда-то отойти. И при этом мы хотим чтобы после завершения работы утилиты компьютер автоматически выключился.

Можно просто объединить команды с помощью стандартного синтаксиса Bash. Для объединения используются символы && и ||. Первый - выполнить другую команду если первая завершилась успешно, второй если первая завершилась ошибкой.

Например, обновить систему и если все хорошо выключить PC:

su -

apt update && apt upgrade && shutdown -h now

Или выключить компьютер если обновление не удалось:

apt update && apt upgrade || shutdown -h now

Или выключить независимо от того произошла ошибка или нет:

apt update && apt upgrade ; shutdown -h now

Здесь приведена команда обновления Ubuntu, но в других дистрибутивах нужно заменить эту команду на свою.

Повторить последнюю команду

Если мы уже начали говорить о возможностях Bash пойдем дальше. Символ !! означает выполнить последнюю команду. Часто ли у вас случалось такое, что вы набираете команду нажимаете Enter и понимаете, что для ее работы нужно было использовать sudo? Тогда приходиться набирать ту же команду только уже правильно. Но можно пойти другим путем, выполнить:

sudo !!

Кроме символа !! В Bash есть еще несколько указателей на команды:

  • !^ — первый аргумент предыдущей команды;
  • !$ — последний аргумент предыдущей команды;
  • !* — все аргументы предыдущей команды;
  • !-2 — вторая с конца команда;
  • *— содержимое текущего каталога.

А вот так можно сохранить последнюю выполненную команду в скрипт:

echo "!!" > script.sh

Ещё о подобных возможностях Bash можно почитать здесь.

Вызвать последнюю команду которая начиналась с символов

И еще о возможностях Bash. Например, вы помните что подключались в последний раз к определенному узлу по SSH, и теперь вам нужно подключиться к нему снова. Чтобы не вводить полностью команду можно набрать знак "!" и символы с которых начиналась команда:

!ssh 

Будет выполнена последняя команда, которая начиналась на ssh.

Посмотреть ip адрес

Часто возникает необходимость быстро узнать ip адрес своей машины. Для этого есть легко запоминающаяся команда, использующая curl и сайт ifconfig.me:

curl ifconfig.me

Форматирование вывода

Многие команды Linux выводят данные, разделяя столбцы пробелами. Одна из них mount. И естественно, в этом выводе трудно что-либо разобрать. Для разделения столбцов табуляциями используйте утилиту column:

mount | column -t

Динамический просмотр лога

Допустим, есть у нас лог файл в который пишется определенная информация и мы хотим видеть все изменения сразу, на лету. Тогда используйте команду tail с опцией -f:

tail -f /адрес/лог/файла

Будет выведено 8 последних строк из лога файла, а затем они будут постоянно обновляться.

Очистить терминал

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

reset

Вторая:

clear

Первая только переводит курсор вверх страницы, вторая добавляет несколько пустых строк. Ещё можно сбросить терминал нажав сочетание клавиш Ctrl+L.

Подключение RAM диска

Если вам нужно немного дискового пространства с высокой скоростью работы, в Linux можно легко подключить немного оперативной памяти в корневую файловую систему:

mount -t tmpfs tmpfs /mnt -o size=1024m

В папку /mnt будет подключен RAM диск размером 1024 мегабайт.

Узнать архитектуру системы

Этой простой командой можно быстро узнать разрядность системы:

getconf LONG_BIT

Или так:

arch

Открыть файл на определенной строке

Это не команда, а просто малоизвестная функция консольных редакторов. Очень полезная для программистов. Вот, например, сообщает программа, что у вас ошибка в 55 строке, вместо того чтобы самому искать ту сроку просто набираете:

nano +55 /sourcefile

или

vim +55 /sourcefile

И оказываетесь сразу на нужной строке.

Время выполнения команды

Хотите узнать сколько времени выполняется та или иная команда? Просто добавьте перед ней вызов утилиты time. Например:

time ls ~/

Эту команду также можно использовать в качестве секундомера. Просто выполните:

time read

А затем нажмите Ctrl+D когда нужно будет узнать сколько времени прошло.

Автоматическое удаление старых файлов

Все мы часто качаем файлы из интернета, это торренты, фильмы, музыка и т д. И все это со временем накапливается в папке загрузки если ненужное вовремя не удалять, а нужное не перемещать в другие папки. Тогда папка загрузок начинает напоминать огромную свалку где вообще нереально что-то найти. У себя я всегда время от времени сортировал  и удалял файлы, но когда видел такое у знакомых брался за голову. Есть способ упростить очистку папки загрузок.

Утилита find позволяет находить все файлы, созданные позже определенной даты и выполнять с ними нужное действие. Все нужные файлы будем вовремя рассортировывать и перемещать по папкам назначения, а все что останутся в загрузках будут через два дня автоматически удаляться. Знание что файлы будут удалены заставит их вовремя переместить куда нужно.

Вот так выглядит сама команда:

find /home/user/Downloads/ -type f -mtime +180 -exec 'rm -f {}'

Если не хотите полностью удалять файлы можно перемещать их в корзину:

find /home/user/Downloads/ -type f -mtime +180 -exec 'mv {} ~/.Trash'

Подробнее о работе find можно почитать тут. Для полной автоматизации добавим выполнение этой команды каждый день в расписание cron:

crontab -e

0 0 * * * find /home/user/Downloads/ -type f -mtime +180 -exec 'rm -f {}'

Теперь давние файлы будут автоматически удаляться каждый день.

Убить все процессы из консоли

Если у вас небольшое количество оперативной памяти на компьютере и вы любите открывать очень много вкладок в Chromium, то программа а вместе с ней и окружение рабочего стола могут прочно зависать. Браузер создает для каждой вкладки отдельный процесс, поэтому пока планировщик памяти ядра поймет кто виноват в сбое и что нужно делать уйдет много времени, а пытаться убить каждую вкладку по отдельности очень долгое занятие. Есть команда, с помощью которой можно из терминала одним махом закрыть все вкладки:

ps aux | grep chromium | awk '{print $2}' | xargs kill -TERM

Или намного проще:

killall chromium

Здесь мы получаем список всех процессов в ps, выбираем из них chromium, потом отбираем второй столбец, то есть PID, и с помощью xargs вызываем kill для каждой вкладки. Точно таким же способом можно уничтожить любое приложение создающее много процессов.

Создать пустой файл

Иногда возникает необходимость создать пустой файл, например, когда он нужен для конфигурации какого-либо сервиса или чего-то тому подобного. Для этого можно воспользоваться командой touch:

touch /путь/к/файу

Для создания файла определённого размера надо использовать команду dd:

dd if=/dev/zero of=/путь/к/файлу bs=1M count=размер_в_мегабайтах

Завершение

Вот и подошли к концу наш список. Если вы знаете другие полезные команды Linux, поделитесь ими в комментариях!

4 комментария к “Полезные команды Linux”

  1. Для убийства всех процессов по имени есть killall или pkill, так что нет необходимости в такой конструкции. А вот если нужно использовать поиск не по имени процесса, а по каким-нибудь опциям, тогда да, это хороший вариант.

    Ответить

Оставьте комментарий