Рейтинг@Mail.ru
[Войти] [Зарегистрироваться]

Наши друзья и партнеры

UnixForum
Беспроводные выключатели nooLite

Lines Club

Ищем достойных соперников.

создание сайтов.


Книги по Linux (с отзывами читателей)

Библиотека сайта или "Мой Linux Documentation Project"

Утилиты обработки Файлов

Пред. 

Глава 3. Введение в командную строку

 След.


Утилиты обработки Файлов

В этом контексте под обработкой файлов подразумевается копирование, перемещение и удаление файлов. Позже мы рассмотрим способы изменения атрибутов файлов (владельцев, разрешения).

mkdir, touch: Создание пустых каталогов и файлов

Команда mkdir (MaKe DIRectory - создать каталог) используется для создания каталогов. Ее синтаксис довольно прост:

mkdir [опции] <каталог> [каталог ...]

Только одна опция ничего не стоит: опция -p. Она выполнит два действия:

  1. создаст родительские каталоги, если они не существовали до этого. Без этой опции mkdir просто вызовет сбой, жалуясь на отсутствие заявленных каталогов;
  2. молча выполнит возврат, если каталог, который вы хотели создать, уже существует. Для сравнения, если вы не указали опцию -p, mkdir возвратит сообщение об ошибке, жалуясь на то, что каталог уже существует.

Вот несколько примеров:

  • mkdir foo: создает каталог foo в текущем каталоге;
  • mkdir -p images/misc docs: создает каталог misc в каталоге images. Сначала создается последний каталог, если такой не существует (-p); также создается каталог с именем docs в текущем каталоге.

Изначально команда touch предназначалась не для создания файлов, а для обновления времени последнего доступа к файлу и времени его изменения[3]. Однако touch создаст пустые файлы, если они не существуют. Ее синтаксис:

touch [опции] файл [файл...]

Таким образом, выполнение команды:

touch file1 images/file2

создаст в текущем каталоге пустой файл с именем file1 и пустой файл file2 в каталоге images, если ранее эти файлы не существовали.

rm: Удаление файлов или каталогов

Команда rm (ReMove - удалить) является аналогом команд DOS del и deltree, и содержит дополнительные опции. Ее синтаксис выглядит следующим образом:

rm [опции] <файл|каталог> [файл|каталог...]

Опции включают:

  • -r или -R: рекурсивное удаление. Эта опция является обязательной для удаления каталога, пустого или нет. Однако для удаления пустых каталогов вы также можете воспользоваться командой rmdir.
  • -i: запрос подтверждения перед каждым удалением. Обратите внимание, что по умолчанию в Mandrakelinux, rm по соображениям безопасности - это алиас команды rm -i (похожие алиасы существуют для cp и mv). Однако ваше мнение относительно полезности этих алиасов может измениться. Если вы хотите удалить их, вы можете создать пустой файл ~/.alias, который предотвратит установку общесистемных алиасов. Или же вы можете отредактировать свой файл ~/.bashrc для отключения некоторых общесистемных алиасов путем добавления этой строки: unalias rm cp mv
  • -f, как противоположность -i, принудительноудалит файлы или каталоги, даже если у пользователя нет доступа для записи в файлы[4].

Несколько примеров:

  • rm -i images/*.jpg file1: удаляет все файлы с именами, заканчивающимися на .jpg, в каталоге images и удаляет file1 в текущем каталоге, запрашивая подтверждение на удаление каждого файла. Отвечайте y для подтверждения удаления и n для отмены.
  • rm -Rf images/misc/ file*: удаляет без запроса подтверждения весь каталог misc/ в каталоге images/ вместе со всеми файлами в текущем каталоге, чьи имена начинаются с file.

[Warning]

Внимание

При использовании rm файлы удаляются безвозвратно. Способа для их восстановления не существует! (Ну, вообще-то для этого все-таки есть несколько способов, но это нетривиальная задача.) Не раздумывайте при использовании опции -i, чтобы убедиться в том, что вы не удалите по ошибке что-нибудь важное.

mv: Перемещение или удаление файлов

Синтаксис команды mv (MoVe - переместить) следующий:

mv [опции] <файл|каталог> [файл|каталог ...] <назначение>

Некоторые опции:

  • -f: форсирование операции  –– предупреждение не выводится, если перезаписывается существующий файл.
  • -i: противоположное действие. У пользователя спрашивается подтверждение перед перезаписью существующего файла.
  • -v: подробный режим, сообщает обо всех изменениях и действиях.

Несколько примеров:

  • mv -i /tmp/pics/*.png .: перемещает все файлы из каталога /tmp/pics/, чьи имена заканчиваются на .png, в текущий каталог (.), но запрашивает подтверждение перед перезаписью в нем любых файлов.
  • mv foo bar: переименовывает файл foo в bar. Если каталог bar уже существовал, результатом выполнения этой команды будет перемещение файла foo или всего каталога (самого каталога плюс всех файлов и каталогов в нем, рекурсивно) в каталог bar.
  • mv -vf file* images/ trash/: перемещает без запроса подтверждения все файлы из текущего каталога с именами, начинающимися с file, вместе со всем каталогом images/ в каталог trash/, и показывает порядок выполнения каждой операции.

cp: Копирование файлов и каталогов

cp (CoPy - копировать) является аналогом команд DOS copy и xcopy и содержит дополнительные опции. Ее синтаксис выглядит следующим образом:

cp [опции] <файл|каталог> [файл|каталог ...] <назначение>

cp имеет много опций. Вот самые общие из них:

  • -R: рекурсивное копирование; обязательна для копирования каталога, даже если он пуст.
  • -i: запрос подтверждения перед перезаписью любых файлов, которые могут быть перезаписаны.
  • -f: противоположность -i, заменяет любые существующие файлы без запроса подтверждения.
  • -v: подробный режим, сообщает обо всех действиях, выполняемых cp.

Несколько примеров:

  • cp -i /timages/* images/: копирует все файлы из каталога /timages/ в каталог images/, находящийся в текущем каталоге. Запрашивается подтверждение, если должен быть перезаписан файл.
  • cp -vR docs/ /shared/mp3s/* mystuff/: копирует весь каталог docs, плюс все файлы из каталога /shared/mp3s в каталог mystuff.
  • cp foo bar: делает копию файла foo в файл с именем bar в текущем каталоге.



[3] В UNIX® для всех файлов существуют три разных временных метки: дата последнего доступа к файлу (atime), т.е. дата, когда в последний раз файл открывался для чтения или записи; дата последнего изменения атрибутов inode (mtime); и, наконец, дата последнего изменения содержимого файла (ctime).

[4] Для пользователя достаточно иметь доступ для записи в каталог, чтобы он мог удалять файлы в нем, даже если он не является владельцем файлов.


Пред. 

Уровень выше

 След.

Глава 3. Введение в командную строку 

Начало

 Обработка атрибутов файлов




Эта статья еще не оценивалась
Вы сможете оценить статью и оставить комментарий, если войдете или зарегистрируетесь.
Только зарегистрированные пользователи могут оценивать и комментировать статьи.

Комментарии отсутствуют