Реферат Курсовая Конспект
Работа с файлами и каталогами - раздел Программирование, Интерфейс пользователя ОС Linux и программирование на языке оболочки Полное Имя Файла Определяет Файл В Иерархии Каталогов. Путь ...
|
Полное имя файла определяет файл в иерархии каталогов. Путь к файлу начинается из корневого каталога, обозначаемого символом косой черты /. Абсолютное имясостоит из списка каталогов, которые нужно пройти от корневого каталога к файлу, разделенных косой чертой, например: /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
– Конец работы –
Эта тема принадлежит разделу:
На сайте allrefs.net читайте: "Интерфейс пользователя ОС Linux и программирование на языке оболочки"
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Работа с файлами и каталогами
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов