Давайте посмотрим на это под другим углом, потому что вы привели пример «например, на USB-накопителе»
ПЛОХО ПРИМЕР
USB-накопитель является флэш-памятью, и здесь следует учитывать два момента: 1) Поскольку флэш-память не имеет движущихся частей, при выполнении дефрагментации заметного прироста производительности не наблюдается. Defrgs предназначен либо для очистки файловой системы, либо для переорганизации файловых блоков, чтобы расположить их ближе друг к другу - чтобы уменьшить физические движения руки (поиск) и время ожидания вращения диска (задержка). Во флэш-памяти этого нет. 2) Запись, запись и запись во флэш-память изнашивают ее. Теперь, при 100-килобайтном сроке службы записи, возможно, USB-накопитель прослужит от нескольких до 10 лет, но количество раз, которое вы можете записать, является «конечным» числом. Постоянные дефрагменты USB-накопителя разъедают жизнь из-за ограничения срока службы.
И это не только USB-накопитель, SD-карты, Compact FLASH и даже SSD-накопители.
Моя точка зрения: не дефрагментируйте просто так, знайте, что такое технология, лежащая в основе файловой системы, и последствия, и даже если она магнитная, а не электронная, слишком много дефрагментации может в конечном итоге повредить вашу файловую систему. и вы теряете свои файлы.
Если вы хотите найти отображаемый номер сервера Xorg, работающего в текущей версии linux vt (нет Xvfb
или xnest
), то, возможно, это подойдет (, завершая комментарий @basin )
pgrep -at "$(cat /sys/class/tty/tty0/active)" Xorg | grep -Po ' \K:[0-9]+'
Параметр -t tty
pgrep выберет процессы, которые имеют tty
в качестве управляющего терминала, а параметр -a
направит его на вывод всей командной строки; второй grep извлечет из него номер дисплея.
Конечно, это ничего не напечатает, если пользователь переключился на текстовую консоль с помощью Ctrl -Alt -Fn.