Типы файлов в Ubuntu Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
manual:типы_файлов [2010/05/07 14:43]
manual:типы_файлов [2010/09/01 23:26] (текущий)
Строка 28: Строка 28:
  
 Конечно расширение нужно, мало того, Ubuntu полагается в первую очередь именно на него, то есть если вы переименуете mp3 файл, добавив к нему расширение ''​txt'',​ то Ubuntu будет считать такой файл текстовым. Однако то, что Ubuntu умеет смотреть не только на имя файла, спасает от многих проблем. Поэтому не удивляйтесь,​ когда встретите в Ubuntu файлы вообще без расширения,​ с которыми система преспокойно работает,​ ничего при этом не спрашивая. Конечно расширение нужно, мало того, Ubuntu полагается в первую очередь именно на него, то есть если вы переименуете mp3 файл, добавив к нему расширение ''​txt'',​ то Ubuntu будет считать такой файл текстовым. Однако то, что Ubuntu умеет смотреть не только на имя файла, спасает от многих проблем. Поэтому не удивляйтесь,​ когда встретите в Ubuntu файлы вообще без расширения,​ с которыми система преспокойно работает,​ ничего при этом не спрашивая.
 +
 +Кстати,​ в Ubuntu есть мощная утилита определения типа файла, которая вообще не смотрит на имя и расширение,​ а пытается идентифицировать файл только по содержимому. Она бывает полезна,​ когда файл по каким-либо причинам не открывается,​ поскольку позволяет убедиться,​ что в нём содержаться данные именно того типа, которого вы и ожидаете там увидеть. Утилита эта консольная и называется ''​file''​. Вот что она говорит о переименованном в текстовый документ аудио в формате mp3:
 +
 +{{ .:​типы_файлов:​file-utility.png }}
 +
 +Обмануть утилиту ''​file''​ практически невозможно,​ а знает она о большинстве используемых форматов файлов.
  
 ===== Исполняемые файлы ===== ===== Исполняемые файлы =====
Строка 45: Строка 51:
 ===== Текстовые файлы ===== ===== Текстовые файлы =====
  
-Текстовые файлы в Ubuntu повсюду. Все настройки хранятся в виде текстовых файлов,​ исходные коды всех программ представляют из себя текстовые файлы, многие программы в Ubuntu являются на самом деле скриптами,​ то есть тоже текстовыми файлами. И естественно Ubuntu умеет работать с текстовыми файлами как угодно. И этой темы даже не пришлось бы касаться,​ если бы не одна проблема операционных систем Windows. Дело в том, что в Windows до сих пор кое-где ещё используется устаревший в 90-х прошлого столетия способ сохранения обычного текста,​ в частности,​ в текстовых файлах((Проблема вот в чём: технически в памяти компьютера хранятся биты, объединённые в байты, то есть наборы ноликов и единичек. Такие наборы представляют из себя числа в двоичной системе счисления. То есть компьютер умеет хранить только обычные числа. Для того, чтобы сохранять текст и иметь возможность потом его прочитать,​ необходима специальная таблица преобразования,​ в которой каждому символу соответствует свой номер. Такая таблица называется кодировкой. Исторически сложилось так, что на первых компьютерах из-за экономии памяти одному символу соответствовал один байт, соответственно,​ в кодировке могло быть всего 256 символов (т.к. в одном байте можно записать числа от 0 до 255). Естественно,​ 256 символов не хватит даже для записи некоторых национальных алфавитов,​ не говоря уже про все алфавиты мира. Поэтому для каждого национального алфавита была разработана своя кодировка (а иногда и не одна). Для русского языка три самые частоиспользуемые кодировки такого вида это стандартная ''​cp1251''​ для Windows, ''​KOI8R''​ и старая ''​cp866''​ для DOS. И всё бы хорошо,​ но по набору байтов,​ который должен представлять из себя текст, невозможно определить,​ в какой из национальных кодировок он представлен. Это создаёт гигантские проблемы при попытке общения людей из разных национальностей и делает практически невозможной интернализацию текстовых документов. Поэтому была разработана универсальная кодировка,​ названная Unicode (Юникод),​ которая содержит абсолютно все печатные символы Земли. Технически она реализована в нескольких вариантах,​ самым распространённым из которых является ''​utf-8''​. Это кодировка имеет обратную совместимость с ''​ASCII'',​ старым международным 128-символьным стандартом,​ содержащим только английские буквы, арабские цифры и знаки препинания,​ поэтому документы только с ''​ASCII''​ символами прекрасно открываются как ''​utf-8''​. Ubuntu везде и всегда естественно использует ''​utf-8'',​ это позволяет,​ в частности,​ использовать любые символы в именах файлов да и вообще что угодно называть как угодно. А вот некоторые программы для Windows, к сожалению,​ до сих пор не вылезли из анабиоза и зачастую используют национальные кодировки для сохранения текста. В случае русскоязычной версии Windows такой кодировкой является ''​cp1251''​. Проблемы начинаются,​ когда документы из Windows приходится открывать в Ubuntu. Как я уже сказал,​ определить по набору байт, в какой из сотен кодировок он представлен,​ невозможно. Поэтому по умолчанию Ubuntu полагает,​ что весь текст представлен в стандартной международной кодировке,​ то есть в ''​utf8''​. И если вы откроете в Ubuntu текстовый файл с русскими символами,​ созданный в Windows, то вполне можете увидеть непонятные символы.)).+Текстовые файлы в Ubuntu повсюду. Все настройки хранятся в виде текстовых файлов,​ исходные коды всех программ представляют из себя текстовые файлы, многие программы в Ubuntu являются на самом деле скриптами,​ то есть тоже текстовыми файлами. И естественно Ubuntu умеет работать с текстовыми файлами как угодно. И этой темы даже не пришлось бы касаться,​ если бы не одна проблема операционных систем Windows. Дело в том, что в Windows до сих пор кое-где ещё используется устаревший в 90-х прошлого столетия способ сохранения обычного текста,​ в частности,​ в текстовых файлах((Проблема вот в чём: технически в памяти компьютера хранятся биты, объединённые в байты, то есть наборы ноликов и единичек. Такие наборы представляют из себя числа в двоичной системе счисления. То есть компьютер умеет хранить только обычные числа. Для того, чтобы сохранять текст и иметь возможность потом его прочитать,​ необходима специальная таблица преобразования,​ в которой каждому символу соответствует свой номер. Такая таблица называется кодировкой. Исторически сложилось так, что на первых компьютерах из-за экономии памяти одному символу соответствовал один байт, соответственно,​ в кодировке могло быть всего 256 символов (т.к. в одном байте можно записать числа от 0 до 255). Естественно,​ 256 символов не хватит даже для записи некоторых национальных алфавитов,​ не говоря уже про все алфавиты мира. Поэтому для каждого национального алфавита была разработана своя кодировка (а иногда и не одна). Для русского языка три самые частоиспользуемые кодировки такого вида это стандартная ''​cp1251''​ для Windows, ''​KOI8R''​ и старая ''​cp866''​ для DOS. И всё бы хорошо,​ но по набору байтов,​ который должен представлять из себя текст, невозможно определить,​ в какой из национальных кодировок он представлен. Это создаёт гигантские проблемы при попытке общения людей из разных национальностей и делает практически невозможной интернализацию текстовых документов. Поэтому была разработана универсальная кодировка,​ названная Unicode (Юникод),​ которая содержит абсолютно все печатные символы Земли. Технически она реализована в нескольких вариантах,​ самым распространённым из которых является ''​utf-8''​. Это кодировка имеет обратную совместимость с ''​ASCII'',​ старым международным 128-символьным стандартом,​ содержащим только английские буквы, арабские цифры и знаки препинания,​ поэтому документы только с ''​ASCII''​ символами прекрасно открываются как ''​utf-8''​. Ubuntu везде и всегда естественно использует ''​utf-8'',​ это позволяет,​ в частности,​ использовать любые символы в именах файлов да и вообще что угодно называть как угодно. А вот некоторые программы для Windows, к сожалению,​ до сих пор не вылезли из анабиоза и зачастую используют национальные кодировки для сохранения текста. В случае русскоязычной версии Windows такой кодировкой является ''​cp1251''​. Проблемы начинаются,​ когда документы из Windows приходится открывать в Ubuntu. Как я уже сказал,​ определить по набору байт, в какой из сотен кодировок он представлен,​ невозможно. Поэтому по умолчанию Ubuntu полагает,​ что весь текст представлен в стандартной международной кодировке,​ то есть в ''​utf-8''​. И если вы откроете в Ubuntu текстовый файл с русскими символами,​ созданный в Windows, то вполне можете увидеть непонятные символы.)).
  
-Итак, что же делать, ​если при открытии текстового файла вы вместо ожидаемого ​текста ​видите непонятные "кракозябры"? Есть два ​пути - один универсальный,​ другой - для наиболее типичной ситуации. Начну ​со второго. Можно немного помочь ​текстовому редактору Ubuntu, указав ему, что ​чаще всего ​вы будете открывать ​кроме нормальных ​текстовых файлов((То есть сохранённых в кодировке ​''​utf-8''​.)) ещё и стандартные ​файлы ​из Windows((То есть с кодировкой ''​cp-1251''​.)). После ​этого в большинстве ​случаев вы не увидите никаких "кракозябр". Делается это ​с помощью ​редактора конфигурации рабочей среды GNOME, ​про ​который я буду рассказывать в одной из [[редакторастроек_GNOME|статей]] последней части руководства. Ничего сложного в этом нет, так что можете спокойно сначала прочитать ​про ​редактор конфигурации, а потом вернуться к дальнейшему изучению основ использования Ubuntu.+На самом деле ​большинство файлов откроется в стандартном текстовом ​редакторе Ubuntu без проблем((Поскольку по умолчанию в русскоязычной ​версии ​Ubuntu Gedit настроен таким образом, что ​он пытается автоматически подобрать одну из распространённых ​русскоязычных кодировок к файлу. Конечноесли в файле не русский ​текст, и сохранён ​такой файл в одной из устаревших ​кодировок, то Ubuntu автоматически открыть его не сможет.)), но всё же иногда попадаются файлы, которые отображаются "кракозябрами"​В этом случае необходимо немного помочь Gedit и указать ​кодировку файла вручную. Для этого закройте в редакторе вкладку с нечитаемым файлом, затем выберите в меню ​программы пункт "​Открыть", ​найдите свой файл и обратите внимание на поле ​"Кодировка символов", находящееся внизу диалогового окна открытия. В этом ​поле необходимо указать ​нужную кодировку,​ после чего файл откроется уже в пригодном для чтения виде. Кстати, рекомендую такие файлы сразу сохранять в ''​utf-8'',​ дабы в дальнейшем ​не возникало с ними проблем.
  
-Однако описанный способ не позволит вам сделать так, чтобы Ubuntu одинаково хорошо открывала абсолютно все текстовые файлы. Поэтому теперь я расскажу про универсальное решение ​проблем ​с нечитаемым текстом. Собственно,​ необходимо всего лишь указать Ubuntu ​кодировкув которой она должна прочитать файл. В стандартном текстовом редакторе Gedit это делается так: +Существуют и более лёгкие способы работы с кодировками, например, плагин для Gedit, позволяющий менять кодировку у открытых ​файлов без необходимости их переоткрыванияКроме того, существуют утилиты для ​автоматического перекодирования файлов в ''​utf8''​, например, ''​enca''​. Можно также управлять механизмом автоопределения кодировки ​в Gedit, это делается через редактор ​конфигурации, про который ​я немного расскажу в одной ​из последних статей.
- +
-  -- Сначала закройте вкладку с текстовым документом, который вы хотите открыть в другой ​кодировке: +
-  .. {{ .:типы_файлов:​text-unread.png }} +
-  -- Теперь выберите в меню "​Файл"​ пункт "​Открыть..."​. Выберите нужный вам файл в появившемся диалоге, а в раскрывающемся списке "Кодировка символов"располагающимся внизу, выберите пункт "​Кириллица (WINDOWS-1251)":​ +
-  .. {{ .:типы_файлов:​select-cp1251.png }} +
-  -- Нажмите кнопку "​Открыть",​ файл ​должен открыться в нормальном виде((Если вы так и не увидите нормального текста в открывшемся файле, то повторите пункты 1-3, выбирая другие кодировки из списка. Если у вас так и не получилось увидеть содержимое ​файлазначит он скорее всего содержит не совсем стандартный русский текст, попробуйте ​подобрать ​кодировку исходя ​из предполагаемого содержимого. Для этого вам возможно придётся добавить ​ещё кодировок в список,​ обратите внимание на пункт "​Добавить или удалить..."​ в раскрывающемся списке выбора ​кодировки)): +
-  .. {{ .:типы_файлов:​text-ok.png }} +
- +
-Сложно? Да, не просто. Существуют более лёгкие способы работы с кодировками, ​например, плагин для Gedit, позволяющий менять кодировку у открытых файлов без ​необходимости их повторного ​открытия. Кроме того, ​существуют утилиты для автоматического перекодирования файлов в ''​utf8'',​ например,​ ''​enca''​.+
  
 Напоследок хочется сказать,​ что очень рекомендуется так или иначе перевести всю текстовую информацию на использование ''​utf8'',​ поскольку фактически только эта кодировка нормально распознаётся везде и всегда,​ а в будущем скорее всего только она и будет использоваться. Напоследок хочется сказать,​ что очень рекомендуется так или иначе перевести всю текстовую информацию на использование ''​utf8'',​ поскольку фактически только эта кодировка нормально распознаётся везде и всегда,​ а в будущем скорее всего только она и будет использоваться.
Строка 64: Строка 61:
 ===== Аудиофайлы ===== ===== Аудиофайлы =====
  
-В случае с аудиофайлами так же существует проблема с кодировками,​ только проявляется она в тегах. К сожалению,​ некоторые популярные Windows-программы редактирования тегов ​так же до сих пор используют устаревшую кодировку. Некоторые плееры Ubuntu поддерживают указание кодировки воспроизводимых файлов,​ однако гораздо предпочтительней обработать всю вашу медиатеку специальными программами,​ которые автоматически приведут все теги в нормальный вид, дабы в дальнейшем не было проблем. Самой популярной программой такого рода является EasyTag, она доступна в стандартных репозиториях,​ так что почти сразу после прочтения следующей статьи вы сможете её воспользоваться.+В случае с аудиофайлами также существует проблема с кодировками,​ только проявляется она в тегах. К сожалению,​ некоторые популярные Windows-программы редактирования тегов ​как и текстовые редакторы ​до сих пор используют устаревшую кодировку. Некоторые плееры Ubuntu поддерживают указание кодировки воспроизводимых файлов,​ однако гораздо предпочтительней обработать всю вашу медиатеку специальными программами,​ которые автоматически приведут все теги в нормальный вид, дабы в дальнейшем не было проблем. Самой популярной программой такого рода является EasyTag, она доступна в стандартных репозиториях,​ так что почти сразу после прочтения следующей статьи вы сможете ей воспользоваться.
  
 Что же касается форматов,​ то Ubuntu поддерживает все существующие аудио-форматы,​ однако для воспроизведения некоторых требуются дополнительные кодеки. О том, как их поставить,​ я расскажу в одной из следующих статей. Что же касается форматов,​ то Ubuntu поддерживает все существующие аудио-форматы,​ однако для воспроизведения некоторых требуются дополнительные кодеки. О том, как их поставить,​ я расскажу в одной из следующих статей.
 +
 +===== Изменение ассоциаций файлов с приложениями =====
 +
 +Когда вы немного освоитесь в Ubuntu, у вас возможно возникнет желание познакомиться с доступными в изобилии в репозиториях программами. И вскоре после того, как вы выберите из бесчисленного множества альтернатив подходящие для себя приложения,​ перед вами скорее всего встанет вполне закономерный вопрос:​ а как заставить определённые типы файлов открываться в установленных вами программах,​ а не в доступных по умолчанию?​
 +
 +Ответ на него весьма прост. Нажмите правой клавишей мыши на любом файле нужного типа, выберите в появившемся меню пункт "​Свойства"​ и в открывшемся окне перейдите на вкладку "​Открывать в программе":​
 +
 +{{ .:​типы_файлов:​file-assoc.png }}
 +
 +В списке будут содержаться все приложения,​ которые сообщили Ubuntu о поддержке ими выбранного типа файлов. Ну а отмечена будет программа,​ используемая по умолчанию. Вам останется только выбрать нужное приложение и закрыть окно, после чего файлы указанного типа начнут открываться по умолчанию в выбранном вами приложении. То есть если вы хотите,​ например,​ чтобы фильмы в формате avi открывались в установленном вами VLC, а не в медиапроигрывателе Totem, то вам всего лишь надо в свойствах любого avi файла отметить VLC в качестве приложения по умолчанию.
 +
 +Кстати,​ вы легко можете включить свои приложения в список,​ нажав на кнопку "​Добавить"​ внизу окна и выбрав одну из установленных в системе программ или введя свою команду запуска. Таким образом вы можете настроить ассоциации с любыми приложениями для всех используемых вами типов файлов.
 +
 +Однако у описанного механизма есть одна небольшая проблема:​ чтобы изменить привязку к приложению для определённого типа файлов вам необходимо иметь файл нужного типа. Просто же посмотреть и изменить список всех используемых в системе ассоциаций по умолчанию нельзя. К счастью,​ подобный функционал доступен в уже упоминавшейся утилите Ubuntu Tweak, так что если вы хотите изменить ассоциации сразу для большого количества типов файлов,​ то советую вам использовать именно её.
  
 ===== В качестве заключения ===== ===== В качестве заключения =====