среда, 12 июля 2017 г.

Сведения о расходе дискового пространства в Linux Mint xfce


К сожалению, в Linux Mint xfce не имеется графического отображения заполненности жёсткого диска как это реализовано, например в системном мониторе Cinnamon. Анализатор использования дисков лично мне мало приглянулся. Нет, сведения о свободном объёме, конечно, отображаются в том же Thunar


но мне всегда было привычнее получать информацию о расходе дискового пространства в процентах.

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

#!/bin/bash
# init
function pause(){
   read -p "$*"
}
# ...
# call it
pause 'Подсчёт свободного пространства всего диска'
df -h /dev/sda1
pause 'Выйти из подсчёта'
exit

На рисунке ниже приводится то, что получилось после реализации указанных выше требований:


Создаём файл с текстом  #!/bin/bash , сохраняем его с расширением sh, например mesto.sh

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

chmod +x /home/Ваш_каталог/mesto.sh

Далее открываем файл mesto.sh в текстовом редакторе и приводим к виду:

#!/bin/bash
echo ""
echo ""
echo -e "\E[33m\tПодсчёт свободного и занятого места на диске\n"
sleep 1
echo  -e "\E[36m\tОзнакомьтесь с результатами подсчёта:\n\n"
echo -en "\E[0m"
sleep 3; df -h /dev/sda1
echo ""
echo ""
sleep 5
echo -e "\E[32m\tПродолжайте работать.\n"
sleep 1
echo -e "\tАвтозакрытие окна произойдёт через 30 секунд.\n\n"
sleep 30; exit

Теперь пояснения.

echo "" – это вывод пустой строки. Несколько пустых строк обусловлены лучшим визуальным восприятием.

Конструкция
echo -e "\E[33m\tПодсчёт свободного и занятого места на диске\n"
означает вывод текста, покрашенного в жёлтый цвет, который начинается знаком табуляции (\t) и завершается переводом строки (\n).

sleep 1 – это команда "заснуть на 1 секунду".

Конструкция
echo -e "\E[36m\tОзнакомьтесь с результатами подсчёта:\n\n"
аналогична предыдущей. Цвет текста здесь указан голубой, а вывод текста завершается двойным переводом строки.

echo -en "\E[0m"  – команда возврата цветовой схемы терминала к установленной мной по умолчанию. Так как предустановленная цветовая схема терминала меня устроила, то после установки системы она изменению не подвергалась.

sleep 3; df -h /dev/sda1 – означает "спать 3 секунды", а затем выполнить команду df -h /dev/sda1.

Так как при установке системы мной было определено, что система и пользовательский домашний каталог будут размещена на одном разделе с точкой монтирования / , то просто считаю раздел sda1. 

Если Ваши винчестеры имеют несколько разделов (напр, sda1, sda2, sda3, sdb1, sdb2 ...), то осуществляйте подсчёт свободного и занятого места командой df для каждого раздела. Подробности

Дальнейшие команды аналогичны предыдущим, за исключением того, что текст выводится зелёным цветом.

sleep 30; exit – является последовательностью 2 команд: "заснуть на 30 секунд" и выйти из программы.

Теперь просто создадим значок запуска на рабочем столе или на панели. Посмотрите примеры создания значков запуска в xfce.

В свойствах значка, на всякий случай, проверьте на вкладке "права" галочку в поле "Разрешить запуск этого файла в качестве программы"


На вкладке "Запуск" установите галочку в поле "Выполнить в терминале".


Возвращаясь к конструкции echo -e "\E[?m ...какой-то текст"

Знаком вопроса (?) обозначена управляющая последовательность, которая указывается либо одной цифрой, либо несколькими цифрами через точку с запятой (;). Соответствия цифр командам приводятся ниже.

Форматирование текста:
0 – возврат к стандартному виду командной строки
1 – полужирный шрифт
3 – курсив
4 – подчёркивание
5 – мигание текста
8 – цветовая инверсия

Например, полужирный шрифт – echo -e "\E[1m" , 
полужирный курсив –echo -e "\E[1;3m"

Цвет текста:
30 – чёрный
31 – красный
32 – зелёный
33 – жёлтый
34 – синий
35 – фиолетовый
36 – голубой
37 – белый

Цвет фона:
40 – чёрный
41 – красный
42 – зелёный
43 – жёлтый
44 – синий
45 – фиолетовый
46 – голубой
47 – белый

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


Комментариев нет:

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