Могу ли я удалить USB-носитель Clonezilla во время его работы?

В:

find * ...

в качестве командной строки оболочки, * представляет собой глобус, который расширяется оболочкой до (лексически отсортированного) списка не скрытых записей в текущем каталоге (с некоторыми оболочками , это будут только записи, содержащие только допустимые символы, такие как * , поскольку шаблон означает 0 или более символов ).

Итак, если текущий каталог содержит эти записи:

  • .
  • ..
  • .htaccess
  • file.txt
  • -foo-

find будет вызываться со следующими аргументами: find , -foo- , file.txt ... ). find , скорее всего, будет жаловаться на то, что -foo- является недопустимой опцией или предикатом.

Даже если вы используете:

find -- * ...

Это не будет работать должным образом для файлов с именами -anything или ! или ( ... как - только сообщает find , чтобы прекратить поиск параметров (например, -L , ] -H ) не для предикатов.

Вы можете использовать:

find ./* ...

, чтобы избежать проблем, но опять же, это опускает скрытые файлы, может пропускать файлы с недопустимыми символами или прерывать (с arg list too long ), если в текущем каталоге много файлов.

With:

find . ...

Вы передаете только . в find . . - это текущий каталог. Тогда это find , а не оболочка, которая будет искать в нем файлы (включая . на глубине 0, все записи, кроме . и .. (включая другие скрытые записи) на глубине 1, а все остальные записи для подкаталогов (все еще исключая . и .. ) рекурсивно.

Вам нужно использовать только:

find ./* ...

Если вы хотите, чтобы список файлов на глубине 1 (и только на глубине 1) был отсортирован, и хотите исключить скрытые файлы на глубине 1 (и снова только на глубине 1) . Что было бы очень маловероятно.

Если вы хотите исключить скрытые файлы, добавьте ! -name '. *' Или -name '[!.] *' (но будьте осторожны с именами файлов с недопустимыми символами, и это также будет включать каталог верхнего уровня, заданный для find . , что соответствует этому шаблону).

Если вам нужна сортировка на каждом уровне, вы, вероятно, захотите прибегнуть к zsh и его рекурсивному подстановке с квалификаторами glob.

Причина, по которой вы получаете разные результаты, скорее всего, заключается в том, что в find * поиск начинается с поиска (получает указание искать) в первом файле или каталоге в текущем каталоге в в алфавитном порядке , а с найти. , он смотрит на . , но затем первый файл или каталог в нем в другом порядке (это может быть порядок, в котором записи хранятся в каталоге, но некоторые реализации find также сортируют список по номеру inode как попытка свести к минимуму диск головки ищет).

Кстати, лучше всего написать команду:

find . \( -name @eaDir -o -iname .DS_Store -o -iname Thumbs.db \) \
  -prune -o -mtime -25 -type f -print

То есть указать find , чтобы он полностью игнорировал эти каталоги и их содержимое (даже не пытаясь заглянуть внутрь них).

1
29.08.2017, 22:19
1 ответ

Вы можете удалить USB-накопитель clonezilla, только если вы выбрали Clonezilla live (в ОЗУ. Загрузочный носитель можно удалить позже)в меню загрузки в разделе Другие режимы Clonezilla live.

1
27.01.2020, 23:45

Теги

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