Попробуйте:
stat -fc %a /mountpoint
% a
- это доступные блоки для пользователей, не являющихся суперпользователями. Используйте % f
для общего количества свободных блоков. Обратите внимание, что % s
является blocksize, поэтому, если вы хотите, скажем, всего свободных байтов вы можете сказать что-то вроде:
stat -fc '%f * %s' /mountpoint | bc
Смотрите stat (1) man страницу для дополнительных параметров . В общем случае stat (1)
будет проще работать, чем df
для анализируемых выходных данных.
-121--100390-
Не может на самом деле помочь вам со старыми 3.2.x версиями procps, но в более новых (например, определенно 3.3.10 и я думаю, что он вернулся к 3.3.4) вы можете настроить размер фиксированных столбцов. Ключ, который вы ищете - капитал X.
Для использования этой функции, первый старт вверху. В идеале, но не важно, вы «освободите комнату» для колонки, удалив другие колонки или расширив терминал. Используйте f для вывода списка полей и отмены выбора того, что вам не нужно. Как только вы довольны выбором полей, нажмите q, чтобы вернуться к списку процессов.
Затем используйте команду X, которая запрашивает, насколько увеличить ширину, как правило, -1 работает нормально. Вы можете получить этот странный эффект «роста столбца», но после нескольких рефешей вы можете увидеть полное имя пользователя.
PID USER PR VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3775 libvirt-qemu 20 4667404 960508 14724 S 6.1 5.9 188:04.01 qemu-syste+
3825 Debian-gdm 20 1516152 114924 64404 S 2.7 0.7 1:52.09 gnome-shell
Обратите внимание, что имя команды теперь усечено (заканчивается на +), потому что наше имя пользователя длиннее и переместило другие столбцы вправо. Считаете ли вы это хорошей идеей, зависит от того, что вы ищете.
-121--49379-
С coreutils GNU можно использовать следующее:
df -h --output=avail / | sed '1d'
Для печати только строки Avail
файловой системы, установленной на /
. К сожалению, df
не имеет возможности отключить строку заголовка, поэтому sed
удаляет первую строку.
Теперь, когда вы работаете в cshell, вы должны знать, что псевдонимы должны быть определены только в одной строке. следовательно, псевдоним, который показан выше нормальной длины строки. Это cshell для вас.
alias latest_log 'find "$LOG/tr/`date +%Y%m%d`" -name "xtest*" -printf "%Ts\t%p\0" | sort -z -k 1,1nr -k 2 | head -z -n 1 | cut -z -f2 | xargs -0 less -F'
Разбить его на части, чтобы показать, что он делает:
find
печатает имена файлов, разделенные нулем -, с числовой меткой времени вместе с именем файла. Обратите внимание, что кавычки в команде date
были удалены, так как date
может работать очень хорошо без них, плюс их наличие сделало бы кавычки излишне громоздкими для псевдонима. \0
)двойные (метки времени TAB-файла )затем сортируются, начиная с первого поля в обратном числовом порядке и заканчивая вторым полем. Параметр -z
в команде sort
предназначен для разделения входных фрагментов вокруг нулевого символа, а не новой строки по умолчанию. head -z -n 1
мы удаляем самый верхний фрагмент, который будет содержать имя файла с последней отметкой времени. cut
берет верх и удаляет метку времени, так как ее работа завершена и она больше не нужна. Мы используем опцию -z
для обработки ввода, разделенного нулями, до cut
.Опция -f2
должна передать filename + \0
следующему конвейеру. xargs -0
будет читать имя файла, разделенное нулем, и передавать имя файла в less -F
в своей командной строке.