Файл: Изучение файловой системы и функций по обработке и управлению данными.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
САМАРКАНДСКИЙ ФИЛИАЛ ТАШКЕНТСКОГО УНИВЕРСИТЕТА
ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ ИМЕНИ МУХАММАДА АЛЬ-ХОРАЗМИЙ
Лабораторная работа 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 файл >
Параметр if указывает, откуда брать данные, а of - куда записывать, count - необходимый размер. Ещё можно указать размер блока для записи с помощью bs, чем больше размер блока, тем быстрее будет выполняться копирование.
Вывод:
На данной работе ч изучил структуры файловой системы OC Linux, изучение команд создания, удаления, модификации файлов и каталогов, функций манипулирования данными. В операционной системе Linux файлами считаются обычные файлы, каталоги, а также специальные файлы, соответствующие периферийным устройствам (каждое устройство представляется в виде файла).