Как отличить файлы doc, ppt, xls, не глядя на расширение файла

Это зависит от того, что вы ищете ... Сжатие или архивирование?

Когда я говорю о архивировании, я имею в виду сохранение разрешений, структуру каталогов и т. д. ...

Чтобы сохранить права доступа к файлам, используйте tar:

tar cpvf backup.tar folder

Флаг p будет сохранять права доступа к файлам. Используйте флаг z для сжатия gzip или флаг j для сжатия bzip.

tar czpvf backup.tar.gz folder #backup.tgz is acceptable as well
tar cjpvf backup.tar.bz2 folder #backup.tbz2 works too

Если вы хотите иметь tar-файл, вы можете «обновить» пакет tar, используя флаг P:

tar cpPvf backup.tar folder

Затем, чтобы обновить, замените 'c' на 'u', и при распаковке вы можете использовать 'k' для сохранения уже существующих файлов.

tar upPvf backup.tar folder #updating a tar file
tar xpPkvf backup.tar #extracting a tar with permissions(p) and not extracting(k) files that exist on disk already

Флаг P сохраняет файлы с полным пути, поэтому - / home / username vs home / username (обратите внимание на ведущую косую черту).

сжатие 7z обеспечивает большее сжатие, но не сохраняет права собственности на файл, разрешения и т. д. Rzip - это другое сжатие которая предлагает сопоставимое сжатие с 7z.

Я думаю, файл backup.tar.7z - это только tar-файл (с разрешениями), сжатый 7z-файлом, хотя я не удивлюсь, если мало сжатие произошло потому, что 7z может не удалять метаданные файла. Это 7z возможность исключить метаданные файла, которые могут предложить отличное сжатие (в частности, конечно).

Сжатие полностью зависит от типа данных. Некоторые файлы плохо сжимаются, потому что они могут быть сжаты с помощью других средств (т. Е. .mp3, .jpg, .tiff / с lzma, .rpm и т. Д.).

4
задан 3 July 2012 в 21:03

14 ответов

Вы можете использовать команду mimetype. Пример:

mimetype example.ppt
example.ppt: application/vnd.ms-powerpoint

и

mimetype example.doc 
example.doc: application/vnd.ms-word

Однако, в отличие от file -i, это определение MIME-типа основано на расширениях файлов поиска (.ppt, .doc и т.д.) из общей базы данных MIME-info, и их изменение также изменит типы MIME.

С измененным расширением единственный способ узнать о файле - посмотреть его подпись файла или его магическое число, , которое совпадает для всех документов Microsoft Office (D0 CF 11 E0 или DOCFILE0). Таким образом, любые файлы MS-Office будут обнаружены как MIME-тип.

0
ответ дан 25 July 2018 в 18:13

Вы можете использовать команду mimetype. Пример:

mimetype example.ppt
example.ppt: application/vnd.ms-powerpoint

и

mimetype example.doc 
example.doc: application/vnd.ms-word

Однако, в отличие от file -i, это определение MIME-типа основано на расширениях файлов поиска (.ppt, .doc и т.д.) из общей базы данных MIME-info, и их изменение также изменит типы MIME.

С измененным расширением единственный способ узнать о файле - посмотреть его подпись файла или его магическое число, , которое совпадает для всех документов Microsoft Office (D0 CF 11 E0 или DOCFILE0). Таким образом, любые файлы MS-Office будут обнаружены как MIME-тип.

0
ответ дан 2 August 2018 в 00:27

Вы можете использовать команду mimetype. Пример:

mimetype example.ppt
example.ppt: application/vnd.ms-powerpoint

и

mimetype example.doc 
example.doc: application/vnd.ms-word

Однако, в отличие от file -i, это определение MIME-типа основано на расширениях файлов поиска (.ppt, .doc и т.д.) из общей базы данных MIME-info, и их изменение также изменит типы MIME.

С измененным расширением единственный способ узнать о файле - посмотреть его подпись файла или его магическое число, , которое совпадает для всех документов Microsoft Office (D0 CF 11 E0 или DOCFILE0). Таким образом, любые файлы MS-Office будут обнаружены как MIME-тип.

0
ответ дан 4 August 2018 в 15:55

Вы можете использовать команду mimetype. Пример:

mimetype example.ppt
example.ppt: application/vnd.ms-powerpoint

и

mimetype example.doc 
example.doc: application/vnd.ms-word

Однако, в отличие от file -i, это определение MIME-типа основано на расширениях файлов поиска (.ppt, .doc и т.д.) из общей базы данных MIME-info, и их изменение также изменит типы MIME.

С измененным расширением единственный способ узнать о файле - посмотреть его подпись файла или его магическое число, , которое совпадает для всех документов Microsoft Office (D0 CF 11 E0 или DOCFILE0). Таким образом, любые файлы MS-Office будут обнаружены как MIME-тип.

0
ответ дан 6 August 2018 в 00:33

Вы можете использовать команду mimetype. Пример:

mimetype example.ppt
example.ppt: application/vnd.ms-powerpoint

и

mimetype example.doc 
example.doc: application/vnd.ms-word

Однако, в отличие от file -i, это определение MIME-типа основано на расширениях файлов поиска (.ppt, .doc и т.д.) из общей базы данных MIME-info, и их изменение также изменит типы MIME.

С измененным расширением единственный способ узнать о файле - посмотреть его подпись файла или его магическое число, , которое совпадает для всех документов Microsoft Office (D0 CF 11 E0 или DOCFILE0). Таким образом, любые файлы MS-Office будут обнаружены как MIME-тип.

0
ответ дан 7 August 2018 в 17:59

Вы можете использовать команду mimetype. Пример:

mimetype example.ppt
example.ppt: application/vnd.ms-powerpoint

и

mimetype example.doc 
example.doc: application/vnd.ms-word

Однако, в отличие от file -i, это определение MIME-типа основано на расширениях файлов поиска (.ppt, .doc и т.д.) из общей базы данных MIME-info, и их изменение также изменит типы MIME.

С измененным расширением единственный способ узнать о файле - посмотреть его подпись файла или его магическое число, , которое совпадает для всех документов Microsoft Office (D0 CF 11 E0 или DOCFILE0). Таким образом, любые файлы MS-Office будут обнаружены как MIME-тип.

0
ответ дан 10 August 2018 в 06:48

Вы можете использовать команду mimetype. Пример:

mimetype example.ppt
example.ppt: application/vnd.ms-powerpoint

и

mimetype example.doc 
example.doc: application/vnd.ms-word

Однако, в отличие от file -i, это определение MIME-типа основано на расширениях файлов поиска (.ppt, .doc и т.д.) из общей базы данных MIME-info, и их изменение также изменит типы MIME.

С измененным расширением единственный способ узнать о файле - посмотреть его подпись файла или его магическое число, , которое совпадает для всех документов Microsoft Office (D0 CF 11 E0 или DOCFILE0). Таким образом, любые файлы MS-Office будут обнаружены как MIME-тип.

0
ответ дан 15 August 2018 в 18:43
  • 1
    Большое спасибо. Это очень полезно. Ну, тогда, я думаю, мне просто нужно как-то заставить это работать в песочнице. – Shelby. S 3 July 2012 в 22:32

Используйте file с -i, чтобы получить mime-тип:

file -i <filename>
2
ответ дан 25 May 2018 в 09:04
  • 1
    Это то, что я сейчас использую. И это будет работать для каждого другого файла, кроме docx, pptx, xlsx, doc, ppt и xls. Редактирование: $ file -i presentation-tips.ppt presentation-tips.ppt: application / vnd.ms-office; charset = двоичный $ file -i Project.xls Project.xls: application / vnd.ms-office; charset = binary Обратите внимание, что эти два файла - это файлы xls и ppt, но они идентифицируются только как документы Office. И я не могу полагаться на расширения – Shelby. S 3 July 2012 в 20:58
  • 2
    Просто дикая мысль, но вы посмотрели на флаг --magic-files? В нем указано «Укажите альтернативный список файлов и каталогов, содержащих магию. Это может быть отдельный элемент или список, разделенный двоеточиями. Если скомпилированный магический файл находится рядом с файлом или каталогом, он будет использоваться вместо этого. & Quot; – user 3 July 2012 в 22:20
  • 3
    Просто дикая мысль, но вы посмотрели на флаг --magic-files? В нем указано «Укажите альтернативный список файлов и каталогов, содержащих магию. Это может быть отдельный элемент или список, разделенный двоеточиями. Если скомпилированный магический файл находится рядом с файлом или каталогом, он будет использоваться вместо этого. & Quot; – user 3 July 2012 в 22:20
  • 4
    Просто дикая мысль, но вы посмотрели на флаг --magic-files? В нем указано «Укажите альтернативный список файлов и каталогов, содержащих магию. Это может быть отдельный элемент или список, разделенный двоеточиями. Если скомпилированный магический файл находится рядом с файлом или каталогом, он будет использоваться вместо этого. & Quot; – user 3 July 2012 в 22:20
  • 5
    Просто дикая мысль, но вы посмотрели на флаг --magic-files? В нем указано «Укажите альтернативный список файлов и каталогов, содержащих магию. Это может быть отдельный элемент или список, разделенный двоеточиями. Если скомпилированный магический файл находится рядом с файлом или каталогом, он будет использоваться вместо этого. & Quot; – user 3 July 2012 в 22:20
  • 6
    Просто дикая мысль, но вы посмотрели на флаг --magic-files? В нем указано «Укажите альтернативный список файлов и каталогов, содержащих магию. Это может быть отдельный элемент или список, разделенный двоеточиями. Если скомпилированный магический файл находится рядом с файлом или каталогом, он будет использоваться вместо этого. & Quot; – user 3 July 2012 в 22:20
  • 7
    Просто дикая мысль, но вы посмотрели на флаг --magic-files? В нем указано «Укажите альтернативный список файлов и каталогов, содержащих магию. Это может быть отдельный элемент или список, разделенный двоеточиями. Если скомпилированный магический файл находится рядом с файлом или каталогом, он будет использоваться вместо этого. & Quot; – user 3 July 2012 в 22:20

Используйте file с -i, чтобы получить mime-тип:

file -i <filename>
2
ответ дан 25 July 2018 в 18:13

Используйте file с -i, чтобы получить mime-тип:

file -i <filename>
2
ответ дан 4 August 2018 в 15:55

Используйте file с -i, чтобы получить mime-тип:

file -i <filename>
2
ответ дан 6 August 2018 в 00:33

Используйте file с -i, чтобы получить mime-тип:

file -i <filename>
2
ответ дан 7 August 2018 в 17:59

Используйте file с -i, чтобы получить mime-тип:

file -i <filename>
2
ответ дан 10 August 2018 в 06:48

Используйте file с -i, чтобы получить mime-тип:

file -i <filename>
2
ответ дан 15 August 2018 в 18:43
  • 1
    Это то, что я сейчас использую. И это будет работать для любого другого файла, кроме docx, pptx, xlsx, doc, ppt и xls. Редактировать: $ file -i Presentations-tips.ppt Presentations-tips.ppt: application / vnd.ms-office; charset = двоичный файл $ -i Project.xls Project.xls: application / vnd.ms-office; charset = binary Обратите внимание, что эти два файла являются файлами xls и ppt, но они идентифицируются только как документы Office. И я не могу положиться на расширения – Shelby. S 3 July 2012 в 20:58
  • 2
    Просто дикая мысль, но вы смотрели на флаг --magic-files? Там написано & quot; Укажите альтернативный список файлов и каталогов, содержащих магию. Это может быть отдельный элемент или список, разделенный двоеточиями. Если скомпилированный магический файл находится рядом с файлом или каталогом, он будет использоваться вместо этого. & Quot; – user 3 July 2012 в 22:20

Другие вопросы по тегам:

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