Определите, сжат ли конкретный файл

Однажды xbindkeys установлен, откройте терминал и тип xbindkeys -k. Это должно открыться, белое окно (не беспокойтесь им). Просто нажмите кнопку, для которой Вы хотите создать правило на Вашей клавиатуре.

Ниже, я нажал кнопку 'Volume Up' на своей клавиатуре

max@max-desktop:/dev> xbindkeys -k
Press combination of keys or/and click under the window.
You can use one of the two lines after "NoCommand"
in $HOME/.xbindkeysrc to bind a key.
"(Scheme function)"
    m:0x10 + c:123
    Mod2 + XF86AudioRaiseVolume
max@max-desktop:/dev> 

Теперь возьмите ключевое определение:

"(Scheme function)"
    m:0x10 + c:123
    Mod2 + XF86AudioRaiseVolume

и поместите его в ~/.xbindkeysrc. Затем изменитесь ("Scheme function") часть к любой команде Вы хотите быть выполненными.

Например, это запустило бы VLC, когда я нажал кнопку Volume Up:

"vlc"
    m:0x10 + c:123
    Mod2 + XF86AudioRaiseVolume
15
07.02.2013, 00:30
4 ответа

Можно попытаться использовать 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
18
27.01.2020, 19:49
  • 1
    Это работает, если файл является символьной ссылкой на сжатый файл? –  bli 15.01.2018, 15:42
  • 2
    @bli не, по крайней мере, не на моей Ubuntu здесь. –  Leonid 08.02.2018, 16:39

Работайте file команда на нем. Это определит сжатые файлы, а также другие форматы общего файла.

Обратите внимание, что ZIP является общим форматом контейнера. Например, EPUB и файлы OpenDocument являются на самом деле zip-файлами с определенным содержанием. Моя версия file распознает файлы OpenDocument - но, если Ваш не делает, это может сказать, что Ваш файл OpenDocument является zip-файлом. Это не может быть результатом, который Вы имели в виду :).

Чтобы быть педантичными, Вы, вероятно, не имеете в виду, "этот сжатый файл", как OpenDocument или даже изображение, сжатое как PNG или JPEG. Вы, вероятно, имеете в виду, "этот файл архив", как ZIP, tar Unix или однофайловый архив как gzip.

Обычно, хотя, Вы просто смотрите на расширение файла, как в Windows. Как zip-файл средств.ZIP, .gz означает gzip. На Linux Вы, вероятно, будете, также видеть .bz2 (bunzip2) и .xz (xz).

2
27.01.2020, 19:49

Можно определить, похож ли файл на сжатый формат путем выполнения 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” сжато).

Другой способ обнаружить, если файл выглядит сжатым, состоит в том, чтобы попытаться сжать его. Если Вы не можете значительно уменьшить размер, файл, вероятно, сжат или зашифрован.

wc -c somefile
gzip <somefile | wc -c
1
27.01.2020, 19:49

в сценарии bash

if (file yourTestFile | grep -q compressed ) ; then
     echo "Yes, yourTestFile is compressed"
fi
1
07.02.2020, 20:02

Теги

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