Начинающим пользователям Ubuntu зачастую нелегко привыкнуть к некоторой специфике обращения с файлами в этой системе. Однако на самом деле всё крайне просто и очень элегантно, в этой статье будет предпринята попытка объяснить все тонкости, чтобы потом при использовании системы вы не удивлялись некоторым непонятным с первого взгляда вещам. Названия файлов и папок
Если помните, в Linux все имена файлов являются регистрозависимыми, то есть можно совершенно спокойно создать в одном каталоге два файла с одинаковыми именами, но записанными в различных регистрах, например,
Кроме того, в именах файлов можно использовать абсолютно любые символы, и это не преувеличение — действительно любые, которые пожелаете, кроме прямого слеша
Ну и, напоследок, ещё раз обратите внимание, что разделителем каталогов в пути к файлу в Linux всегда является символ Доступ к файлам и каталогам
В предыдущей статье уже было рассказано о правах доступа к файлам, поэтому вы должны знать, что в Linux можно ограничить доступ к файлу на редактирование или же просто полностью запретить доступ к содержимому с помощью механизма разграничения прав. Например, все системные конфигурационные файлы закрыты для редактирования обычному пользователю, и если вы попытаетесь сохранить какие-нибудь изменения в такой файл, Ubuntu сообщит, что у вас не хватает на это прав. Некоторые же файлы невозможно даже открыть и посмотреть их содержимое. Каталоги, с точки зрения механизма разграничения прав в Ubuntu, мало чем отличаются от файлов и тоже зачастую имеют ограничения на запись файла простым пользователем (например, у вас ничего не получится с сохранением файла в каталог Содержимое и расширение файлов
«Тип файла определяется его расширением!» — именно так вы думаете после того, как какое-то время провели в операционной системе Windows. Самое интересное, что и разработчики этой ОС считают последнюю часть имени файла после точки определяющей его тип, недаром они по умолчанию скрывают расширение для зарегистрированных типов файлов. Например, файл Например, перейдите в Ubuntu в какую-нибудь папку с mp3 файлами и переключитесь на режим отображения списком6). В столбце «Тип» рядом с mp3-файлами вы увидите «Звук»:
Теперь переименуйте любой файл, приписав ему вместо Видите, тип файла не изменился. Если вы сейчас попробуете открыть такой файл, то он преспокойно откроется как mp3 в проигрывателе7).
Конечно, расширение нужно, мало того, Ubuntu полагается в первую очередь именно на него — то есть, если переименовать mp3-файл, добавив к нему расширение Однако то, что Ubuntu умеет смотреть не только на имя файла, спасает от многих проблем. Поэтому не удивляйтесь, когда встретите в Ubuntu файлы вообще без расширения, с которыми система преспокойно работает, ничего при этом не спрашивая.
Кстати, в Ubuntu есть мощная утилита определения типа файла, которая вообще не смотрит на имя и расширение, а пытается идентифицировать файл только по содержимому. Она бывает полезна, когда файл по каким-либо причинам не открывается, поскольку позволяет убедиться, что в нём содержатся данные именно того типа, которого вы и ожидаете там увидеть. Утилита эта — консольная, и называется
Обмануть утилиту Обратите внимание на длиннющий путь к файлу в терминале. Думаете, его нужно вводить вручную? Как бы не так! Все намного проще: нужно просто ввести команду, а затем перетащить файл из файлового менеджера в терминал. Путь вставится автоматически.
Исполняемые файлы
В вопросах исполняемых файлов, то есть, если по простому, обычных программ, Ubuntu кардинально отличается от Windows. В Windows исполняемые файлы имеют расширение Итак, что же такое исполняемый файл с точки зрения Ubuntu? Фактически это любой файл, который помечен, как исполняемый и который Ubuntu сможет запустить на выполнение. Означает это вот что: у каждого файла есть специальное свойство-переключатель, никак не зависящее ни от имени, ни от содержимого, отвечающее за исполняемость. Если файл помечен, как исполняемый, то вообще говоря он таковым и является, а если не помечен - то это обычный файл с данными и напрямую запустить его на выполнение нельзя. Другое дело, что не любой файл, помеченный как исполняемый, Ubuntu сможет выполнить, хотя в арсенале Ubuntu есть масса методов запуска файлов с совершенно различным содержимым. Характерным примером необычных с первого взгляда исполняемых файлов Linux являются так называемые скрипты. Скрипты - это обычные текстовые файлы, содержащие набор инструкций для программы-интерпретатора, которая занимается собственно выполнением скриптов. Так вот, если на скрипте установлено свойство исполняемости, то это программа, которую можно запустить обычным образом, а если не установлено - то это всего лишь текстовый файл. То есть сделать файл исполняемым или же наоборот, убрать возможность его выполнения, можно изменением всего одного его свойства. Мало того, на самом деле это магическое свойство-переключатель исполняемости является одним из трёх прав доступа, о которых я мельком упоминал в предыдущей статье. Я говорил, что у каждого файла есть три группы прав доступа - для пользователя-владельца, для группы-владельца и для всех остальных, каждая группа состоит в свою очередь из трёх прав: на чтение, модифицирование и выполнение. Так вот, право на выполнение и является тем самым волшебным переключателем исполняемости. Из этого вытекает весьма забавное свойство: один и тот же файл может быть одновременно и исполняемым, и не исполняемым, допустим, если на его выполнение есть права только у пользователя-владельца. Тогда пользователь, которому принадлежит этот файл, сможет его запустить как программу, а для всех остальных он будет обычным файлом с данными. Вот так всё на самом деле просто и красиво, надеюсь, вы осознали основную логику и не будете путаться при работе с исполняемыми файлами в Ubuntu. Текстовые файлыТекстовые файлы в Ubuntu повсюду. Все настройки хранятся в виде текстовых файлов, исходные коды всех программ представляют из себя текстовые файлы, многие программы в Ubuntu являются на самом деле скриптами, то есть тоже текстовыми файлами. И естественно Ubuntu умеет работать с текстовыми файлами как угодно. И этой темы даже не пришлось бы касаться, если бы не одна проблема операционных систем Windows. Дело в том, что в Windows до сих пор кое-где ещё используется устаревший в 90-х прошлого столетия способ сохранения обычного текста, в частности, в текстовых файлах8).
На самом деле большинство файлов откроется в стандартном текстовом редакторе Ubuntu без проблем9), но всё же иногда попадаются файлы, которые отображаются «кракозябрами». В этом случае необходимо немного помочь Gedit и указать кодировку файла вручную. Для этого закройте в редакторе вкладку с нечитаемым файлом, затем выберите в меню программы пункт «Открыть», найдите свой файл и обратите внимание на поле «Кодировка символов», находящееся внизу диалогового окна открытия. В этом поле необходимо указать нужную кодировку, после чего файл откроется уже в пригодном для чтения виде. Кстати, рекомендую такие файлы сразу сохранять в
Существуют и более лёгкие способы работы с кодировками, например, плагин для Gedit, позволяющий менять кодировку у открытых файлов без необходимости их переоткрывания. Кроме того, существуют утилиты для автоматического перекодирования файлов в
Напоследок хочется сказать, что очень рекомендуется так или иначе перевести всю текстовую информацию на использование АудиофайлыВ случае с аудиофайлами также существует проблема с кодировками, только проявляется она в тегах. К сожалению, некоторые популярные Windows-программы редактирования тегов как и текстовые редакторы до сих пор используют устаревшую кодировку. Некоторые плееры Ubuntu поддерживают указание кодировки воспроизводимых файлов, однако гораздо предпочтительней обработать всю вашу медиатеку специальными программами, которые автоматически приведут все теги в нормальный вид, дабы в дальнейшем не было проблем. Самой популярной программой такого рода является EasyTag, она доступна в стандартных репозиториях, так что почти сразу после прочтения следующей статьи вы сможете ей воспользоваться. Что же касается форматов, то Ubuntu поддерживает все существующие аудио-форматы, однако для воспроизведения некоторых требуются дополнительные кодеки. О том, как их поставить, я расскажу в одной из следующих статей. Запуск в другом приложении и изменение ассоциаций файлов с приложениямиКогда вы немного освоитесь в Ubuntu, у вас, возможно, возникнет желание познакомиться с доступными в изобилии в репозиториях программами. И вскоре после того, как вы выберите из бесчисленного множества альтернатив подходящие для себя приложения, перед вами, скорее всего, встанет вполне закономерный вопрос: а как открыть этот файл в установленных вами программах, а не в доступных по умолчанию? Тут есть два выхода: запустить сначала программу, и в этой программе открыть файл, или указать Nautilus открыть файл в нужной программе. Для этого нажмите правой клавишей мыши на нужном вам файле, выберите пункт «Свойства» и в перейдите на вкладку «Открыть в программе»: В меню будут содержаться все приложения, которые сообщили Ubuntu о поддержке ими выбранного типа файлов. Вам останется только выбрать нужное приложение. Если в списке его нету, не отчаивайтесь, выберите пункт «Другое приложение…». Откроется окно, где можно можно выбрать из всех установленных приложений, или попробовать найти нужное в интернете: После добавления приложения таким образом, оно всегда будет появляться в меню «Открыть в программе…». Если вы ошиблись и это приложение не подходит для открытия этого типа файлов, выделите ненужное приложение, нажмите на нем правой кнопкой мыши и выберите пункт «Забыть ассоциацию». А как быть, если вы хотите, чтобы определенный тип файлов всегда открывался в другом приложении, а не в том, которое установлено по умолчанию? Например, чтобы все фильмы открывались в установленном вами VLC, а не в Totem, который открывает эти файлы по умолчанию. Для этого нужно изменить ассоциацию файла с приложением. Делается это очень просто: идете в «Параметры системы», выбираете пункт «Сведения о системе» и там строчку «Приложения по умолчанию». Теперь можете изменить приложения для основного типа файлов: Как видите, выбор типов файлов не очень велик. А как же быть с теми файлами, которых тут нету? К счастью, подобный функционал доступен в уже упоминавшейся утилите Ubuntu Tweak, так что если вы хотите изменить ассоциации сразу для большого количества типов файлов, то советую вам использовать именно её. Автозапуск сменных носителейРаз уж мы открыли «Сведения о системе» сделаем еще одну важную вещь. Обратите внимание на пункт «Сменные носители». Он позволяет выбрать, что делать системе при подключении сменного носителя (ДВД-диск, флэшка, карта памяти и т.п.) с определенным типом данных: Кнопка «Другой носитель…» позволяет настроить менее распространенные типы носителей. При активированной «галочке» напротив «Никогда не спрашивать и не запускать программы при подключении носителя» система вообще никак не будет реагировать на присоединение сменного носителя. В качестве заключенияВ этой статье я постарался подробно рассказать об основных особенностях в работе с файлами в Ubuntu. Надеюсь, вы смогли разобраться что к чему и уловить основные моменты. Напоследок хочется заметить, что Ubuntu без какого-либо дополнительного программного обеспечения поддерживает большинство распространённых форматов файлов, специфические файлы, скорей всего, можно как минимум сконвертировать в один из стандартных форматов с помощью различных программ, в изобилии доступных в репозиториях Ubuntu. Чуть позже я расскажу как поставить пакет полной поддержки мультимедиа форматов, который не входит в Ubuntu по умолчанию из-за несовершенного законодательства некоторых стран, с которым, к сожалению, приходится считаться, но для этого необходимо рассмотреть следующую очень важную тему: |
|
\0x00
, для тех кто знает, что это такое.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, то вполне можете увидеть непонятные символы.