Другим вариантом в одной команде может бытьtruncate
:
truncate -s /var/log/*
В приведенном выше примере будут выдаваться ошибки для любых подкаталогов /var/log, хотя:
truncate: cannot open '/var/log/subdir' for writing: Is a directory
... который можно отключить, удалив stderr:
truncate -s /var/log/* 2>/dev/null
Если нет ни файлов, ни каталогов, то следует опасаться текущей nullglob
опции оболочки. По умолчанию он выключен :
.
$ shopt nullglob
nullglob off
... который оставит *
нераскрытым, и, таким образом, truncate
создаст файл с именем *
. Вы можете избежать этого двумя способами:
установите nullglob:shopt -s nullglob
перед запуском truncate
. Затем вы (, если вы не удалили stderr ), увидите ошибку:
truncate: missing file operand
скажите truncate
не создавать отсутствующие файлы:truncate --no-create -s 0 /var/log/*
К счастью, при удалении привязки снимок сохраняется:
bash-5.0$ snap saved
Set Snap Age Version Rev Size Notes
5 gnome-3-28-1804 9d13h 145 0B auto, broken: invalid snapshot
6 chromium 87.8m 89.0.4389.82 1514 895MB auto
bash-5.0$ snap check-snapshot 6
Snapshot #6 verified successfully.
Таким образом, мы можем просто выйти из Chromium, а затем:
bash-5.0$ snap restore 6
Restored snapshot #6.
и снова запустите Chromium, чтобы восстановить предыдущий профиль Chromium.