Файл ISO является полным, отформатированным изображением файловой системы. Все cat
или dd
делает, делают поразрядную копию того изображения файловой системы к Вашим целевым медиа.
Нет никакого волшебства, продолжающегося негласно. Подготовка к файловой системе ISO была сделана заранее (часто специализированным инструментом). Все cat
делает, выписывают тот набор байтов. Это не интерпретирует .iso
вообще, и при этом это не понимает, что пытается создать загрузочный съемный носитель вообще.
Это действительно требует, чтобы надлежащая поддержка со стороны драйвера ядра и драйвера устройства сделала write
s работают над этим медиа. Немного "волшебства" продолжается там, так как записываемые оптические носители не управляют точно тем же путем как стандартные жесткие диски. Но то волшебство не включает интерпретацию содержания файла ISO.
Вы могли смонтироваться .iso
файл непосредственно, не записывая его при помощи цикла монтируется (если такая вещь доступна на Вашей ОС). Точно так же можно создать файл, который содержит, например, ext4
файловая система, и Вы могли cat
это к разделу.
Попытайтесь делать, это (требует cygwin
или такой):
find . -type f -name 'test*' -printf '%p %i\n'
Посмотрите
man find | less +/'-printf format'
Примечания:
%p
обозначает путь к файлу%i
обозначает inode числоСуществует несколько способов сделать это с находкой.
find . -iname 'test*' -type f -exec ls -i {} \;
find
: команда находки
.
: каталог для поиска
-iname 'test*'
: ищите что-либо, что соответствует тесту* независимо от случая
-type f
: только ищите файлы
-exec ls -i {} \;
: выполните ls-i на каждом найденном файле
find . -iname 'test*' -type f -printf '%i %f\n'
find
: команда находки
.
: каталог для поиска
-iname 'test*'
: ищите что-либо, что соответствует тесту* независимо от случая
-type f
: только ищите файлы
-printf '%i %f\n'
- распечатайте inode, затем имя файла только (никакие каталоги), и разделите каждый файл новой строкой
Примечания:
-iname
для -name
если Вы хотите быть чувствительными к регистру..
с полным путем, если Вы хотите искать что-нибудь кроме текущего рабочего каталога. %f
с %p
для имени файла, включая путь (отличается, используете ли Вы относительные или полные пути в своей команде находки).-prune
и -depth
'test[0-9]'
найти все test0-test9, или 'test[0-9]*'
для чего-либо со строкой "тест", затем одна цифра, что-либо после этого.
ls
выходной – a CVn 31.01.2013, 17:02find
должен быть установлен. Например, в FreeBSDpkg install findutils
затем используйтеgfind
. – lapo 21.02.2017, 19:49