Визначте, чи стискається певний файл


15

Як дізнатися в Linux, чи стискається певний файл чи не використовується команда?


6
Визначте «стиснений». Чи стискаються файли ogg, mp3, gz, zip, xz, rar, 7z, bz2, upx ущільнені виконавчі файли, deb, rpm?
Стефан Шазелас

Відповіді:


18

Ви можете спробувати використовувати file, наприклад:

$ file test.sh.gz
test.sh.gz: gzip compressed data, was "test.sh", from Unix, last modified: Wed Feb  6 14:35:33 2013

Чи працює це, якщо файл є символьним посиланням на стислий файл?
блі

@bli ні, принаймні не на моєму тут Ubuntu.
Леонід

2

Виконайте fileкоманду на ньому. Він визначить стиснуті файли, а також інші поширені формати файлів.

Зауважте, що ZIP - це звичайний формат контейнерів. Наприклад, файли EPUB та OpenDocument - це фактично ZIP-файли із певним вмістом. Моя версія fileрозпізнає файли OpenDocument, але якщо у вас немає, це може сказати, що ваш файл OpenDocument - це файл ZIP. Це може бути не результатом, який ви мали на увазі :).

Щоб бути педантичним, ви, мабуть, не маєте на увазі "цей файл стискається", як OpenDocument, або навіть зображення, стиснене як PNG або JPEG. Ви, мабуть, маєте на увазі "це цей файл - архів", як ZIP, unix tar або однофайловий архів, наприклад, gzip.

Зазвичай ви просто дивитесь на розширення файлу, як у Windows. Як і .ZIP означає ZIP-файл, .gz означає gzip. В Linux ви також можете побачити .bz2 (bunzip2) і .xz (xz).


1

Ви можете визначити, чи схожий файл на стислий формат, виконавши fileкоманду.

file lorem.txt lorem.txt.gz
lorem.txt:    ASCII text
lorem.txt.gz: gzip compressed data, from Unix, last modified: Thu Feb  7 02:10:44 2013, max compression

fileпросто скаже "дані", якщо він не розпізнає формат. Крім того, вирішувати, що стискається чи ні (наприклад, "ASCII текст", "PPM", "WAVE аудіо" не стискаються; "стиснуті дані gzip", "JPEG-зображення", "Vorbis audio"). .

Ще один спосіб визначити, чи виглядає файл стиснутим - спробувати його стиснути. Якщо ви не можете значно зменшити розмір, файл, ймовірно, стиснутий або зашифрований.

wc -c somefile
gzip <somefile | wc -c
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.