Skip to main content

Команды для работы с файлами

Использование шаблонов имен файлов

Для обозначения группы файлов (при копировании, удалении и др.) используются шаблоны имен файлов.

В шаблонах используют символы * и ?.

* - заменяет любое количество любых символов.

Примеры:

* - файлы с любым именем (т.е. все файлы).

*s* - все файлы, в имени которых содержится s

x* - все файлы с именем, начинающимся на х

? - заменяет один любой символ.

Примеры:

????? - все файлы, длина имени которых 5 символов.

??d* - все файлы, в имени которых третий символ d.

Можно в шаблонах использовать диапазоны.

[набор] - любой один символ из заданного набора

[^набор] - любой один символ, не заданный в наборе

Примеры:

*[a-c s] - все файлы, имя которых заканчивается на одну из букв: a, b, c, s.

[^a-d]*- все файлы, имя которых не начинается на одну из букв: a, b, c, d.

6. Узнать тип файла: file   путь/имя_файла

Примеры:

file   ~/* - узнать тип файлов, хранящихся в домашнем каталоге.

file   /bin/* - определить тип файлов, хранящихся в каталоге bin.

7. Запуск исполняемых файлов:

sh   путь/имя_файла или путь/имя_файла

Примеры:

Просмотрите каталог /usr/bin (с ключом -F) или используйте команду file, чтобы определить тип файлов в этом каталоге. В этом каталоге содержатся исполняемые файлы - утилиты. Запустите, например, файл cal, который отобразит на экране календарь.

/usr/bin/cal

Многие команды, которые мы используем, не являются встроенными в командный процессор, а представляют собой исполняемые файлы. Большинство таких полезных файлов - утилит находятся в каталогах /bin и /usr/bin.

Примечание: Исполняемые файлы нельзя запускать просто по имени, если они находятся в текущем каталоге и этот каталог не входит в переменную окружения PATH - в ней содержится список каталогов, в которых командный интерпретатор будет искать указанный файл.

8. Создание текстового файла: cat > путь/имя_файла

Значение символа > подробно будет рассмотрено ниже (см. ввод и вывод).

Примеры:

cat   >   ~/dir1/mytext.txt - создание текстового файла в каталоге dir1, находящегося в домашнем каталоге.

После ввода команды наберите текст файла.

Окончание набора и закрытие файла - ctrl + D , enter.

Создайте еще несколько текстовых файлов в каталоге dir1.

9. Копирование файлов :

cp   путь/имя_файла(ов)   путь/имя_каталога

(откуда и что копировать) (куда копировать)

Можно при копировании одновременно переименовывать файлы. Для этого нужно указать новое имя файла в качестве второго аргумента (куда копировать).

Примеры:

cp   /bin/???   ~/dir1 - копировать файлы, длина имени которых 3 символа из каталога bin, расположенного в корневом каталоге, в dir1, находящегося в домашнем каталоге.

cp   ~/dir1/*   ~ - копировать все файлы из каталога dir1 в домашний каталог.

Используя команду ls, просмотрите содержимое домашнего каталога и проверьте правильность копирования.

cd   /sbin - сделать текущим каталог sbin

cp   mk*   ~/dir1 - копировать все файлы, начинающиеся на mk из текущего каталога (sbin) в каталог dir1

сd   ~/dir1 - сделать текущим каталог dir1

cp   /bin/vi   . - копировать файл vi из каталога bin в текущий каталог (dir1). Для обращения к текущему каталогу используется . (точка).

10. Просмотр текстового файла:

cat путь/имя_файла

less путь/имя_файла (постраничный просмотр)

Просмотрите созданный файл cat ~/dir1/mytext.txt

Чем отличается просмотр файла с помощью разных команд.

cat   /usr/share/doc/HTML/index.html

less   /usr/share/doc/HTML/index.html

Выход из режима просмотра less - Ctrl+z

11. Переименование файла (каталога):

mv стар_имя_файла нов_имя_файла

Перемещение файла(ов): mv путь/имя_файла путь

(откуда) (куда)

Переименуйте созданный текстовый файл в studdoc.txt

mv   ~/dir1/mytext.txt   ~/dir1/studdoc.txt

C помощью команды ls проверьте переименование файла.

Переместите studdoc.txt в свой домашний каталог

mv   ~/dir1/studdoc.txt   ~

12. Удаление файлов: rm путь/имя_файла(ов)

rm -r имя_каталога - позволяет удалять каталог вместе со всем содержимым.

Для подтверждения удаления файла нажмите клавишу Y, для отмены N.

rm   ~/dir1/* - удалить все файлы из каталога dir1.

Просмотрите каталог dir1 и проверьте удаление файлов.

13. Поиск файла: find каталог_поиска -ключи

Каталог_поиска - каталог, включая дерево всех подкаталогов, в которых будет производиться поиск.

-name - позволяет задать имя искомого файла или каталога

-type - определяет тип файла: f - файл, d- каталог, l - символьная ссылка.

-xdev - ограничить поиск одной файловой системой, не выходить за границы устройства хранения.

find   /home   -name   dir1 искать dir1во всех подкаталогах каталога /home

find   ~   -type   d - искать все каталоги и подкаталоги, расположенные в домашнем каталоге

find   /usr/bin   -name   k* - искатьфайлы, имена которых начинаются на k во всех подкаталогах /usr/bin.

Задание:

  1. Просмотреть каталоги, /bin, /usr/bin, /home. При просмотре использовать ключ, который позволяет определять тип файлов.
  2. В домашнем каталоге создать подкаталоги dir1 и dir2.
  3. В каталоге dir1 создать текстовый файл document.txt.
  4. Скопировать все файлы, имена которых заканчиваются на so из каталога /lib в каталог dir2.
  5. Скопировать файлы, длина имени которых не превышает 5 символов и начинается на одну из следующих букв c, d, e, f, g из каталога /usr/bin в dir1.
  6. Найти файл magic и скопировать в каталог dir2.
  7. Переместить файл magic из каталога dir2 в каталог dir1.
  8. Переименовать document.txt. в mydoc.txt
  9. Просмотреть текстовый файл mydoc.txt.
  10. Удалить все файлы из каталогов dir1 и dir2.
  11. Удалить каталоги dir1, dir2.