Created new structure

This commit is contained in:
semaev
2018-04-05 11:51:16 +03:00
parent f5621af984
commit bd7593add3
72 changed files with 86 additions and 81 deletions
+107
View File
@@ -0,0 +1,107 @@
**103.3** Основные операции с файлами
Студент должен уметь управлять файлами и каталогами при помощи основных команд Linux
**Изучаем** :
- копирование, перенос и удаление файлов и каталогов;
- копирование нескольких файлов и каталогов, в том числе рекурсивно;
- удаление файлов и каталогов, в том числе рекурсивно;
- групповые символы (wildcard);
- отбор файлов по типу, размеру, датам и т.д.;
- работу с tar, cpio и dd.
**Термины и утилиты: **
- cp
- find
- mkdir
- mv
- ls
- rm
- rmdir
- touch
- tar
- cpio
- dd
- file
- gzip
- gunzip
- bzip2
- xz
- групповые символы
Частой задачей администратора в Linux является работа с файлами и каталогами: создание, копирование, перемещение и удаление. Использование групповых символов вместе с инструментами консоли позволяют осуществлять эти действия с максимальной эффективностью.
Для создания директорий используется команда **mkdir**** имя\_каталога **, для удаления пустого каталога -** rmdir ****имя\_каталога**. Просмотр содержимого текущей директории – **ls**. Например:
**ls** ****** l**_ (просмотреть содержимое текущего каталога);_
**ls**** fol ****\*** _ (посмотреть содержимого каталогов, имена которых начинаются с " __fol__");_
Для копирования используется команда **cp** **что\_копировать куда\_копировать** , например:
**cp** ****** R ****Folder**** NewFolder**_ (скопировать директорию " __Folder__" со всем содержимым в текущий каталог с именем новой директории " __NewFolder__");_
Для переноса используется команда **mv** **что\_переносить куда\_переносить** , например:
**mv**** file ****.**** txt ****folder**** 1/** _(перенести " __file__. __txt__" в каталог " __folder__ 1" в текущей директории);_
Для удаления используется команда **rm**** что\_удалить**, например:
**rm** ****** rf ****folder**** 1 ** _(удалить каталог_ _folder__1 вместе с содержимым);_
Для создания пустого файла, или обновления метки доступа существующего, используется команда **touch** **имя\_файла,** а для получения информации о файле – команда **file**** имя\_файла**.
Групповые символы, использующиеся при работе с текстовыми данными:
- _\* – любое количество любых символов;_
- **? ** _ – любой символ;_
- **! ** _– не (любой символ кроме указанных);_
- **[****ac****] ** _ __a_ _или_ _c__ ;_
- **[****a ****-**** c****]** _ _ _a __,_ _b__ ,_ _c__._
Например:
**ls** **\* ** _(вывести содержимое всех каталогов);_
**ls** **?**** at ****.**** txt **** ** _(вывести содержимое файла с именем: любая первая буква, остальная часть имени " __at__. __txt__");_
**ls** **\***** at ****.**** txt **** ** _(вывести содержимое файла с именем, оканчивающимся на " __at__. __txt__");_
**ls** **![****ab****]\* ** _(вывести содержимое файла или каталога с именем, начинающимся с любых символов, кроме " __a__" и " __b__");_
Для поиска информации используется команда **find** , например:
**find** **. **** name ****"\ *****A**** \*" ** _(искать в текущей директории объекты, имеющие в имени символ " __A__");_
**find** **/**** etc **** ****size** ** -5**** M **** ** _(искать в директории "/ __etc__" объекты размером менее 5 Мб);_
**find** ** . **** type ****l** _(искать в текущей директории ссылки);_
В среде Linux существует несколько распространённых архиваторов, использующихся для распаковки и упаковки объектов в единый файл:
- **с**** pio** - двоичный архиватор, копирующий информацию в архив и обратно;
- **dd** - копирование по блокам;
- **gzip** и **gunzip** - утилита сжатия и восстановления файлов (контейнер одного файла);
- bzip2 и bunzip2 - утилита сжатия и восстановления файлов (контейнер одного файла);
- xz и unxz - утилита сжатия и восстановления файлов (контейнер одного файла);
- tar - архиватор (работает с набором файлов и каталогов).
Например:
**find** **. **** name ****"\*. ****txt****" | **** cpio **** ****o** **> ../**** test ****.**** cpio** _(найти в текущей папке все файлы с расширением ". __txt__" и упаковать их в архив_ _test __.__ cpio__, расположив его на уровень выше текущей_ _директории);_
**cpio** **-**** id **** < **** test ****.**** cpio**_ (распаковать в текущий каталог архив " __test__. __cpio__", создавая при необходимости структуру директорий);_
**dd**** if ****=/**** dev ****/**** sdb ****of**** = ****drive****. ****img**** ** _(скопировать носитель / __dev__ / __sdb_ _в образ_ _drive__. __img__ , располагающийся в текущей директории);_
**gzip**** drive ****.**** img **** ** _(сжать образ " __drive__. __img__" до " __drive__. __img__. __gz__", удалив исходный файл);_
**bunzip**** 2 **** drive ****.**** img ****.**** bz ****2 ** _(распаковать архив " __drive__. __img__. __bz__ 2" в текущий каталог);_
**unxz**** drive ****.**** img ****.**** xz **** ** _(распаковать архив " __drive__. __img__. __xz__" в текущий каталог);_
**tar**** cvf ****arch****. ****tar** ** **** folder** _(упаковать каталог " __folder__" в архив " __arch__. __tar__")._
**tar** ****** xvf ****archive****. ****tar**** ** _(распаковать архив " __archive__. __tar__")._