Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная_9_Linux_файл_сист_VI.doc
Скачиваний:
21
Добавлен:
23.11.2018
Размер:
154.62 Кб
Скачать

Перемещение файлов (каталогов) с помощью команды mv

1. Перемещает (переименовывает) исходный файл name1 в целевой файл name2. Исходный файл не должен совпадать с целевым файлом. Если целевой файл существует, его старое содержимое теряется. Если при этом обнаруживается, что в целевой файл не разрешена запись, то выводятся атрибуты этого файла и запрашивается подтверждение на проведение операции. Если эта строка начинается с символа ‘y’, то требуемые действия все же выполняются, при условии, что у пользователя достаточно прав для удаления целевого файла.

mv [opt] name1 name2

2. Если name1 является каталогом, то он переименовывается в name2, только если у этих двух каталогов общий надкаталог; при этом все файлы, находившиеся в каталоге , перемещаются под своими именами в целевой каталог. Если name1 является файлом, а name2 - ссылкой, причем не единственной, на другой файл, то все остальные ссылки сохраняются, а целевой файл становится новым независимым файлом.

Применяется для перемещения file1, … fileN, в целевой каталог destination под своими именами:

mv [opt] name1 ... name N destination

Пример:

mv ../ file1 joe

перемещает файл ../ file1 в файл или каталог joe.

mv file1 file1.old

создается резервная копия файла file1 с именем file1.old, затем удаляется исходный файл file1.

mv file1.old /backup/jack

файл file1.old перемещается из рабочего каталога в каталог /backup/jack.

Конкатенация файлов с помощью команды cat

Команда сat (от англ. concatenate) позволяет:

• объединить несколько файлов в один (при помощи оператора >): cat file1 ... fileN. > file

• присоединить файл к существующему (при помощи оператора »):

cat file1>>file

• вывести содержимое файла(ов) на экран:

cat file1 ...fileN

• создать копию файла с новым именем:

cat file1 >file

• создать новый текстовый файл без использования текстового редактора (ввод данных осуществляется с клавиатуры и завершается комбинацией Ctrl+D - конец файла): cat >file

Любой из вариантов команды позволяет использовать опции [opt]/

Примеры:

cat kev.rep

содержимое файла kev.rep будет выведено на экран.

cat kev.rep kev.mem

на экран будет выведено без паузы содержимое файла kev.rep, а затем kev.mem.

cat kev.rep kev.mem > kev.words

содержимое файлов kev.rep и kev.mem будет объединено в новом файле kev.words.

cat kev.rep.old > kev.rep.new

будет создана копия файла kev.rep.old с именем kev.rep.new.

cat > kev.rep.994

будет создан новый файл с именем kev.rep.994, после чего вся информация, вводимая с клавиатуры, будет помещена в этот файл.

cat kev.rep » kev.mem

содержимое файла kev.rep будет дописано в конец файла kev.mem.

cat - » kev.rep

вся информация, вводимая с клавиатуры, будет дописана в конец файла kev.rep.

Удаление файлов с помощью команды rm

Файлы в Linux удаляются по команде rm. Это опасная команда, потому что удаленный файл восстановить невозможно. Синтаксис команды:

rm [opt] file1 [... fileN]

здесь file1 ... fileN имена удаляемых файлов.

Для безопасной работы следует пользоваться опцией –i, требующей подтверждения на удаление файла.

Пример:

rm file1.c

файл file1.c будет просто удален.

rm -i file1.c

файл file1.c будет удален только после подтверждения пользователем факта удаления.

Вывод содержимого файла с помощью команды more

По команде more на экран выводится содержимое текстового файла, при этом нет необходимости запускать текстовый редактор, распечатывать файл или нажимать клавишу паузы во время вывода текста на экран. Недостаток этой команды заключается в том, что невозможно пролистать информацию в обратном направлении. Синтаксис команды:

more [opt] file

Команда less—усовершенствование more

По команде less информация выводится в окно терминала. Имя этой команде дано в противоположность команде more, поскольку в команде less пролистывание текстового файла возможно в обоих направлениях (игра слов: more - больше, less - меньше.). Синтаксис команды:

less [opt] file

Команда поиска фрагментов текста в файле по шаблону grep

Выдает все строки в названном файле(ах), которые содержат заданный образец. Синтаксис команды :

grep pattern file1 ... fileN

здесь <pattern> - образец (представленный регулярным выражением); file1 ... fileN - файлы, в которых производится поиск.

Пример:

grep loomer /etc/hosts

выдаст все строки, в которых файл /etc/hosts, содержит образец “loomer" .

Команда поиска файлов find

Выполняет поиск файла в файловой системе, начиная с каталога dir:

find dir [opt]

Команда find исключительно полезная вещь, что делает ее одновременно одной из самых сложных в использовании команд. Использование команды find включает три этапа, которые в свою очередь могут состоять из одного или нескольких этапов: 1) где искать; 2) что искать; 3) что делать, когда файл найден.

Если вы знаете имя файла, но не знаете, где он находится в структуре каталогов Linux, то самым простым способом использования команды find для поиска такого файла будет команда:

find / -name filename -print

В больших системах поиск от корня может занять слишком много времени, так как будет просматриваться каждый каталог, каждый диск, включая подключенные сетевые диски. Более приемлемым будет поиск по нескольким каталогам. Если вы знаете, что файл, вероятнее всего, находится в каталогах /usr или /usr2, воспользуйтесь следующей командой:

find /usr /usr2 -name filename -print

Наиболее часто используемые параметры для find:

Опции

Описание

-name file

Параметр file может быть именем или шаблоном, содержащим символы подстановки (* или ?). Если это шаблон, то для обработки выбирается каждый файл, чье имя удовлетворяет этому шаблону

-links n

Для обработки выбираются все файлы, на каждый из которых имеется n или больше ссылок

-size n [с]

Для обработки выбираются все файлы, размер которых равен или больше n 512-байтных блоков. Если к размеру добавлен символ с, то выбираются файлы, которые состоит из n или больше символов

-atime п

Для обработки выбираются все файлы, к которым осуществлялся доступ за последние n-дней. Обратите внимание, что сама команда find осуществляет доступ к файлам, поэтому изменяет время последнего доступа к файлу

-print

Эта наиболее часто используемая опция просто отображает имена всех найденных файлов

-exec cmd

Для каждого файла, удовлетворяющего критериям поиска, выполняется команда Linux, принимающая в качестве параметра имя найденного файла. Для использования команды -exec необходимо запомнить два простых правила: в команде имя найденного файла представляется в {}, а команда должна заканчиваться последовательностью символов \;. Предположим, вы зарегистрировались как администратор и создали каталог, поэтому все файлы в этом каталоге принадлежат администратору. Чтобы сделать так, чтобы всеми файлами владел пользователь jack, необходимо выполнить команду: find /home/jack -exec chown jack {} \;

Команда find позволяет выполнять множество логических операций. Например, если необходимо выбрать все файлы, которые нельзя представить одним шаблоном, можно воспользоваться параметром or (-о):

find /home ( -name filel -o -name file2 ) –print