Сообщение « Done » управляется не выполняемым процессом, а самим bash
для уведомления о завершении фонового задания. Именно поэтому он предоставляет сообщение, когда есть какие-то действия консоли.
В bash
для удаления такого рода сообщений можно использовать:
набор + m
( монитор
)
не хочу их видеть. набор -b
( уведомить
) для отображения сообщений без задержки. man bash
говорит:
The shell learns immediately whenever a job changes state. Normally,
bash waits until it is about to print a prompt before reporting changes
in a job's status so as to not interrupt any other output. If the -b
option to the set builtin command is enabled, bash reports such changes
immediately. Any trap on SIGCHLD is executed for each child that
exits.
-121--157700- du dir1 dir2
Сообщает об использовании диска всеми dir1
, dir2
и их содержимым рекурсивно. Файлы подсчитываются только один раз, в противном случае это даст неверный ответ на использование диска.
Вы можете использовать:
du -c dir1 dir2
Если вы также хотите, чтобы общий объем использования диска обоих.
Итак:
du -sc -- *
даст вам сводку использования диска несвободными файлами и дирами в текущем каталоге и их совокупный размер.
С помощью GNU du
можно также выполнить следующие действия:
du -ad1
или
du -a --max-depth=1
Для вывода отчета об использовании диска только на одном уровне вниз (поэтому .
и субдиры), используя -a
для сообщения о недирах в текущем каталоге, например, du *
.
Вы можете заставить GNU du
несколько раз подсчитывать файлы с помощью опции -l
:
du -ls -- * .
Неэффективно и вряд ли будет то, что вы действительно хотите.
Можно просто настроить псевдоним ', например:
$ alias abc="cd /home/user/Desktop/Folder"
Чтобы сохранить его в долгосрочной перспективе, добавьте его в файл .bashrc.
Это будет работать, если вы ищете только навигацию - однако «abc» выше не будет использоваться, если вы хотите что-либо написать.
Я лично думаю, что в долгосрочной перспективе будет так же легко узнать и запомнить [соответствующие части] вашей структуры каталогов. Слишком много псевдонимов просто дают вам больше вещей для запоминания, и они не будут работать на разных компьютерах, которые вам, возможно, придется использовать вовремя.
-121--58398-Сигнал может быть получен из текущего процесса . Итак, если вы начнете долгоживущий процесс (он же демон) при загрузке, то вы действительно получите SIGTERM от этого процесса и сделаете все, что хотите от обработчика сигнала. Однако это худший из возможных методов: лишний процесс, ничего не делающий и просто ожидающий поступления сигнала.
У вас есть лучшие способы достичь этого, например, с помощью systemd. Файл блока ( foo.service
) будет выглядеть следующим образом:
[Unit]
Description=Perform my actions
DefaultDependencies=no
Before=shutdown.target
[Service]
Type=oneshot
ExecStart=/path/to/your/application
Однако, имейте в виду, что из-за параллельного характера системы этот блок может быть запущен произвольно с опозданием в процессе отключения (хотя на это может повлиять тщательное использование зависимостей).
-121--93247- Параметр -c
дает общее значение, что означает, что в вашем варианте использования команда du -smc *
дает почти (.
заменяется на total
) с тем же выходом, что и du -sm *.
с предыдущими версиями du
:
$ du -smc *
34 A
23 B
57 total
Даже если у вас есть другие сценарии использования, чем тот, который указан в вашем вопросе, я думаю, что вариант -c
может в любом случае помочь вам получить результат, близкий к тому, который вы используете, чтобы иметь.