Руководство по переходу на Ubuntu 10.04 LTS «Lucid Lynx» - Вадим Неворотин
- Дата:20.06.2024
- Категория: Компьютеры и Интернет / Программное обеспечение
- Название: Руководство по переходу на Ubuntu 10.04 LTS «Lucid Lynx»
- Автор: Вадим Неворотин
- Просмотров:3
- Комментариев:0
Шрифт:
Интервал:
Закладка:
Глава 16
Типы файлов в Ubuntu
Начинающим пользователям Ubuntu зачастую нелегко привыкнуть к некоторой специфике обращения с файлами в этой системе. Однако на самом деле всё крайне просто и очень элегантно, в этой главе я постараюсь объяснить все тонкости, чтобы потом при использовании системы вы не удивлялись некоторым непонятным с первого взгляда вещам.
16.1 Названия файлов и папок
Я уже упоминал, что в Linux все имена файлов являются регистрозависимыми, то есть вы спокойно можете создать в одном каталоге два файла с одинаковыми именами, но записанными в различных регистрах, например, Ubuntu.txt и ubuntu.txt.
Кроме того, я также говорил, что вы можете использовать в именах файлов абсолютно любые символы, которые пожелаете, кроме прямого слеша /[61], однако в силу некоторых причин я бы не рекомендовал использовать следующие символы: < > *, а также символы переноса строки и табуляции. Вы можете подписывать свои файлы китайскими иероглифами, рунами, греческими буквами и вообще чем угодно, если вам конечно будет удобно использовать такие имена[62].
Ну и напоследок ещё раз напомню, что разделителем каталогов в пути к файлу в Linux всегда является символ /, в отличие от Windows, в которой используется .
16.2 Доступ к файлам
В предыдущей главе я уже рассказал про права доступа к файлам, поэтому лишь кратко напомню: в Linux можно с помощью механизма разграничения прав ограничить доступ к файлу на редактирование или же просто полностью запретить доступ к содержимому. Например, все системные конфигурационные файлы закрыты для редактирования обычному пользователю, если вы попытаетесь сохранить какие-нибудь изменения в такой файл, Ubuntu вам скажет, что у вас не хватает на это прав. Некоторые же файлы вы даже не сможете открыть и посмотреть их содержимое. Если вы до сих пор не знаете, как это обойти, внимательно прочитайте предыдущую главу.
16.3 Содержимое и расширение файлов
Если вы пользовались раньше операционными системами Windows, то вы скорее всего привыкли к тому, что тип файла определяется его расширением (последняя часть имени файла после точки). Например, файл «Голубой ледопад. mp3» — это музыка в формате mp3[63], а «Урания. txt» — это текстовый файл[64]. На самом деле всё немного не так, расширение — это всего лишь часть имени файла, которое никак не зависит от собственно содержимого, и тип файла обычно определяется по-другому[65]. Например, перейдите в Ubuntu в какую-нибудь папку с mp3 файлами и переключитесь на режим отображения списком[66]. В колонке «Тип» рядом с mp3 файлами вы увидите «аудио MP3»:
Рис. 16.1: Аудиофайлы.
Теперь переименуйте любой файл, приписав ему вместо mp3 расширение ??. Видите, тип файла не изменился (Рис. 16.2). Если вы сейчас попробуете открыть такой файл, то он преспокойно откроется как mp3 в проигрывателе[67].
Рис. 16.2: Тип файла после изменения расширения.
Конечно расширение нужно, мало того, Ubuntu полагается в первую очередь именно на него, то есть если вы переименуете mp3 файл, добавив к нему расширение txt, то Ubuntu будет считать такой файл текстовым. Однако то, что Ubuntu умеет смотреть не только на имя файла, спасает от многих проблем. Поэтому не удивляйтесь, когда встретите в Ubuntu файлы вообще без расширения, с которыми система преспокойно работает, ничего при этом не спрашивая.
Кстати, в Ubuntu есть мощная утилита определения типа файла, которая вообще не смотрит на имя и расширение, а пытается идентифицировать файл только по содержимому. Она бывает полезна, когда файл по каким-либо причинам не открывается, поскольку позволяет убедиться, что в нём содержаться данные именно того типа, которого вы и ожидаете там увидеть. Утилита эта консольная и называется file. Вот что она говорит о переименованном в текстовый документ аудио в формате mp3:
Рис. 16.3: Результат выполнения file для файла с расширением txt.
Обмануть утилиту file практически невозможно, а знает она о большинстве используемых форматов файлов.
16.4 Исполняемые файлы
В вопросах исполняемых файлов, то есть, если по простому, обычных программ, Ubuntu кардинально отличается от Windows. В Windows исполняемые файлы имеют расширение exe (в основном), а внутри представляют из себя нечитаемый набор байтов. А в Ubuntu исполняемым может быть даже текстовый файл. Сразу скажу, что exe — это программы для Windows и в Ubuntu они не работают без Wine (приложения для запуска исполняемых файлов Windows в Linux), но вообще говоря и в Wine они работают далеко не всегда.
Итак, что же такое исполняемый файл с точки зрения Ubuntu? Фактически это любой файл, который помечен, как исполняемый и который Ubuntu сможет запустить на выполнение. Означает это вот что: у каждого файла есть специальное свойство-переключатель, никак не зависящее ни от имени, ни от содержимого, отвечающее за исполняемость. Если файл помечен, как исполняемый, то вообще говоря он таковым и является, а если не помечен — то это обычный файл с данными и напрямую запустить его на выполнение нельзя. Другое дело, что не любой файл, помеченный как исполняемый, Ubuntu сможет выполнить, хотя в арсенале Ubuntu есть масса методов запуска файлов с совершенно различным содержимым.
Характерным примером необычных с первого взгляда исполняемых файлов Linux являются так называемые скрипты. Скрипты — это обычные текстовые файлы, содержащие набор инструкций для программы-интерпретатора, которая занимается собственно выполнением скриптов. Так вот, если на скрипте установлено свойство исполняемости, то это программа, которую можно запустить обычным образом, а если не установлено — то это всего лишь текстовый файл. То есть сделать файл исполняемым или же наоборот, убрать возможность его выполнения, можно изменением всего одного его свойства.
Мало того, на самом деле это магическое свойство-переключатель исполняемости является одним из трёх прав доступа, о которых я мельком упоминал в предыдущей главе. Я говорил, что у каждого файла есть три группы прав доступа — для пользователя-владельца, для группы-владельца и для всех остальных, каждая группа состоит в свою очередь из трёх прав: на чтение, модифицирование и выполнение. Так вот, право на выполнение и является тем самым волшебным переключателем исполняемости.
Из этого вытекает весьма забавное свойство: один и тот же файл может быть одновременно и исполняемым, и не исполняемым, допустим, если на его выполнение есть права только у пользователя-владельца. Тогда пользователь, которому принадлежит этот файл, сможет его запустить как программу, а для всех остальных он будет обычным файлом с данными.
Вот так всё на самом деле просто и красиво, надеюсь, вы осознали основную логику и не будете путаться при работе с исполняемыми файлами в Ubuntu.
16.5 Текстовые файлы
Текстовые файлы в Ubuntu повсюду. Все настройки хранятся в виде текстовых файлов, исходные коды всех программ представляют из себя текстовые файлы, многие программы в Ubuntu являются на самом деле скриптами, то есть тоже текстовыми файлами. И естественно Ubuntu умеет работать с текстовыми файлами как угодно. И этой темы даже не пришлось бы касаться, если бы не одна проблема операционных систем Windows. Дело в том, что в Windows до сих пор кое-где ещё используется устаревший в 90-х прошлого столетия способ сохранения обычного текста, в частности, в текстовых файлах[68].
На самом деле большинство файлов откроется в стандартном текстовом редакторе Ubuntu без проблем[69], но всё же иногда попадаются файлы, которые отображаются «кракозябрами». В этом случае необходимо немного помочь Gedit и указать кодировку файла вручную. Для этого закройте в редакторе вкладку с нечитаемым файлом, затем выберите в меню программы пункт «Открыть», найдите свой файл и обратите внимание на поле «Кодировка символов», находящееся внизу диалогового окна открытия. В этом поле необходимо указать нужную кодировку, после чего файл откроется уже в пригодном для чтения виде. Кстати, рекомендую такие файлы сразу сохранять в utf-8, дабы в дальнейшем не возникало с ними проблем.
Существуют и более лёгкие способы работы с кодировками, например, плагин для Gedit, позволяющий менять кодировку у открытых файлов без необходимости их переоткрывания. Кроме того, существуют утилиты для автоматического перекодирования файлов в utf-8, например, enca. Можно также управлять механизмом автоопределения кодировки в Gedit, это делается через редактор конфигурации, про который я немного расскажу в одной из последних глав.
- Язык программирования C++. Пятое издание - Стенли Липпман - Программирование
- Аквариум. (Новое издание, исправленное и переработанное) - Виктор Суворов (Резун) - Шпионский детектив
- Английский язык с Эрнестом Хэмингуэем. Киллеры - Ernest Hemingway - Классическая проза
- Английский язык с Шерлоком Холмсом. Второй сборник рассказов - Arthur Conan Doyle - Классический детектив
- Древний рим — история и повседневность - Георгий Кнабе - История