Удаление скрытых файлов нулевой длины

Если вы загружаетесь в однопользовательском режиме и пул zpool не импортируется автоматически, вы можете импортировать пул в альтернативную структуру пути через свойство altrootво время импорта.

zpool import -R /tmp/zfs <poolname>

Будет импортирован пул со всем, что монтируется в /tmp/zfs. Оттуда вы сможете zfs set mountpoint=<newpath> <dataset>для любых наборов данных, которым нужна новая точка монтирования.

затем импортировать пул в обычном режиме при последующих загрузках.

-3
24.03.2020, 20:04
2 ответа

Это рекурсивно перечисляет файлы в каталоге «каталог -имя», которые являются обычными файлами, имеют имя, начинающееся с точки (, скрытое )и пустое

find «directory-name» -type f -name ".*" -empty

2
28.04.2021, 23:19

Вот эхо -версия (вместо rm, легче проверить )того, что я думаю имеет смысл.

Идея состоит в том, чтобы разделить его на две части. Сначала проверьте на пустое и удалите условно. Затем rmс опцией -f4 варианта. Здесь 4 эха на двух строках, красиво отформатированные, чтобы показать пробел в имени файла.

f="$1"

[ -e "$f" ] && [ ! -s "$f" ] && echo "$f" || echo '(nosuch)'

echo ---"$f".swp--- ---."$f".swp---
echo ---"$f".tmp--- ---."$f".tmp---

Вот вывод, второй раз после un -очистки файла.

]#. delswp.sh 'f f'

f f
---f f.swp--- ---.f f.swp---
---f f.tmp--- ---.f f.tmp---

]# echo " " >>'f f'
]#. delswp.sh 'f f'

(nosuch)
---f f.swp--- ---.f f.swp---
---f f.tmp--- ---.f f.tmp---

При удалении вторая часть может быть просто:

rm -f "$f".swp."$f".swp "$f".tmp."$f".tmp

1
28.04.2021, 23:19

Теги

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