Типы файлов. Поиск файлов. Создание каталогов, файлов и ярлыков. Копирование, переименование и перемещение файлов. Просмотр и редактирование текстовых файлов. Удаление файлов и каталогов
Типы файлов
Хотя операционная система Linux работает с разными типами файлов, например блочными программами, в этой главе описываются только обычные, также называемые нормальными, файлы и символьные ссылки. Обычные файлы - файлы данных, настройки, текстовые, каталоги и другие. Ярлыки - это файлы-имена, которые только указывают на местоположение какого-либо файла. Тип обычных файлов определяется данными, которые файл содержит. Рабочие столы и приложения Linux определяют тип файла по расширению его имени, так же как Windows распознает файл с расширением .doc как файл MS Word.
В системе Linux расширения файлов ассоциированы с приложением, обрабатывающим такие файлы. Когда вы дважды щелкаете мышью на значке файла, расширение файла определяет приложение, в котором файл должен быть открыт. Документ с расширением .sxw должен открываться программой OpenOffice. Новые приложения обычно создают ассоциации с расширениями файлов во время установки в операционной системе.
При необходимости вы можете вручную изменить ассоциации файлов. Чтобы добавить или изменить ассоциацию, выделите файл с нужным расширением, щелкните на нем правой кнопкой мыши, в появившемся контекстном меню выберите команду Edit File Туре (Изменить тип файла), чтобы увидеть диалог, изображенный ниже.
Согласно списку Filename Patterns (Шаблоны расширений) файлы с расширениями .HTML, .htm, .HTM должны открываться приложением Konqueror - вы можете изменить ассоциацию этих файлов с приложением Konqueror. Щелкните мышью на кнопке Add (Добавить), чтобы добавить шаблон расширения, например *.abcdef. Расширения Linux могут содержать любое количество символов, за исключением трех.
В списке Application Preference Order (Порядок приложений обслуживания) может быть указано более одного приложения. Например, вы имеете возможность поставить браузер Mozilla перед менеджером Konqueror. Файл будет открываться браузером Mo2illa, если это возможно, в противном случае файл будет открыт менеджером файлов Konqueror. Щелкните мышью на кнопке Add (Добавить), чтобы видеть список выбора доступных приложений.
Поскольку рабочие столы и приложения распознают расширения, Linux нет необходимости распознавать расширения. Операционная система просматривает содержимое файла, чтобы определить его тип. Вы можете использовать командную строку, чтобы видеть реальный тип файл, вне зависимости от расширения:
file testfile
testfile: ASCII text
Файловые команды распознают большое количество типов файлов. Вообще, файлы, содержащие в своем расширении слово text, например с program text, могут просматриваться и редактироваться инструментами Linux. Тип файла data используется, когда Linux не может распознать тип файла.
Поиск файлов
Linux предлагает замечательные средства поиска файлов при работе как на рабочем столе, так и с командной строкой. На рабочем столе KDE вам необходимо выбрать main menu ♦ Find Flies (Главное меню ♦ Найти файлы). В диспетчере файлов Konqueror нужно выбрать в меню Tools ♦ Find Files (Инструменты ♦ Найти файлы). Окно, как на Рис. 9.3, будет открыто с пустыми полями.
Рис. 9.3. Окно приложения для поиска файлов
Строка test* в поле Named (Имя) позволяет найти все файлы, содержащие строку test в своем имени; звездочка (*) - это групповой символ, замещающий любое количество символов. Каталог /home/janet, который может быть или введен с клавиатуры, или выбран после щелчка мышью на кнопке Browse (Найти), указывает местоположение, в котором следует искать необходимые файлы. Установленный флажок Include subdirectories {Включая подкаталоги) говорит о том, что искать следует также в подкаталогах указанного каталога. Когда вы щелкнете на кнопке Find (Найти), найденные файлы будут отображены в нижней части окна. В данном случае найдены три каталога и четыре файла. При этом два файла и два каталога найдены в каталоге testing.
Щелкните мышью на ярлыке вкладки Contents (Содержание), чтобы иметь возможность выбрать тип файла или ввести фрагмент текста, например строку Hello World, как параметры поиска. Щелкните мышью на ярлыке вкладки Properties (Свойства), если желаете искать по параметрам: дата последнего доступа к файлу, размер файла, владелец, группа владельцев. После щелчка мышью на кнопке Find (Найти), параметры, установленные во всех трех вкладках диалога, будут применены в процессе поиска. Рабочий стол GNOME предлагает программу поиска с похожей функциональностью, которая также доступна в главном меню.
При работе с командной строкой вы можете использовать команду find, чтобы найти файл по имени или свойствам, а также команду grep для поиска файлов по содержимому. Синтаксис команды find:
find pathname conditions
pathname (Путь) - параметр определяет каталог, в котором необходимо искать, файл. Общепринято использовать точку (,) как символ, обозначающий каталог (щи подкаталоги, или для поиска во всей файловой системе.
conditions (Условия) - параметры поиска. Доступны многие параметры. Вы можете использовать в команде более одного параметра. Некоторые полезные параметры приведены в Табл. 9.1.
Табл. 9.1. Параметры команды find
Следующая команда производит поиск по всей файловой системе файлов, имена которых начинаются с фразы chapter, владельцем которых является учетная запись
ja.net, доступ к которым осуществлялся в течение последних трех дней.
find / -name chapter* -user janet -atime -3
Команда grep позволяет поиск в содержимом файлов. Общий формат команды:
grep options pattern files
Команда grep дает возможность поиска в содержимом указанных файлов по задаваемому шаблону. Элемент options определяет тип операции grep. Например, параметр -с указывает команде grep вывести число подходящих строк, а не строки как таковые. Параметр -v дает указание вывести строки, не подходящие под критерии поиска. Шаблон может быть строкой символов или регулярным выражением; шаблон используется для поиска в строках, например всех слов, начинающихся с заглавной буквы А, или всех строк, содержащих какое-либо число. Регулярные выражения объясняются в Приложении А. Команда grep подробно описана в Главе 7 и Приложении В.
Создание каталогов, файлов и ярлыков
Вы можете создавать каталоги, файлы и ярлыки, работая на рабочем столе, с помощью файлового менеджера Konqueror. Выберите каталог, где вы хотели бы создать новый элемент, щелкните мышью на кнопке Edit (Правка) и выберите Create New (Создать новый). Будет показан список элементов для создания:
• Directory (Каталог): Введите имя каталога.
• HTML File (Файл HTML): Введите имя файла. Новый файл содержит HTML шаблон по умолчанию.
• Text File (Текстовый файл): Введите имя файла.
• Link to Application (Ярлык приложения): Ярлык Linux похож на ярлык Windows. Щелчком мыши на ярлыке открывается связанное приложение. В первом диалоге введите имя для ярлыка. Затем перейдите на вкладку Execute (Выполнить). На вкладке Execute (Выполнить) введите команду, которая запускает приложение или используйте кнопку Browse (Найти), чтобы выбрать приложение вручную.
• Link to Location {Ярлык адреса URL): При щелчке мышью на ярлыке адрес URL будет открыт в файловом менеджере Konqueror, Введите имя для ярлыка в диалоге создания. Введите также адрес URL или щелкните мышью на кнопке Browse (Найти), чтобы выбрать адрес URL вручную.
Имена не могут содержать более 255 символов. Linux допускает использование почти любых символов в имени файла, но некоторые символы обладают особым значением для Linux и могут усложнить вам жизнь. Лучше всего использовать буквы, цифры, подчеркивания, черты и точки для написания имен файлов. Заглавные и прописные буквы не одинаковы по смыслу, например f ilel и Filel - разные имена файлов. Хотя многие приложения используют особые расширения, имена файлов не должны обязательно обладать расширением. Технически, точка (,) является обычным символом, что позволяет вам создавать имена, похожие на следующее: file. test .mine. Системные файлы имеют имена, начинающиеся с точки (.), поэтому не используйте точку как первый символ названия файла.
Вы можете создать каталог в каталоге, если обладаете разрешением изменения, применив в командной строке команду mkdir:
mkdir path/dirname
Если путь должен содержать несколько каталогов, которые еще не существуют, вы можете создать эти каталоги, используя элемент управления -р:
mkdir -p /usr/local/newparent/mydir
Если каталог newparent не существует, он будет создан; после чего будет создан новый каталог mydir внутри newparent.
Файлы могут создаваться приложениями, например текстовыми процессорами. Текстовые процессоры позволяют создавать незашифрованные текстовые файлы так же, как, например, редактор Notepad в Windows. Ярлыки могут быть созданы в командной строке, с помощью команды In. Более подробную информацию о командах смотрите и Приложении А.
Копирование, переименование и перемещение файлов
Файловый менеджер Konqueror позволяет вам копировать, переименовывать и перемещать каталоги и файлы. Когда вы копируете или перемещаете каталог, все содержимое этого каталога будет также скопировано или перемещено.
Выделите значок каталога или файла, который вы желаете копировать или переместить.
Используйте клавиши I Ctrt I или ilShitil. чтобы выделить более одного значка. Щелкните правой кнопкой мыши на выделенном значке, в появившемся контекстном меню выберите команду Cut (Вырезать) шш Сору (Копировать) чтобы поместить файлы в буфер обмена. Буфер обмена Linux подобен буферу обмена Windows. Теперь вы можете выполнить команду контекстного меню Paste (Вставить), чтобы вставить файлы в желаемое место. Выберите элемент контекстного меню Rename (Переименовать), чтобы дать файлу или каталогу новое имя. Выберите элементы Copy to (Скопировать в) пли Move to (Переместить в), чтобы в открывающемся диалоге указать путь к каталогу, куда вы хотите скопировать или переместить файл. Когда вы указали необходимый каталог, выберите Сору Неге (Копировать в указанный каталог) для завершения операции.
Также вы имеете возможность копировать или переместить файл или каталог с помощью операции перетаскивания. Например, вы можете выделить значок файла или каталога в правой части диспетчера Konqueror и, удерживая нажатой левую кнопку мыши, перетащить файл или каталог на значок каталога в левой части Konqueror. Можно перетащить файл или каталог в каталог, открытый в другом окне. Также можно перетащить файл на окно приложения, чтобы обработать этот файл в данном приложении.
Вы можете копировать, переименовывать и перемещать каталоги и файлы, используя командную строку, с помощью команд ср и rav. Чтобы скопировать или переместить файл введите:
mv path/sourcename path/targetname (Переместить файл или каталог)
Когда команда ср выполнится, будут созданы две копии каталога или файла, с двумя разными именами (имена считаются разными, если они соотносятся с разными путями местонахождения).
Когда команда mv выполнится, файл/каталог sourcename будет удален, будет создан новый файл или каталог targetname. Команда mv функционирует как команда переименования, так как вы можете указать новое имя для перемещенного файла. Основные принципы работы команд следующие:
• Если файл или каталог targetname не существует, будет создана копия source-name с именем targetname.
t/ Если targetname существует и является файлом, файл будет перезаписан, если sourcename - файл; копирование не будет произведено, если sourcename -каталог.
*/ Если targetname существует и является каталогом, каталог sourcename будет скопирован в каталог targetname с оригинальным именем.
Чтобы копировать или перемещать файлы или каталоги, ваша учетная запись должна обладать разрешениями на изменения в каталоге, где вы копируете или перемещаете файлы или каталоги,
Просмотр и редактирование текстовых файлов
Текстовые файлы - это файлы, содержащие только текстовые символы, без форматирования. Текстовые файлы содержат данные в ASCII коде понимаемом большинством приложений. Файлы HTML, исходный код программ н многие файлы настроек Linux хранятся в текстовом формате. Хотя вы можете просматривать и редактировать содержимое текстовых файлов в текстовом процессоре, как правило, быстрее и проще редактировать такие файлы з текстовом редакторе - приложении, которое предлагает только инструменты, необходимые для редактирования текста. Некоторые текстовые редакторы:
Kate: Простой базовый текстовый редактор с GUI интерфейсом, аналог Notepad. Редактор Kate в деталях описан в Главе 18.
• KWrite: Текстовый редактор, похожий на Kate, с некоторыми полезными инструментами, такими как контроль орфографии. KWrite является текстовым редактором по умолчанию на рабочем столе KDE. Когда вы дважды щелкаете мышью на значке текстового файла, он открывается в редакторе KWrite.
• Emacs Популярный редактор, разработанный GNU, предоставляющий программистам расширенный набор инструментов.
• vl: Текстовый редактор, основанный на командах, эффективный при работе с командной строкой. Редактор vl устанавливается на любую версию Linux или Unix и не конфликтует с другими текстовыми редакторами. Редактор vi подробно описан в Главе 18. Многие распространяемые версии Linux предлагают обновленную версию редактора vi, называемую vim. Любые команды, работающие в редакторе vi, также применимы в редакторе vim.
Вы можете просматривать содержимое файла в командной строке без открытия этого файла в текстовом редакторе с помощью команды:
cat filename
При выполнении команды все содержимое файла будет незамедлительно показано на экране. Вы можете видеть на экране все содержимое файла постранично, используя следующую команду:
less filename
Вывод содержимого файла происходит постранично, после отображения страницы вывод останавливается. Нажимайте клавишу II р066 |. чтобы перейти на следующую стра-
ницу. Нажмите клавишу [QJ, чтобы остановить вывод.
Linux предоставляет два приложения для упрощения обработки повторяющегося текста:
• sed: Мощный и быстрый инструмент поиска и замены. Ваше условие поиска может быть шаблоном, регулярным выражением. Регулярные выражения подробно описываются в Приложении А. Редактор sed может обрабатывать множество больших файлов за секунды.
t/ gawk: Простой язык узкого профиля для написания сценариев. Редактор gawk обрабатывает каждую строку файла, переупорядочивая, удаляя или добавляя текст нужным образом.
Удаление файлов и каталогов
Чтобы удалить файл или каталог с помощью файлового менеджера Konqueror, выделите значок файл а/ каталога, щелкните на нем правой кнопкой мыши и в появившемся Контекстном меню выберите Move to Trash (Переместить в корзину) или Delete (Удалить). Команда Move to Trash (Переместить в корзину^ имеет преимущество в том, что удаляемые файлы находятся в корзине, что позволяет восстанавливать файлы, пока корзина не очищена. Операция Delete (Удалить) удаляет файлы без возможности восстановления.
Файловый менеджер Konqueror также позволяет удалять файлы или каталоги простым перетаскиванием на значок/имя корзины.
Чтобы удалить файл с помощью командной строки, выполните команду:
rm filename
Вы можете использовать групповые символы, например ch* или ch?, чтобы удалять более одного файла за раз. Будьте аккуратны при использовании групповых символов. Linux позволяет выполнение команд, таких как следующая:
rm *
Команда удаляет все файлы в текущем каталоге. Вы можете легко сделать грубые ошибки, используя групповые символы. Вывод файлов с использованием групповых символов, например:
Is *
показывает файлы, которые будут затем удалены. Будьте аккуратны при вводе такого рода команд.
Чтобы удалить каталог, используйте команду:
rmdir dirname
При этом каталог dirname должен быть пустым. Если это не так, будет показано сообщение об ошибке и каталог не будет удален. Вы можете удалить все файлы из каталога и выполнить команду rmdir снова. Также вы можете использовать команду:
rm -г dirname
Данная команда удаляет каталог dirname вместе со всем его содержимым, включая подкаталоги. Будьте аккуратны с этой командой. Проверьте еще раз содержимое каталога, чтобы быть уверенным, что вы действительно хотите удалить все файлы или подкаталоги каталога, перед запуском данной команды.
Чтобы удалять файлы из каталога, вам нужно обладать разрешением изменения содержимого этого каталога. При этом вам не обязательно обладать разрешением изменения содержимого самих файлов каталога. Тем не менее, если вы не имеете разрешения на изменение файла, будет выдан диалог, спрашивающий вас -действительно ли вы хотите удалить этот файл. Если вы ответите Yes (Да), файл будет удален.
Выводы
Все данные в операционной системе Linux организованы в файлах. Все данные без исключения. С большой степенью вероятности вам придется работать с такими файлами, как файлы данных, программы, файлы изображений, файлы настроек. Хотя обычно вы создаете файлы и работаете с ними с помощью приложений, в некоторых случаях вам необходимо создавать, копировать, перемещать, удалять, то есть управлять файлами непосредственно, что описано в этой главе. Файлы расположены в каталогах, также называемых папками, как иерархическая файловая система. Каждая учетная запись обладает домашним каталогом, в котором хранятся файлы учетной записи. Каждый файл уникально определяется полным путем к нему; полный путь содержит последовательность каталогов от корневого каталога до самого файла.
Каждый файл обладает данными о себе - свойствами, такими как имя, расположение, размер, дата создания. Каждый файл защищается разрешениями доступа к нему, которые определяют, какие пользователи обладают правом доступа к файлу: владельцы, группы владельцев, другие пользователи - и какие действия пользователи могут совершать над этим файлом.
Вы можете создавать и удалять файлы. Вы можете просматривать файлы и изменять разрешения доступа к ним, работая как на рабочем столе, так и с командной строкой. Вы имеете возможность редактировать содержимое файлов с помощью текстовых редакторов. В этой главе описано выполнение следующих действии:
Просмотр и изменение разрешений доступа к файлам.
• Просмотр и изменение владельцев и групп владельцев файлов.
• Ассоциирование типов файлов с приложениями.
• Поиск файлов.
Создание каталогов, файлов и ярлыков.
Копирование, переименование, перемещение, удаление файлов и каталогов.
Если прочитаная статья из нашей обширной энциклопедия компьютера - "Linux-Управление файлами. Часть 2", оказалась полезной или интересной, Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу: Так же Вы можете задать вопрос по статье через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!