Если вы загружаетесь в однопользовательском режиме и пул zpool не импортируется автоматически, вы можете импортировать пул в альтернативную структуру пути через свойство altroot
во время импорта.
zpool import -R /tmp/zfs <poolname>
Будет импортирован пул со всем, что монтируется в /tmp/zfs. Оттуда вы сможете zfs set mountpoint=<newpath> <dataset>
для любых наборов данных, которым нужна новая точка монтирования.
затем импортировать пул в обычном режиме при последующих загрузках.
Это рекурсивно перечисляет файлы в каталоге «каталог -имя», которые являются обычными файлами, имеют имя, начинающееся с точки (, скрытое )и пустое
find «directory-name» -type f -name ".*" -empty
Вот эхо -версия (вместо rm
, легче проверить )того, что я думаю имеет смысл.
Идея состоит в том, чтобы разделить его на две части. Сначала проверьте на пустое и удалите условно. Затем rm
с опцией -f
4 варианта. Здесь 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