Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Работа с файлами и каталогами

Читайте также:
  1. D триггеры, работающие по фронту.
  2. II. Поработать с лекционным материалом по теме занятия, выучить глоссарий.
  3. II. Работа с акварелью, гуашью, восковыми мелками, школьным мелом
  4. III. Работа по теме.
  5. III. Работа с природным материалом
  6. IV. Контрольная работа №1.
  7. IV. Работа с тканью, нитками
  8. IV. Совместное открытие знаний. Работа в парах.
  9. V. Положение о контрольных работах
  10. V. Практическая работа

Полное имя файла определяет файл в иерархии каталогов. Путь к файлу начинается из корневого каталога, обозначаемого символом косой черты /. Абсолютное имя состоит из списка каталогов, которые нужно пройти от корневого каталога к файлу, разделенных косой чертой, например: /home/ivanov/my.txt

В каждый момент времени у каждого процесса есть текущий рабочий каталог, в нем ищутся пути файлов, не начинающиеся с '/'. Относительное имя определяется относительно текущего рабочего каталога. Например, если текущий рабочий каталог - /home/ivanov, то имя bin/primer даст полное имя /home/ivanov/bin/primer. При входе пользователя в систему текущим каталогом по умолчанию будет "домашний" каталог (home directory) /home/имя_пользователя.

В относительном имени файла символ '. ' означает "текущий каталог"; символ ' .. ' - "родительский каталог". Так, запись../../a/b обозначает файл b в каталоге a, являющимся "сыном дедушки" текущего каталога. Символ ' ~ ' означает "домашний каталог". Так, запись ~/b обозначает файл b в "домашнем" каталоге пользователя.

Подстановочные символы в обозначении файлов:

* Любая последовательность символов (кроме '.') [A-F] Любой единичный символ, попадающий в указанный диапазон
? Любой единичный символ (кроме '.') [^список] или [!список] Любой единичный символ, кроме символов из списка
[список] Любой единичный символ из списка [^A-F] или [!A-F] Любой единичный символ, не попадающий в указанный диапазон

Например, [a-c]1 будет обозначать файлы a1, b1 или c1.

Определение текущего каталога.

$pwd (Print Working Directory)

Смена рабочего каталога.

$cd имя_каталога (Change Directory)

Команда cd без параметров вызывает переход в каталог, который был текущим при входе пользователя в систему.

Просмотр содержимого каталога.

$ls имя_каталога

$ls - просмотр содержимого рабочего каталога

Для получения подробной информации следует использовать команду с ключом -l. Например,

$ls -l /bin

В выходной информации, выданной по этой команде, строка для каталога начинается символом ' d ', строка для файла - символом ' - '.

Просмотр текстового файла и поиск в файле. (Команды more и less)

Для просмотра текстового файла введите команду

$more имя_файла

Нажатие клавиши пробел прокручивает текст на одну страницу, нажатие <Enter> - на одну строку. Чтобы выполнить поиск в тексте в направлении от начала к концу, введите косую черту и строку поиска. Текст прокрутится до первого появления искомого слова. Для продолжения поиска введите n.

Команда less - усовершенствованный вариант команды more.

Поиск файла (Команда find)

Команда find ищет файлы по имени, дате создания или модификации, владельцу, объему, типу файла. Формат команды:

$find starting_directory parameters actions

где start_directory - каталог, с которого должен начинаться поиск, поиск производится во всех подкаталогах указанного каталога;

papameters - критерии поиска. Например, для поиска файла по имени следует ввести
-name имя_файла;

actions - указание, что делать с найденными файлами. Чаще всего указывается флаг -print, по которому выводится имя найденного файла с указанием пути.

Примеры. $ find / -name foo -print - найти все файлы с именем foo.

$ find /home -name 'fo*' -print

- найти все файлы в каталоге /home, начинающиеся с символов fo.

Поиск строки текста в нескольких файлах

$grep text_pattern file_list

гле text_pattern - образец для поиска;

file_list - список файлов, в которых производится поиск.

Примеры.

$grep radio *

- поиск слова radio во всех файлах рабочего каталога.

$grep "Hello word" /home/z*

- поиск фразы "Hello word" во всех файлах, начинающихся с символа z, в каталоге /home.

Копирование файлов (Команда cp)

$cp ThisFile CopyFile

- создание копии файла ThisFile в том же рабочем каталоге под именем CopyFile.

$cp -i ThisFile CopyFile

- то же, но с подтверждением записи поверх файла, если файл CopyFile уже существует.

$cp file1 file2 file3 /tmp

- копирование трех файлов file1, file2 и file3 из текущего каталога в каталог /tmp.

$cp *.txt *.doc /tmp

- копирование всех файлов с расширениями txt и doc в каталог /tmp.

$cp -R SomeDir /tmp

- копирование каталога SomeDir в каталог /tmp; в каталоге /tmp будет создан подкаталог SomeDir.

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

$rm ThisFile

- удалить файл ThisFile из текущего каталога.

$rm -i ThisFile

- то же с подтверждением удаления.

$rm *.bak

- удалить все файлы с расширением bak из текущего каталога.

$rm ThisFile *.txt

- удалить файл ThisFile и все текстовые файлы из текущего каталога.

$rm -r TempDir

- удалить каталог TempDir из текущего каталога.

Перемещение и переименование файлов.

$mv FileOne /tmp

- переместить файл FileOne из текущего каталога в каталог /tmp.

$mv FileOne /tmp/NewFile

- то же, но с переименованием файла в NewFile.

$mv FileOne NewFile

- переименовать файл FileOne в файл NewFile в текущем каталоге.

$mv *.bak *.tmp /tmp

- переместить все файлы с расширениями bak и tmp из текущего каталога в каталог /tmp.

$mv DirOne/ /tmp

- переместить каталог DirOne в каталог /tmp. В каталоге /tmp будет создан подкаталог DirOne.

Создание каталогов

$mkdir docum

- создать подкаталог docum в текущем каталоге.

$mkdir /home/ivanov/docum

- создать подкаталог docum в каталоге /home/ivanov.

Удаление каталогов.

$rmdir /home/ivanov/docum

Задание 3. Занесите в отчет информацию о выполнении следующих пунктов.

3.1. Определите текущий рабочий каталог. Сделайте текущим каталог /bin, используя в команде cd относительное имя и символы ' .. '. Затем вернитесь в свой первоначальный каталог.

3.2. Зарисуйте часть дерева каталогов вашей системы (при помощи команд ls и cd).

3.3. Создайте в своем домашнем каталоге подкаталоги lab1 и temp. Скопируйте в temp любой текстовый файл. Просмотрите содержимое файла. Запишите сведения о содержимом каталога temp. Удалите скопированный файл. Удалите подкаталог temp. Сделайте текущим каталогом каталог lab1.

3.4. Подсчитайте число файлов (включая каталоги) в каталоге /bin двумя способами:

а) выход ls направьте в файл, сделав его затем входным для команды wc;

б) при помощью канала.

3.5. Запишите в файл apr.txt имена файлов каталога /bin, созданных в апреле. Воспользуйтесь командами ls и grep, соединенными при помощи канала, и вывод команды grep перенаправьте в файл apr.txt. Просмотрите файл apr.txt.

3.6. Найдите команду banner (при помощи команды find), затем выполните команду

$banner -w50 любые_символы

3.7. Проверьте действие символа & в конце команды. Что будет выведено?

3.8. Выведите в файл files.txt информацию о всех файлах системы, начинающихся с цифры 0…9 и содержащих 5 символов.

3.8. Запустите текстовый редактор pico. Создайте два текстовых файла t1 и t2 с произвольным содержимым. Запишите использованные Вами команды pico.

3.9. Команда cat - средство объединения (конкатенации) файлов; это также самый быстрый способ просмотреть файл и создать небольшой текстовый файл. Выполните и поясните в отчете результаты выполнения следующих команд:

$ cat t1 $ cat [1-3]>4

$ cat t1 t2 $ cat /dev/null >empty1

$ cat t1 t2 > t3 $ > empty2

$ cat t1 t2 >> t3 $ cat>quick (Далее вводите любой текст.

Признак конца файла в UNIX: CTRL-d)

3.10. Поясните, результат выполнения следующих команд:

$ cd dd 2>>log.txt || cat log.txt;rm log.txt




Дата добавления: 2014-12-18; просмотров: 56 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.01 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав