Несмотря на загруженность и невозможность пока что отдавать ведению канала столько внимания, сколько бы хотел, всё равно не могу оставить читателей и подписчиков без интересного материала. Поговорим в этой статье о том... как пустить команды в Linux по кругу. Поможет нам в этом watch.
Чтобы попробовать все описанные в этой статье команды можно, конечно же, использовать домашний компьютер или ноутбук. Ну а можно взять в аренду виртуальный сервер у провайдера Таймвеб и делать с ним всё, что пожелает душа. При регистрации по ссылке ниже и оплате услуг облачного сервера мы получим по 300 рублей на баланс. Если же закажите услугу выделенного сервера, то на баланс будет зачислено 2000 рублей. Не стоит мешкать, переходите по ссылке и начните пользоваться надёжным хостинг-провайдером Timeweb!
🤌 Что делает watch?
Основное предназначение watch - запускать ту команду, которую желает пользователь через определенные промежутки времени и выводить выхлоп в окно терминала. По сути, в этом watch похож чем-то на команду tail, только в этом случае для вывода используется не содержимое файла или лога, а другая команда. Если не знаете, что можно делать при помощи tail, то почитайте материал о работе с файлами в Linux.
Команда watch доступна во всех дистрибутивах Linux сразу после установки, так что не нужно тратить время, чтобы установить её из репозиториев.
⚙️ От слов к делу: немного практики
Давайте посмотрим на пару примеров того, как можно использовать watch, чтобы сложилось понимание о самой команде и её возможностях.
Например, watch можно использовать, чтобы отслеживать доступную оперативную память на сервере. В статье про пять способов проверки памяти в Linux, ссылку на которую вы сможете найти ниже, я уже показывал ту команду, которую мы теперь скормим watch - это базовая вещь под названием free.
Чтобы связать free и watch откройте терминал и введите туда следующее сочетание:
watch free -g
В итоге, изменения в памяти будут отражаться практически сразу. В моём случае на скриншоте это не так явно видно, но если речь идёт про сервер на Linux, то там подобная штука очень пригодится.
Гораздо чаще я использую watch, чтобы отслеживать изменения в размере файлов и директорий. Часто бывает необходимо синхронизировать между серверами что-либо или распаковать архив в директорию. Чтобы знать, как изменяется размер достаточно ввести следующее сочетание:
watch du -sh <файл или папка>
На прикрепленном ниже примере я сделал пустой файл test.file и потом записал в него 5 гигабайт данных. Команда watch позволила отследить момент, когда из пустышки файл увеличился в размере в несколько раз.
⌛ Поиграем немного со временем
Если обратили внимание, то когда запускается watch, то в вверху выхлопа всегда написано «Every 2,0s». Это значение обновления команды по-умолчанию. Чтобы изменить значение в большую или меньшую сторону, можно указать ключ -n и значение в секундах.
watch -n5 du -sh <файл или папка>
Теперь размер файла будет обновляться каждый пять секунд. В принципе, ключей у watch не то, чтобы сильно много и вы сможете всех их посмотреть, используя утилиту man, про которую ранее на канале выходила статья.
🏁 Вместо заключения...
Естественно, команда watch будет полезна, в первую очередь, системным администраторам и всем, кто каким-то образом работает с серверами на Linux. Но думаю, что инициативные домашние линуксоиды тоже смогут найти применение watch в своих сценариях. В общем, лучше знать и пусть не пригодится, чем не знать, когда понадобится.
Не буду говорить, что материалы на канале выходят каждый день, так как в ближайшее время такое вряд ли получится делать. Но определённо все выходящие статьи будут полезные и интересные для читателей и подписчиков. Потому, подписавшись на канал, точно не прогадаете.