Файл: Изучение файловой системы и функций по обработке и управлению данными.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.11.2023

Просмотров: 40

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


САМАРКАНДСКИЙ ФИЛИАЛ ТАШКЕНТСКОГО УНИВЕРСИТЕТА

ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ ИМЕНИ МУХАММАДА АЛЬ-ХОРАЗМИЙ

Лабораторная работа 3

Кафедра: “Компьютер инжиниринг.”

По предмету: Управление  Linux серверами.
Тема: Изучение файловой системы и функций по обработке и управлению данными
Выполнил: Стедент 20 – 09 группы, Баронов Ш.

Проверил: Нормурадов У .

Самарканд 2023
Изучение файловой системы и функций по обработке и управлению данными

Цель работы: изучение структуры файловой системы OC Linux, изучение команд создания, удаления, модификации файлов и каталогов, функций манипулирования данными.

Файловая структура системы Linux.

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

1) bin – большинство выполняемых командных программ и shell-процедур;

2) tmp – временные файлы;

3) usr – каталоги пользователей (условное обозначение);

4) etc – преимущественно административные утилиты и файлы;

5) dev – специальные файлы, представляющие периферийные устройства; при добавлении периферийного устройства в каталог /dev должен быть добавлен соответствующий файл (черта / означает принадлежность корневому каталогу). Текущий каталог – это каталог, в котором в данный момент находится пользователь. При наличии прав доступа, пользователь может перейти после входа в систему в другой каталог.

Текущий каталог обозначается точкой (.); родительский каталог, которому принадлежит текущий, обозначается двумя точками (..). Полное имя файла может включать имена каталогов, включая корневой, разделенных косой чертой, например: /home/student/file.txt. Первая косая черта обозначает корневой каталог, и поиск файла будет начинаться с него, а затем в каталоге home, затем в каталоге student.

Один файл можно сделать принадлежащим нескольким каталогам. Для этого используется команда ln (link): ln . Имя первого файла – это полное составное имя файла, с которым устанавливается связь; имя второго файла – это полное имя файла в новом каталоге, где будет использоваться эта связь. Новое имя может не отличаться от старого. Каждый файл может иметь несколько связей, т. е. он может использоваться в разных каталогах под разными именами. Команда ln с аргументом -s создает символическую связь: 11 ln -s . Здесь имя второго файла является именем символической связи. Символическая связь является особым видом файла, в котором хранится имя файла, на который символическая связь ссылается. Linux работает с символической связью не так, как с обычным файлом – например, при выводе на экран содержимого символической связи появятся данные файла, на который эта символическая связь ссылается. В Linux различаются 3 уровня доступа к файлам и каталогам:

1) доступ владельца файла;

2) доступ группы пользователей, к которой принадлежит владелец файла;

3) остальные пользователи. Для каждого уровня существуют свои байты атрибутов, значение которых расшифровывается следующим образом: r – разрешение на чтение; w – разрешение на запись; x – разрешение на выполнение; – – отсутствие разрешения. В домашнем каталоге пользователь имеет полный доступ к файлам (READ, WRITE, EXECUTE; r, w, x). Атрибуты файла и доступ к нему можно изменить командой chmod . Коды защиты могут быть заданы в числовом или символьном виде. Для символьного кода используются: знак плюс (+) – добавить права доступа; знак минус (–) – отменить права доступа; r, w, x – доступ на чтение, запись, выполнение. Коды защиты в числовом виде могут быть заданы в восьмеричной форме. Для контроля установленного доступа к своему файлу после каждого изменения кода защиты нужно проверять свои действия с помощью команды ls -l.

Задание

1 Ознакомтесь с файловой структурой ОС. Изучите команды работы с файлами.

2 Используя команды ОС, создайте два текстовых файла.

3 Полученные файлы объедините в один файл и его содержимое выведите на экран.

Самый распространённый способ создать текстовый файл в Linux - это использовать консольные текстовые редакторы. Например nano. После ввода команды открывается редактор, и вы прописываете нужный текст, например:

 nano файл.txt



2. Редактор Vi

Тот же принцип, но программа намного серьёзнее:

 vi файл.txt



Если вы в первый раз столкнулись с vim, то предупрежу - это необычный редактор. Здесь есть два режима: режим вставки и командный. Переключаться между ними можно с помощью кнопки Esc. Для выхода из редактора в командном режиме наберите :q, для сохранения файла - :w. Вообще, Vim - очень полезный инструмент. Чтобы узнать побольше о его возможностях и выучить основы, выполните: vimtutor.

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

3. Оператор перенаправления >

Это, наверное, самая короткая команда для создания файла в Linux:

 > файл



Оператор оболочки для перенаправления вывода позволяет записать вывод любой команды в новый файл. Например, можно подсчитать md5 сумму и создать текстовый файл в Linux с результатом выполнения.

 md5sum файл >

/sum.md5



Это рождает ещё несколько способов создания файла в Linux, например, выведем строку в файл с помощью команды echo:

 echo "Это строка" > файл.txt



Этот способ часто используется для создания конфигурационных файлов в Linux, так сказать, на лету. Но заметьте, что sudo здесь работать не будет. С правами суперпользователя выполниться echo, а запись файла уже будет выполнять оболочка с правами пользователя, и вы всё равно получите ошибку Access Denied.

Ещё тем же способом можно сделать примитивный текстовый редактор для создания файла. Утилита cat без параметров принимает стандартный ввод, используем это:

 cat > файл.txt



После выполнения команды можете вводить любые символы, которые нужно записать в файл, для сохранения нажмите Ctrl+D.

А ещё есть утилита printf, и здесь она тоже поддерживает форматирование вывода:

 printf "Это %d текстовая строка\n" 1 > файл



Этот способ создать файл в Linux используется довольно часто.

4. Оператор перенаправления вывода >>

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

 echo "Это текстовая строка" > файл.txt
$ echo "Это вторая текстовая строка" >> файл.txt



5. Оператор перенаправления 2>

Первые два оператора перенаправления вывода команды в файл использовали стандартный вывод. Но можно создать файл в терминале Ubuntu и перенаправить в него вывод ошибок:

 date 2> файл



Если команда не выдает ошибок, файл будет пустым.

6. Оператор перенаправления и head

С помощью команды head можно выбрать определённый объем данных, чтобы создать текстовый файл большого размера. Данные можно брать, например, с /dev/urandom. Для примера создадим файл размером 100 мегабайт:

base64 /dev/urandom | head -c 100M > файл

7. Команда cp

Команда cp используется для копирования файлов в Linux. Но с её помощью можно и создать файл. Например, чтобы создать пустой файл, можно просто скопировать /dev/null:

 cp /dev/null файл

8. touch

Вот мы и подобрались к непосредственному созданию файлов через терминал, для этого в Linux есть специальная утилита touch. Она позволяет создать пустой файл в Linux, при этом указывать дату создания, права доступа и другие метаданные.

Чтобы создать пустой файл Linux, просто наберите:

 touch файл.txt



Можно создать несколько пустых файлов сразу:

 touch файл1 файл2

Опция -t позволяет установить дату создания. Дата указывается опцией -t в формате YYMMDDHHMM.SS. Если не указать, будет установлена текущая дата. Пример:

 touch  -t 201601081830.14 файл

Можно использовать дату создания другого файла:

 touch -r шаблон файл

Также можно установить дату последней модификации, с помощью опции -m:

 touch -m -t 201601081830.14 файл

Или дату последнего доступа:

 touch -a -t 201601081830.14 файл

Чтобы посмотреть, действительно ли задаётся информация, которую вы указали, используйте команду stat:

 stat файл



9. Утилита dd

Это утилита для копирования данных из одного файла в другой. Иногда необходимо создать файл определённого размера в Linux, тогда можно просто создать его на основе /dev/zero или /dev/random, вот так:

dd if=/dev/zero of=/файл count=20M




Параметр if указывает, откуда брать данные, а of - куда записывать, count - необходимый размер. Ещё можно указать размер блока для записи с помощью bs, чем больше размер блока, тем быстрее будет выполняться копирование.

Вывод:

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