47856 (597363), страница 5
Текст из файла (страница 5)
>маршрутное-имя-файла - создание пустого файла.
cat имя-файла - вывод содержимого файла на экран.
cat>имя-файла - перенаправление информации, вводимой с клавиатуры с заменой содержимого файла.
cat [входной файл 1] [входной_файл2] […входной файл N] > [выходной_файл] - слияние файлов
grep [-ключи] 'шаблон' -поиск в файлах из списка_файлов строк, содержащих указанный шаблон (подстрока символов).
Ключи определяюobt режимы поиска и вывода:
-c выводятся имена всех просмотренных файлов и количество
найденных строк, содержащих шаблон;
-n перед каждой строкой выводится ее относительный номер в
файле и сама строка;
-i игнорируются регистры;
-l выводятся только имена файлов, содержащие найденные строки и др.
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)
Подстановки имен путей и файлов (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]??.*
Практическая работа №3(1). Команды управления фалами
Цель работы:
-
Изучить основные команды работы с файлами ОС Linux
-
Научиться создавать, объединять, удалять, переименовывать файлы.
Порядок выполнения работы
Изучаются команды:
cat - слияние и вывод файлов на стандартное устройство вывода(конкатенация файлов);
rm - удаление файла;
mv - переименование файла;
сp - копирование файлов;
wc - подсчет количества строк и слов в файле.
-
Зарегистрируйтесь в ОС Linux. Запустите на выполнение программу Терминал.
-
Изучите команды работы с файлами, для этого выведите на экран Терминала справку по следующим командам: cat, rm, mv, cp, wc. Назначение и формат команд приведите в отчете.
-
Перейдите в Ваш личный каталог и выведете на экран его содержимое.
-
Создайте 3-4 текстовых файла с частично совпадающими именами. Проанализируйте значения атрибутов Ваших файлов.
-
Создайте еще один файл методом слияния из существующих. Как изменились атрибуты нового файла?
-
Создайте два новых параллельных подкаталога.
-
В один подкаталог скопируйте имеющиеся файлы HOME-каталога с изменением имен, а в другой – переместите. Проанализируйте как изменилось содержание всех трех каталогов и каковы атрибуты всех полученных файлов.
-
Удалите созданные текстовые файлы и каталоги. Выйдите из программы Терминал.
Практическая работа №3(2) Использование шаблонов в именовании файлов
Цель работы:
-
Изучить понятие шаблона, способы задания шаблонов файлов
-
Научиться осуществлять просмотр директорий, копирование, удаление, и поиск файлов, используя шаблоны файлов.
Порядок выполнения работы
-
Зарегистрируйтесь в ОС Linux. Запустите на выполнение программу Терминал.
-
Осуществите поиск всех файлов в домашнем каталоге, которые имеют расширение txt.
-
Осуществите поиск директорий, в составе имени которых, имеется любой однозначное число.
-
Осуществите в корневом каталоге поиск всех файлов, содержащих в составе имени слово linux.
-
Создайте в Вашем личном каталоге структуру каталогов, содержащих совпадающие имена.
-
Просмотрите содержимое файлов домашнего каталога с частично совпадающими именами с использованием механизма генерации имен файлов.
-
Просмотрите содержимое файлов каталога /dev с частично совпадающими именами с использованием механизма генерации имен файлов.
-
С использованием механизма генерации имен файлов слейте содержимое всех файлов в один и поместите его в HOME-каталог. Проанализируйте содержание файла.
-
С использованием механизма генерации имен файлов слейте содержимое всех файлов в один и поместите его в HOME-каталог. Проанализируйте содержание файла.
-
С использованием механизма генерации имен скопируйте из Вашего личного каталога все файлы с частично совпадающими именами в домашний каталог.
-
С использованием механизма генерации имен удалите в Вашем личном каталоге все файлы с частично совпадающими именами.
-
С использованием механизма генерации имен удалите в Вашем личном каталоге все каталоги с частично совпадающими именами.
-
Удалите из домашнего каталога скопированные ранее файлы и завершите работу с программой Терминал.
2.1.7. Команды работы с файлами: ссылки, сортировка файлов
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 - исключает повторяющиеся строки и т.д.
Практическая работа №3(3) Создание ссылок на файлы.
Цель работы:
-
Изучить понятие ссылки на файл.
-
Научиться создавать жесткие и символьные ссылки на файлы.
Порядок выполнения работы
Изучаются команды:
ln - создание ссылки на файл;
ls - просмотр атрибутов файла.
-
Зарегистрируйтесь в ОС Linux. Запустите на выполнение программу Терминал.
-
Выведите на экран Терминала справку по следующим командам: ln, ls. Назначение и формат команд приведите в отчете.
-
Перейдите в Ваш личный каталог и создайте в нем текстовый файл и любой подкаталог.
-
Создайте жесткую ссылку с другим именем в созданном подкаталоге на созданный файл. Проанализируйте и сравните все атрибуты связанных файлов. Объясните отличия.
-
Уничтожьте один из связанных файлов. Проанализируйте и сравните все атрибуты связанных с ним файлов. Объясните изменения.
-
Просмотрите содержание связанных файлов. Каков был результат просмотра?
-
Создайте символьную ссылку с другим именем в созданном ранее подкаталоге. Проанализируйте и сравните все атрибуты связанных файлов. Объясните отличия.
-
Создайте новый подкаталог в Вашем личном каталоге.
-
Создайте ссылки на несколько файлов, принадлежащих одному из каталогов домашней директории, в созданном ранее каталоге одной командной строкой. Проанализируйте и сравните все атрибуты связанных файлов. Объясните отличия.
-
Завершите работу с программой Терминал.
Практическая работа №3(4) Сортировка файлов
Цель работы:
-
Научиться сортировать отображаемую информацию при просмотре директории.
-
Научиться осуществлять сортировку данных в файле.
Порядок выполнения работы
Изучаются команды:
sort - сортировка файлов;
ls - просмотр содержимого каталога;
touch - замена времени модификации файла на текущее.
-
Зарегистрируйтесь в ОС Linux. Запустите на выполнение программу Терминал.
-
Выведите на экран Терминала справку по следующим командам: sort, touch. Назначение и формат команд приведите в отчете.
-
Просмотрите содержимое корневого каталога с выводом размеров файлов, содержащихся в директории, в блоках.
-
Упорядочите по алфавиту строки суммарного файла HOME-каталога.
-
Просмотрите содержимое любой директории отсортировав отображаемую информацию по времени последнего доступа к файлу.
-
Обновите временные характеристики одного из существующих файлов. Проанализируйте результат.
-
Просмотрите содержимое директории, содержащей файл с обновленными временными характеристиками отсортировав его по времени модификации файлов
-
Обновите временные характеристики несуществующего файла. Проанализируйте результат работы команды.
-
Просмотрите содержимое директории, содержащей созданный файл, используя сортировку по времени создания файла
-
Проанализируйте с использованием команды history содержание лабораторной работы, продумайте ответы на нижеприведенные контрольные вопросы и сдайте выполненную работу преподавателю.
Контрольные вопросы:
-
Какие системные имена каталогов Вам известны?
-
Каким образом можно построить отдельный каталог или цепочку каталогов?
-
Для чего и каким образом переопределяются текущие каталоги?
-
Как обратиться к файлам параллельных ветвей дерева
каталогов? К вышележащему каталогу?
-
Какие условия поиска файлов Вы знаете? Как комбинируются условия поиска? Как осуществить поиск по дереву каталогов?
-
Какова последовательность действий при удалении одного каталога? Цепочки каталогов?
-
Объясните назначение и содержание каждого поля каталога.
-
Как отличить по содержимому каталога типы файлов, содержащихся в Ваших каталогах.
-
Какую информацию содержит «пустой» вновь созданный каталог?
-
Как осуществить поиск файлов в системе каталогов по фрагментам текста файлов?
-
Назовите известные Вам способы создания пустых файлов.
-
Как создать текстовый файл?
-
Какие возможности сокращения записи имен файлов Вы знаете с использованием механизма генерации имен файлов?
-
Какие три команды этой лабораторной работы можно использовать для переименования файлов? Как в этом случае надо использовать команды?
-
Какими способами можно объединить несколько текстовых файлов в один?
-
В чем разница работы команд cp и mv?
-
Сколько ссылок можно создать на единственный файл из разных каталогов?
-
Как создать несколько ссылок с совпадающими именами на несколько файлов в другом каталоге?
-
Какое соответствие атрибутов имеют связанные между собой файлы?
-
На какой атрибут и как влияет удаление одного из связанных файлов?
-
Как отражается на содержимом связанных файлов изменение содержания одного из них и почему?
-
Какими возможностями обладает команда sort?
Тема 2.2. Управление процессами
2.2.1. Управление процессами
Отображение информации о процессах
В Linux (как и во всех UNIX-системах) имеется команда ps, которая позволяет определить, какие процессы в системе запущены. Если ее запустить без всяких параметров, то она выдает список процессов, запущенных в текущей сессии.














