Найти возвращает две записи линейных элементов для того же файла

Чтобы смонтировать разделенный образ диска (или образ раздела), вы должны использовать affuse из afftools, которые в настоящее время поддерживаются здесь: https://github.com/sshock/AFFLIBv3

Итак, если у вас есть файл, разделите его на несколько подфайлов test_img.000, test_img.001, test_img.002, test_img.003, test_img.004, test_img.005, test_img.006, test_img.007, test_img. 008, test_img.009

, затем вы можете присоединиться к ним виртуально с помощью affuse

# affuse test_img.000 /mnt/combine
# ls -lh /mnt/combine
total 0
-r--r--r-- 1 root root 2.0G 1969-12-31 16:00 test_img.000.raw

(он объединяет все файлы вместе, начиная с файла 000, затем 001, 002,…)

И затем монтировать образ

mount -o ro,loop,offset=329043456 /mnt/combine/test_img.000.raw /mnt/test

Использование описано здесь и несколько примеров здесь . Страница руководства также доступна после компиляции и установки или здесь .

PS: Для меня affuse работал, только если разделенные файлы имели размер, кратный 512 байтам.

0
07.05.2018, 18:39
2 ответа

Вот процесс:

find. ! -name '*153902*.json'

вернется:

.
./Flights20180506-151026_KSEA_300.json

, затем execвыполняет:

ls -nls../Flights20180506-151026_KSEA_300.json

, которые дают вам содержание.:

12 -rw-rw-r-- 1 1000 1000  8359 May  6 15:11 Flights20180506-151026_KSEA_300.json
44 -rw-rw-r-- 1 1000 1000 40999 May  6 15:39 Flights20180506-153902_KATL_0.json

и ./Flights20180506-151026_KSEA_300.json.


./, которое вы видите в выводе, является результатом объединения пути .с именем файла, которое соответствует вашему условию. Поведение описано в документе POSIX find :

.

Each path operand shall be evaluated unaltered as it was provided, including all trailing characters; all pathnames for other files encountered in the hierarchy shall consist of the concatenation of the current path operand, a if the current path operand did not end in one, and the filename relative to the path operand

6
28.01.2020, 02:15

При поиске обычных файлов с помощью findобязательно используйте-type f:

find. -type f ! -name '*153902*.json'

Таким образом, вы избежите сопоставления имен каталогов, в частности .в данном случае.

0
28.01.2020, 02:15

Теги

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