Файловая система: что, чем и как
Файловая система Линукс имеет определённую структуру. Умение ориентироваться в этой структуре создаёт фундаментальную компетенцию пользователя, позволяя ему легко находить нужные программы и манипулировать информацией. Именно способность файловой системы допускать пользователя до одних частей своей структуры и запрещать ему доступ к другим лежит в основе системы безопасности. Умение файловой системы делать частью своей структуры другие файловые системы, расположенные на сменных носителях, в локальной сети или даже в сети Интернет, обеспечивает её гибкость, лёгкую расширяемость и конфигурируемость.
Штатным инструментом работы с файлами в операционной системе Линукс Юниор является Konqueror, который умеет выступать одновременно в роли интернет-браузера, инструмента настройки и файлового менеджера, в то время как в Лёгком Линукс работу с файлами можно выполнять при помощи файлового менеджера Thunar.
При запуске файлового менеджера Konqueror (его можно запустить как из меню KDE, так и кнопкой быстрого доступа к системным ресурсам Система, которая находится на панели KDE), на экран выводится окно.
Содержимое окон файлового менеджера может быть различным в зависимости от того, какой пункт в подменю, Система вы выбрали. Я выбрал пункт Домашняя папка и попал в ту самую «комнату для пользователя», которую система выделила мне в момент создания моей учётной записи.
Обратите внимание на строку Адрес:. В этой строке в данный момент находится системная ссылка на ваш домашний каталог. Если удалить содержимое этой строки, набрать там символ / и нажать клавишу Enter, то содержимое окна изменится (рис. 2.3).
Если я теперь наберу в строке адреса /home/shkoliar и нажму Enter, то я снова попаду в свой домашний каталог. Вам нужно, естественно, набрать /home/имя_вашей_учётной_записи.
Вместо того чтобы набирать /home/shkoliar, можно набрать ˜ (этот символ называется «тильда» и находится на самой первой клавише цифрового ряда клавиатуры) и затем нажать Enter. Вы снова попадёте в домашний каталог.
Внимание
Файловая система Линукс чувствительна к регистру символов. Это значит, что каталоги или файлы home и Home будут восприняты, как разные каталоги или файлы. Если у вас возникнет соблазн использовать это свойство для того, чтобы создавать разные файлы, у которых имена будут отличаться только регистром букв, подумайте, что случится с этими файлами, если вы скопируете их на диск под управлением операционной системы Windows, которая не различает регистр символов в именах файлов и каталогов.
Несмотря на то, что действий было выполнено немного, мы получили достаточно информации для обсуждения:
- Навигацию по файловой системе можно осуществлять при помощи файлового менеджера Konqueror.
- Для перехода из одного места файловой системы к другому можно набирать адрес в строке адреса и нажимать клавишу Enter.
- Если вы переходите в какое-то место файловой системы, то адрес этого места отображается в строке адреса.
- Для перехода к началу файловой системы в строке адреса надо набрать /.
- Место, обозначаемое адресом /, называется корневым каталогом, или root-каталогом. Адреса всех других мест файловой системы отсчитываются от корневого каталога.
- Для перехода в свой домашний каталог можно набирать в строке адреса
- его полный адрес, но можно набрать ˜. Тильда является синонимом адреса
- домашнего каталога.
- Когда строка адреса начинается с /, то это адрес. Если же она начинается
- с выражения типа system:/, то это ссылка, то есть сокращённое указание
- на какое-то место в файловой системе.
- Имена файлов и каталогов в файловой системе Линукс чувствительны к
- регистру символов.
Продолжим знакомство с файловой системой Линукс и с файловым менеджером Konqueror.
Несколько слов о байтах и файлах, каталогах и папках
Поскольку все эти слова мы уже употребляли и будем использовать дальше почти в каждом абзаце, мне кажется правильным рассказать, что они обозначают.
Байт — это единица измерения информации в файловой системе. С большой долей условности можно сказать, что байт равен одному символу. Таким образом, если вы напечатали слово из 5 букв (например, слово «Linux») и сохранили его на диске, то это слово займёт на диске место, равное пяти байтам.
Файл — это некоторая последовательность байтов, которой присвоено имя, сохранённая в файловой системе.
Каталог — это файл, содержащий список имён файлов и сведения об их местонахождении в файловой системе. Каталог в файловой системе очень близок по смыслу каталогу библиотеки: в нём записано название книги, а так же хранилище, шкаф и полка, где эта книга лежит.
Папка — менее правильное по смыслу, но более удобное для понимания название каталога. Папка понимается как некоторая ёмкость, в которой нечто (в нашем случае — файлы и другие папки) хранится. С точки зрения пользователя это достаточно удобная аналогия. На самом деле внутри одного каталога (папки) могут находится другие каталоги и файлы. Запись /home/shkoliar подразумевает, что есть корневой каталог /, внутри которого есть каталог home, внутри которого, в свою очередь, есть каталог shkoliar. Вы сами можете проверить это утверждение, набрав в строке адреса сначала /, а затем /home (не забывайте нажимать Enter после ввода в строку адреса).
К сведению
Если быть точным, то в файловой системе Линукс любые данные могут быть представлены как файлы. Когда вы вставляете floppy-диск или flash-диск в соответствующее устройство на компьютере, то операционная система взаимодействует с файлом устройства. Каталог является файлом, сетевое соединение может быть представлено файлом, текущее состояние системы отражается в файлах, и даже к памяти компьютера, в которой выполняются программы, тоже можно обратиться через файл.
Основные задачи
Вернёмся от определений к простым, но важным задачам, которые приходится решать пользователю, когда у него возникает потребность сохранить, переместить, удалить или переименовать свой файл.
В данный момент я нахожусь в своем домашнем каталоге /home/shkoliar. В файловом менеджере я вижу картинку. Эта картинка говорит мне о том, что внутри моего домашнего каталога есть ещё три каталога (или три папки, далее мы будем употреблять эти слова как синонимы): Desktop, Documents и tmp.Если я щёлкну мышью на папке Desktop в левой части окна, то в правой части окна отобразится содержимое этой папки. На рис. 2.4 хорошо видно, что в папке Desktop располагаются файлы, которые представлены значками рабочего стола. То есть функционально папка Desktop и есть мой рабочий стол. Если дважды щёлкнуть на папке в левой части или же один раз щёлкнуть на чёрной стрелке рядом с ней, то стрелка из горизонтального перейдет в вертикальное положение, а вы «войдёте» в папку Desktop. Так же точно, двойным щелчком, можно войти внутрь любой папки и в правой части окна. А вот выйти из папкина уровень выше (например, находясь в папке /home/shkoliar/Desktop я хочу попасть в папку /home/shkoliar, что и будет уровнем выше) можно щелчком на стрелке Вверх (рис. 2.5) на панели инструментов файлового менеджера.
Папка Documents пока пуста, потому что я ещё не создавал в ней никаких документов, но её название говорит о назначении: если вам нужно хранилище для учебных планов, лабораторных работ, презентаций и прочей документации, ради создания которой вы, в немалой степени, и сели за компьютер, то эта папка — идеальный выбор.
Что касается папки tmp, то она предназначена для временных файлов, связанных с работой программ в текущем сеансе, и ни записывать что-либо в эту папку, ни читать её содержимое не нужно.
Передо мной стоит задача — создать в папке Documents новую папку, Расписания (название папки говорит само за себя, и это важно: чем информативнее название, тем впоследствии легче находить информацию). Затем, когда папка будет создана, внутри неё нужно создать три текстовых файла: Расписание 6А, Расписание 6Б и Расписание 6В.
Задача решается легко. Щелчком на папке Documents в левой части окна файлового менеджера я получаю доступ к её содержимому в правой части окна. Там пока пусто. В самом низу, в строке статуса, вы можете прочесть информацию об этом: «Элементы отсутствуют — Нет файлов — Нет папок». Не беда, сейчас будут.
Я щёлкаю внутри правой части окна правой кнопкой мыши, из контекстного меню выбираю команду Создать, из вложенного меню выбираю команду Папку… — и на экран выводится окно создания папки.
Я ввожу имя папки в поле Введите имя папки:, затем щёлкаю на кнопке ОК — и папка создана. Это можно увидеть в правой части окна файлового менеджера. Одинарным щелчком на папке Расписание в левом окне файлового менеджера или двойным щелчком в правом окне я «вхожу внутрь» этой папки. Снова щелчок правой кнопкой мыши, снова контекстное меню, команда Создать, только теперь я выбираю из вложенного меню команду Текстовый файл… На экран выводится окно создания файла, я ввожу имя файла Расписание 6А и щёлкаю на кнопке ОК. Первый файл создан. Те же самые действия я повторяю ещё два раза, меняя только имя файла. В результате получаю в папке Documentsсозданную папку Расписания, а в ней три текстовых файла с заданными именами. Команды, которые мы вызывали из контекстного меню, можно было выбрать и в меню Правка файлового менеджера. Это же правило будет касаться большинства команд и задач, которые мы будем решать дальше. Мы будем использовать контекстное меню, но с тем, же успехом можно пользоваться и главным меню программы.
Итак, решена важная задача — мы научились создавать собственные хранилища информации (если вы смогли создать одну папку, то в этом же месте или в любом другом, доступном вам, вы можете создать их сколько угодно) и размещать внутри них файлы.
Внимание
Поскольку имя файла или каталога (папки) является единственным способом идентификации данной информации в файловой системе, внутри папки не может быть двух папок или файлов с одинаковыми именами. Если вы попытаетесь создать второй файл с именем, совпадающим с именем уже имеющегося файла, операционная система не даст вам этого сделать.
Часто бывает, что создав файл или папку, вы через некоторое время понимаете, что имя, которое вы дали, не совсем отвечает назначению данного каталога или файла. К примеру, делая что-то при дефиците времени, трудно удержаться от задания имён типа ааа или 123 (я, к сожалению, видел на компьютерах пользователей папки, заполненные сотнями подобных файлов). Возникает необходимость переименовать данный файл или папку. Это легко сделать, вызвав на значке папки или файла контекстное меню и выбрав в нём команду Переименовать. Изменение имени осуществляется прямо в подписи к значку. Будьте внимательны: по умолчанию после выбора команды Переименовать в подписи выделяется весь текст, поэтому если вы начнёте писать сразу же, то всё старое имя будет стёрто. Если вы хотите изменить только пару букв или добавить слово, сначала нажмите на клавиатуре стрелку управления курсором (любую) или же щёлкните внутри надписи мышью, а уже затем вводите нужный текст.
Файлы, как и вещи, стареют (морально), теряют свою актуальность. Некоторое время вы храните их «на всякий случай», но рано или поздно они начинают мешать, занимая полезное место. Настаёт момент, когда вы принимаете решение раз и навсегда избавиться от того или иного файла, и сделать это крайне просто. В контекстном меню есть командаВыбросить в корзину. Можно просто выделить файл в окне и нажать клавишу Del на клавиатуре, результат будет тот же. К примеру, я хочу удалить файл Расписание 6В. Я его выделяю, нажимаю клавишу Del — и файл исчезает. Браво!
Проходят три беспокойные минуты… Странное чувство не покидает меня… Что-то не так… Ах, да! В файле Расписание 6В, кроме самого расписания, был записан очень важный для меня телефон. Поскольку я его записал, я его не пытался запомнить.
Внимание
В графический рабочий стол KDE (и в Xfce) встроен механизм неокончательного удаления файлов. Удалённые файлы помещаются в специальную папку, которая называется «Корзина». Это значит, что ошибочно удалённый файл можно «возвратить к жизни». Одновременно это некоторое уклонение от принципов, на которых всё время развивалась операционная система Линукс: дисциплина, внимательность и ответственность. Пользователь может быть гостем на данном компьютере, но внутри своего рабочего пространства, внутри своего домашнего каталога он — полноценный хозяин. Довольно долго такого инструмента, как Корзина, в графических средах Линукс не было. В режимах же терминальных, например в Midnight Commander, который мы будем рассматривать позже, Корзины нет и сейчас. Таким образом, в терминальном режиме что удалено — то удалено и снова не вырастет, как ни старайся. Поэтому рассматривайте Корзину как аварийный инструмент, а не как ещё одну папку для хранения вроде бы ненужных файлов. Такое отношение, если к нему привыкнуть, может сильно подвести в ситуации, когда Корзина отсутствует.
Итак, наш случай — аварийный, хотя и связан он всё-таки с моей неорганизованностью: нельзя записывать в файл одной тематики информацию совершенно другого плана. Для записи телефонных номеров предназначена адресная книга, или можно создать новый файл специально для хранения этой информации.
Так как же вернуть назад удалённый файл, если он всё-таки был удалён неокончательно? Надо найти значок Корзины(он может располагаться на панели KDE или на рабочем столе), щёлкнуть на нём левой кнопкой мыши и выбрать команду. Открыть в новом окне. В окне файлового менеджера будет открыта ссылка на системную папку trash:/.Найдите в этом окне удалённый файл, вызовите на нём контекстное меню и щёлкните на команде. Восстановить. Всё — файл вернётся туда, откуда вы его удалили.
Если вас раздражает тот факт, что удаляемые файлы вместо того, чтобы быть нормально уничтоженными, перемещаются на временное хранение в корзину, вы можете использовать для удаления файла сочетание клавишShift-Del или вызывать контекстное меню файла с нажатой клавишей Shift. В этом случае файл будет действительно удалён, без всякой возможности восстановления.
К сведению
Только что, проделывая эти манипуляции, промахнулся в контекстном меню Корзины. Вместо командыОткрыть в новом окне выбрал команду Очистить корзину. Даже не предполагал, что это происходит так быстро, тихо и теперь уже совершенно безвозвратно.
Есть ещё пара задач, которые приходится выполнять, работая с информацией. Информацию надо научиться перемещать и копировать. Зачем это нужно? Когда вы копируете файл из одного места файловой системы в другое, то вы получаете два каталога, в каждом из которых (в исходном и в каталоге назначения) есть копия одного и того же файла. Обычно вы копируете файлы для того, чтобы передать их кому-то, или для того, чтобы создать резервную копию. Перемещение же файла приводит к тому, что файл в исходной папке исчезает, а в папке назначения появляется. Такое действие обычно выполняется при изменении структуры каталогов, когда вы хотите более удобным способом расположить информацию в файловой системе, но не хотите множить ненужные копии.
И копирование, и перемещение выполняются из контекстного меню. Для того чтобы продемонстрировать, как производятся эти действия, я создам ещё одну папку внутри папки Documents и назову её Расписания (копии).Затем, вызвав на этой папке контекстное меню правой кнопкой мыши, я выберу команду. Открыть в новом окне.Теперь у меня на экране два окна: одно с содержимым папки Расписания, другое отображает содержимое папкиРасписания (копии). Я расположил эти два окна одно около другого.
Как видите, папка Расписания (копии) пока пуста.
Следующий шаг — выделение необходимой информации. Его можно выполнить разными способами: можно протянуть вокруг значков указатель мыши с нажатой левой кнопкой; можно поочерёдно щёлкать на каждом значке, который нужно выделить, удерживая нажатой клавишу Ctrl; если вы хотите выделить все файлы в папке, можно просто нажать сочетание клавиш Ctrl+A. Для выделения всех файлов я предпочитаю последний способ.
Наконец, файлы выделены, и теперь, вызвав контекстное меню на любом из выделенных файлов, я выбираю командуКопировать.
После этого я перехожу в окно, где открыта папка Расписания (копии), вызываю внутри этой папки контекстное меню и выполняю команду. Вставить 3 файла. Файлы появляются в папке.
Та же самая последовательность действий используется для перемещения файлов, только вместо командыКопировать вы выбираете команду Вырезать. Да и результат будет иным: из папки Расписания файлы исчезнут, а в папке Расписания (копии) — появятся.
Для того чтобы выполнить перемещение или копирование файлов, вовсе не обязательно держать открытыми два окна: с исходным каталогом и каталогом назначения. Можно выполнить копирование или вырезание файлов, затем в этом же окне перейти в каталог назначения и вставить файлы там. Два окна просто придают процессу большую наглядность.
Выполнение основных задач в Xfce
В Xfce для работы с файлами используется файловый менеджер Thunar. Когда вы запустите его в первый раз (щелчком на кнопке Файловый менеджер на панели Xfce), вы удивитесь, насколько он не похож на Konqueror. Выглядит как-то проще и, похоже, менее удобен… Но не спешите с выводами!
Выполните несколько несложных операций. В меню Вид установите следующие флажки:
- Панель адреса→ Строка адреса;
- Боковая панель→ Дерево;
- Строка состояния.
И вот, файловый менеджер Thunar (если не обращать внимания на «рюшеч-ки¿ в виде значков сбоку) стал почти братом-близнецом Konqueror. В нём есть все те же основные элементы, и задачи по манипуляции информацией выполняются точно так же.