Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Операции с файлами




Linux файлы

Файл — один из базовых элементов любой операционной системы, и Linux здесь не исключение. Но в этой ОС файлу придается особое значение, ведь им описывается любой объект — от текстового документа до устройства. А технологии разграничения прав доступа к файлам являются основой концепции безопасности Linux. Стало быть, объект заслуживает отдельного разговора.

Для создания файлов проще всего обратиться к команде cat, используя перенаправление вывода: cat > [имя файла]. В этом случае в объект будет помещено всё, что вводится с клавиатуры (окончание операции — одновременное нажатие клавиш Ctrl и D). Разумеется, на практике данный метод используется редко — разве что при необходимости создать небольшой текстовый файл, состоящий из одной-двух строк.

Просмотреть только что созданный файл можно с помощью той же самой команды. Только при этом никакого перенаправления не будет, поскольку задействуется стандартный вывод: cat [имя файла]. Обратите внимание, как элегантно и экономно здесь работают консольные команды.

Впрочем, на практике чаще применяются другие программы: more и less. Синтаксис их довольно прост, в чем вы убедитесь, набрав в консоли команду man [название программы].

Для копирования, переименования или перемещения файлов вы можете использовать любой файловый менеджер. Однако тем, кто успел оценить достоинства командной строки, предлагаются другие решения.

Для копирования файлов в Linux существует команда cp. Набирать ее следует так:

cp [параметры] [источник] [приемник]. В роли приемника выступает либо имя файла, либо название каталога, в котором объект будет продублирован с тем же наименованием.

Для сокращения набора как в этой, так и в других командах можно использовать специальные символы. Например, точка обозначает ссылку на текущий каталог, тильда указывает на домашнюю директорию.

За перемещение или переименование файлов отвечает команда mv. Скажем, если надо перенести несколько объектов из одного каталога в другой, то следует набрать в консоли mv ~/*.[расширение] /[каталог назначения].

С этой командой надо обращаться особенно внимательно. Если в каталоге назначения имеется файл с точно таким же именем, то он будет изменен без предупреждения. С непривычки это кажется не совсем удобным, однако это всего-навсего иная концепция интерфейса: здесь программа является не столько партнером, сколько безмолвным слугой. Таким образом, от пользователя требуется более высокий уровень ответственности.

Удаление объектов системы осуществляется командой rm. Если набрать ее без параметров, то никакого предупреждения выдаваться не будет. Учитывая, что использование этой команды (особенно от имени суперпользователя) потенциально опасно, лучше ввести в консоли следующее: rm -i [файл ли группа файлов]. В этом случае у вас будет шанс передумать, поскольку система потребует подтверждения.

Для поиска файла предназначена команду locate. При этом вместо полного имени можно указывать его часть. Весьма полезная возможность для рассеянных людей, которые не могут удержать всего в памяти.

Если речь идет о команде (программе), то в командной строке нужно набрать which [имя]. Этот подход удобен не только для нахождения файла. В частности, таким методом можно быстро узнать, установлено или нет какое-либо приложение. Впрочем, той же цели можно достичь более коротким путем.

Поскольку система Linux поддерживает функцию автозаполнения командной строки, то пользователю достаточно ввести несколько первых символов и нажать на клавишу Tab. Вам будет предложено несколько вариантов названия — вспомнить слово, напечатанное на дисплее, всегда проще, чем извлечь его из памяти (естественно, не из оперативной, а из своей собственной).

Ссылки

Ссылки — это специальные файлы, позволяющие хранить в системе один и тот же объект под разными именами. Зачем это нужно? Представьте себе, что у вас есть большой неструктурированный архив документации. Работать с ним неудобно, а упорядочить его по каким-либо причинам нельзя.

В этом случае разумно создать несколько рабочих каталогов, куда будут помещаться объекты, выбранные из архива. Но банальное копирование не только приведет к неэффективному расходованию дискового пространства, но и добавит головной боли, связанной с созданием системы синхронизации. Более удобный метод — создание файлов-ссылок. Они бывают символическими (иногда их называют мягкими) и жесткими. Чтобы разобраться в различиях между ними, придется углубиться в тонкости организации файловой системы.

Каждый файл в системе Linux имеет индексный дескриптор — некий уникальный номер, под которым он и известен системе (сложное и значимое с человеческой точки зрения имя — всего лишь трюк, позволяющий пользователю лучше ориентироваться в файловой системе). Каталог в Linux — не более чем список индексных дескрипторов, то есть фактически точно такой же файл, как и все остальные. Некоторая специфика, конечно, есть, но она не настолько принципиальна.

Таким образом, индексного дескриптора вполне достаточно для идентификации той самой именованной области диска, которая и называется файлом. А привычное нам наименование файла только указывает на конкретный индексный дескриптор. Разумеется, таких имен может быть несколько (одно или более).

Для создания жесткой ссылки следует набрать в командной строке ln [имя файла] [имя ссылки]. Если и к исходному файлу, и к файлу-ссылке применить команду ls —i, предписывающую показать индексный дескриптор, то результат, как нетрудно догадаться, будет совершенно одинаковым.

С формальной точки зрения жесткая ссылка — это просто еще одно имя файла. Если внести изменения в один объект, то автоматически изменится и другой, ведь по сути дела операция проводится над одной и той же областью.

Удаление жесткой ссылки не приводит к удалению файла только в том случае, когда у него есть еще хотя бы одна ссылка. При этом безразлично, какое имя появилось первым, а какое — вторым или третьим.

Символическая ссылка очень похожа на жесткую. Разница лишь в том, что она подразумевает не индексный дескриптор, а обычное имя файла. В ней просто содержится указание, что системе следует обратиться к другому объекту.

Кстати, отсюда и следствие: операции с символическими ссылками выполняются несколько медленнее. Ведь система обращается не напрямую к индексному дескриптору, а совершает одно “лишнее” действие, вызывая родительский файл.

Создается символическая ссылка командой ln -s [имя исходного файла] [имя символической ссылки]. При ее удалении исходный файл сохраняется. А вот если убрать из системы основной объект, то ссылка становится ненужной, хотя и останется в системе.




Поделиться с друзьями:


Дата добавления: 2015-06-28; Просмотров: 413; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.