русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-07-09; просмотров: 1932; Нарушение авторских прав


Простейший способ создать пустой файл заключается в использовании пе- ренаправления "пустого ввода" в файл с помощью команды > файл (при- мер 4.7). Особенностью данного способа является то, что если файл сущест- вовал до выполнения этой команды, его содержимое будет стерто.

 

Пример 4.7. Создание файла

 

$ > empty

$ ls -l empty

-rw-rw-r-- 1 user1 user1 0 Окт 12 21:33 empty


 

Команда touch дает возможность создать один или несколько файлов. Имена создаваемых файлов задаются аргументами команды touch (пример 4.8). Если в качестве аргумента указан файл, который уже существует, то у этого файла в результате выполнения команды touch будет изменена дата модифи- кации.

 

Пример 4.8. Команда touch

 

$ date >f1;cat f1;ls -l f*;sleep 60;touch f1 f2;date;cat f1;ls -l f*

Чтв Окт 15 21:26:34 YEKST 2009 # cat f1

-rw-rw-r-- 1 user1 user1 37 Окт 15 21:26 f1 # ls -l f*

Чтв Окт 15 21:27:34 YEKST 2009 # cat f1

Чтв Окт 15 21:26:34 YEKST 2009 # date

-rw-rw-r-- 1 user1 user1 37 Окт 12 21:27 f1 # ls -l f*

-rw-rw-r-- 1 user1 user1 0 Окт 12 21:27 f2 # ls -l f*

 

Командная строка примера 4.8 содержит сразу восемь команд. Первая из них date > f1 создает файл f1, содержащий текущую дату. Это достигается с помощью перенаправления потока вывода команды date. Команда cat f1 выводит содержимое этого файла, команда ls –l f* — подробную инфор- мацию о файле f1. Обратите внимание на время его модификации — 21:27:34. Далее команда sleep 60 задерживает ход выполнения последую- щих команд на 60 секунд. После этого команда touch f1 f2 изменяет дату модификации файла f1 и создает новый пустой файл f2. Команда date затем выводит текущее время. Команда cat f1 снова выводит содержимое файла f1 для демонстрации того, что оно не изменилось. Но команда ls -l показыва- ет, что даты модификации файлов f1 и f2 соответствуют времени выполнения команды touch.



Для удаления файла необходимо воспользоваться командой rm (пример 4.9).

 

Пример 4.9. Удаление файлов

 

$ ls

f1 f2 f3

$ rm -f f1 f2

$ rm -i f3

rm: удалить пустой обычный файл `f3'? y

$ ls

$


 

Изначально в текущем каталоге находились три файла: f1, f2 и f3 (при- мер 4.9). Первые два из них были удалены командой rm -f. Эта команда уда- ляет файлы без запроса на подтверждение, т. к. используется опция -f. На- оборот, если необходимо выводить запрос на удаление каждого файла, ука- занного в качестве аргумента команды rm, требуется использовать опцию -i.

Команда rm, вызванная без опций, не задает никаких вопросов по поводу не- обходимости удаления файлов, как это происходит с опцией -i. При исполь- зовании шаблонов подстановки в качестве аргументов команды rm настоя- тельно рекомендуется предварительно проверить шаблон командой ls.

Также в целях безопасности рекомендуется использовать псевдоним для команды rm, активизирующий ее интерактивный режим работы по умолча- нию (пример 4.10).

 

Пример 4.10. Псевдоним для команды rm

 

$ alias rm='rm -i'

 

Приведенный в примере 4.10 псевдоним следует разместить в файле профиля пользователя .bash_profile, либо в .bashrc. Использование его включит интер- активный режим работы команды rm по умолчанию. Важно понимать, что затруднительно, а часто просто невозможно восстановить удаленный файл.

Если необходимо рекурсивно удалить каталог со всем его содержимым, надо использовать команду rm с опцией –r (пример 4.11).

 

Пример 4.11. Рекурсивное удаление каталога с содержимым

 

$ ls -R d1 d1:

direc1 file3

 

d1/direc1: Remember

$ rm -rf d1

$ ls -R d1

ls: d1: No such file or directory

 

Каталог d1 (пример 4.11) содержал файлы и подкаталоги. После его удаления командой rm -rf команда ls сообщает о его отсутствии.


 

Командой rm -rf следует пользоваться с особой осторожностью, т. к. уста- новленная опция -f запрещает выводить какие-либо сообщения об удалении файлов. Разумно перед использованием такой команды переходить в роди- тельский каталог удаляемого каталога, и затем указать относительное имя удаляемого каталога. Этого правила следует придерживаться обязательно при работе в сеансе суперпользователя.

Команда mkdir создает каталоги, а при использовании опции -p команды

mkdir можно создать целую ветвь вложенных каталогов (пример 4.12).

 

Пример 4.12. Создание каталогов

 

$ mkdir dir1

$ cd dir1

$ ls

$ mkdir -p mydir1/mydir2/mydir3

$ ls -R mydir1 mydir1:

mydir2

 

mydir1/mydir2: mydir3

 

mydir1/mydir2/mydir3:

 

Пример 4.12 демонстрирует, как с помощью команды mkdir был создан ката- лог dir1. Далее пользователь перешел в созданный каталог командой cd. За- тем, используя ключ -p команды mkdir, пользователь создал целую ветвь вложенных каталогов: mydir1/mydir2/mydir3.

Команда rmdir позволяет удалять каталоги, если они пустые (пример 4.13).

 

Пример 4.13. Удаление каталогов

 

$ mkdir emptyDir

$ ls -F

emptyDir/ mydir1/

 

$ rmdir *

rmdir: `mydir1': Directory not empty


 

В примере 4.13 был создан еще один каталог emptyDir. Затем пользователь попытался удалить оба каталога, однако удален был лишь пустой каталог emptyDir. Каталог mydir1 был пропущен, поскольку он непустой.

Команда rmdir -p способна удалить ветвь вложенных пустых каталогов. Ес- ли в пути некоторый каталог будет содержать файлы, то будут удалены все пустые каталоги в пути до первого непустого каталога.

Напомню, что команда rm -rf удаляет каталог со всем его содержимым.

 



<== предыдущая лекция | следующая лекция ==>
Перемещение по файловой системе | Копирование, перемещение и переименование файлов


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.459 сек.