touch [-k] имя-файла - замена времени модификации на текущее, если файл не существует, то создается новый пустой файл. Команда может использоваться для создания новых пустых файлов, если указать имя несуществующего файла.
wc [-lwc] список_файлов - подсчет количества строк (-l), слов (-w), или символов (-c) в указанных файлах.
cp [-k] вх_файл_1 [вх_файл_2 [... вх_файл_n]] вых_файл – копирование файлов.
В самом формате команды заложено два режима ее использования:
1-й: Если вых_файл - обычный файл, то вх_файл может быть только один; в этом случае содержимое вх_файла копируется в вых_файл. Если вых_файл существовал, то его содержимое полностью заменяется на новое, атрибуты защиты сохраняются. Если создается новый вых_файл, то ему присваиваются атрибуты копируемого.
2-й: Если вых_файл - каталог, то в него последовательно копируются все указанные вх_файлы со своими атрибутами и именами, но каталог при этом автоматически не создается.
Примеры использования команды cp:
Создается новый файл FIL.c в том же текущем головном каталоге. Для копирования в другой каталог необходимо указать маршрутное имя выходного файла:
cd
cp fil.c FIL.c
Входной файл fil.c сохраняется в исходном текущем каталоге:
mkdir petr
mkdir lev1
cp fil.c lev1/prog.c
Групповые операции над файлами при копировании:
cp f.? fildir
cp f.[1-3] fildir
cp f.[123] fildir
mv [-k] вх_ф йл_1 [вх_ф йл_2 [... вх_ф йл_n]] вых_файл - перемещение или переименование файлов
Отличия от предыдущей команды копирования заключаются в том, что перемещаемые файлы в исходном каталоге уничтожаются.
Подстановки имен путей и файлов (Pathname expansion) используются для того, чтобы с помощью краткого образца или шаблона указать несколько имен файлов (или каталогов), соответствующих данному шаблону.
Специальные символы шаблонов имеют следующее значение.
Таблица 2.1.4. Символы шаблонов
Символ | Правила замены |
* | Соответствует произвольной строке символов, включая пустую строку. Например, my*.txt будет заменено на myday.txt, myweek.txt и mymonth.txt (если такие файлы существуют), а *.jpg соответствует всем файлам с расширением jpg в указанном каталоге |
? | Соответствует любому одиночному символу. Например, вместо шаблона file?.txt будут подставлены имена file1.txt и filex.txt, но не file10.txt |
[...] | Соответствует любому символу из числа символов, указанных в скобках. Пары символов, разделенные знаком минуса, обозначают интервал; любой символ стоящий лексически между этими двумя символами, включая и символы, задающие интервал, соответствует шаблону. Если первым символом внутри скобок является ! или ^, то считается, что шаблону (в данной позиции) соответствуют все символы, не указанные в скобках |
Шаблоны имен файлов очень часто применяются в командных строках, содержащих команду ls. Представьте себе, что вы хотите просмотреть информацию о содержимом каталога, в котором находится огромное количество разных файлов различных форматов, например, файлов с изображениями форматов gif, jpeg, avi и т. д.. Чтобы получить только список файлов формата jpeg, вы можете использовать команду
[user]$ ls *.jpg
Если в каталоге имеется множество файлов, имена которых представлены четырехзначными номерами, то следующей командой можно вывести только список файлов с номерами от 0200 до 0499:
[user]$ ls -l 0[2-4]??.*
1. Изучить основные команды работы с файлами ОС Linux
2. Научиться создавать, объединять, удалять, переименовывать файлы.
Изучаются команды:
cat - слияние и вывод файлов на стандартное устройство вывода(конкатенация файлов);
rm - удаление файла;
mv - переименование файла;
сp - копирование файлов;
wc - подсчет количества строк и слов в файле.
1) Зарегистрируйтесь в ОС Linux. Запустите на выполнение программу Терминал.
2) Изучите команды работы с файлами, для этого выведите на экран Терминала справку по следующим командам: cat, rm, mv, cp, wc. Назначение и формат команд приведите в отчете.
3) Перейдите в Ваш личный каталог и выведете на экран его содержимое.
4) Создайте 3-4 текстовых файла с частично совпадающими именами. Проанализируйте значения атрибутов Ваших файлов.
5) Создайте еще один файл методом слияния из существующих. Как изменились атрибуты нового файла?
6) Создайте два новых параллельных подкаталога.
7) В один подкаталог скопируйте имеющиеся файлы HOME-каталога с изменением имен, а в другой – переместите. Проанализируйте как изменилось содержание всех трех каталогов и каковы атрибуты всех полученных файлов.
8) Удалите созданные текстовые файлы и каталоги. Выйдите из программы Терминал.
1. Изучить понятие шаблона, способы задания шаблонов файлов
2. Научиться осуществлять просмотр директорий, копирование, удаление, и поиск файлов, используя шаблоны файлов.
1) Зарегистрируйтесь в ОС Linux. Запустите на выполнение программу Терминал.
2) Осуществите поиск всех файлов в домашнем каталоге, которые имеют расширение txt.
3) Осуществите поиск директорий, в составе имени которых, имеется любой однозначное число.
4) Осуществите в корневом каталоге поиск всех файлов, содержащих в составе имени слово linux.
5) Создайте в Вашем личном каталоге структуру каталогов, содержащих совпадающие имена.
6) Просмотрите содержимое файлов домашнего каталога с частично совпадающими именами с использованием механизма генерации имен файлов.
7) Просмотрите содержимое файлов каталога /dev с частично совпадающими именами с использованием механизма генерации имен файлов.
8) С использованием механизма генерации имен файлов слейте содержимое всех файлов в один и поместите его в HOME-каталог. Проанализируйте содержание файла.
9) С использованием механизма генерации имен файлов слейте содержимое всех файлов в один и поместите его в HOME-каталог. Проанализируйте содержание файла.
10) С использованием механизма генерации имен скопируйте из Вашего личного каталога все файлы с частично совпадающими именами в домашний каталог.
11) С использованием механизма генерации имен удалите в Вашем личном каталоге все файлы с частично совпадающими именами.
12) С использованием механизма генерации имен удалите в Вашем личном каталоге все каталоги с частично совпадающими именами.
13) Удалите из домашнего каталога скопированные ранее файлы и завершите работу с программой Терминал.
ln [-ключ] вх_файл_1 [вх_файл_2 [... вх_файл_n]] вых_файл - организация новых ссылок на файл.
В формате команды заложено 2 режима ее использования:
1-й: Если вых_файл - обычный файл, то допускается только один вх_файл_1; в этом случае на н равным именам: вх_файл_1 и вых_файл.
Количество ссылок на файл в его описателе увеличивается на 1.
2-й: Если вых_файл - каталог, то в нем создаются элементы, включающие имена перечисленных в команде входных файлов и ссылки на них, после чего в каталоге вых_файл можно работать с этими файлами, как с файлами этого каталога.
Возможно создание символьных и жестких ссылок.
При создании жесткой ссылки ключ в команде не указывается. Символьная ссылка создается командой ln с ключом s. Символьная ссылка ссылается на полное имя файла, жесткая – на его инод (числовой номер, присеваемый файлу при его создании).
Обобщение свойств команды ln при создании жесткой ссылки:
- каждая ссылка на входной файл добавляет +1 к числу ссылок входного файла, после чего к упомянутому файлу можно обращаться по двум именам;
- все связанные файлы имеют совпадающие описатели в каталогах;
- если изменяется содержимое одного из связанных файлов, то меняется содержимое всех связанных файлов, т.к. связанные файлы разделяют одни и те же данные на диске;
- если удалить один из связанных файлов, то сокращается число взаимных ссылок на -1.
ls [-alrstu] [namedir] - вывод содержимого каталога; если в качестве namedir указано имя файла, то выдается вся информация об этом файле. Если аргумент не указан, выдается содержимое текущего каталога.
Значения некоторых аргументов:
- t - сортировка по времени модификации файлов;
- v - сортировка файлов по времени последнего доступа;
- с - использовать время создания файла при сортировке;
- s - размеры файлов указываются в блоках;
sort [-k номер-поля-в-строке] [список-файлов] - алфавитная и числовая сортировка файлов или строк файлов; режим сортировки определяется ключами. Команда многофункциональная, предусматривает много режимов сортировки. Некоторые ключи команды:
-d - сортировка по алфавиту (или по умолчанию);
-n - числовая;
-u - исключает повторяющиеся строки и т.д.
1. Изучить понятие ссылки на файл.
2. Научиться создавать жесткие и символьные ссылки на файлы.
Изучаются команды:
ln - создание ссылки на файл;
ls - просмотр атрибутов файла.
1) Зарегистрируйтесь в ОС Linux. Запустите на выполнение программу Терминал.
2) Выведите на экран Терминала справку по следующим командам: ln, ls. Назначение и формат команд приведите в отчете.
3) Перейдите в Ваш личный каталог и создайте в нем текстовый файл и любой подкаталог.
4) Создайте жесткую ссылку с другим именем в созданном подкаталоге на созданный файл. Проанализируйте и сравните все атрибуты связанных файлов. Объясните отличия.
5) Уничтожьте один из связанных файлов. Проанализируйте и сравните все атрибуты связанных с ним файлов. Объясните изменения.