Команды для работы с файлами
Использование шаблонов имен файлов
Для обозначения группы файлов (при копировании, удалении и др.) используются шаблоны имен файлов.
В шаблонах используют символы * и ?.
* - заменяет любое количество любых символов.
Примеры:
* - файлы с любым именем (т.е. все файлы).
*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.
Задание:
- Просмотреть каталоги, /bin, /usr/bin, /home. При просмотре использовать ключ, который позволяет определять тип файлов.
- В домашнем каталоге создать подкаталоги dir1 и dir2.
- В каталоге dir1 создать текстовый файл document.txt.
- Скопировать все файлы, имена которых заканчиваются на so из каталога /lib в каталог dir2.
- Скопировать файлы, длина имени которых не превышает 5 символов и начинается на одну из следующих букв c, d, e, f, g из каталога /usr/bin в dir1.
- Найти файл magic и скопировать в каталог dir2.
- Переместить файл magic из каталога dir2 в каталог dir1.
- Переименовать document.txt. в mydoc.txt
- Просмотреть текстовый файл mydoc.txt.
- Удалить все файлы из каталогов dir1 и dir2.
- Удалить каталоги dir1, dir2.