Как я могу улучшить ниже псевдоним?

Попробуйте:

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 удаляет первую строку.

0
18.03.2019, 05:01
1 ответ

Теперь, когда вы работаете в 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в своей командной строке.
1
28.01.2020, 02:42

Теги

Похожие вопросы