Рейтинг@Mail.ru

Наши друзья и партнеры

UnixForum




Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Электронные книги по ОС Linux
Цилюрик О.И. Linux-инструменты для Windows-программистов
Назад Консольные команды Вперед

Основные операции

Основные операции над объектами файловой системы...

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

$ mkdir newdir
$ cd newdir

Создание нового (пустого) файла:

$ touch cmd.txt

Копирование файла, или целога каталога файлов (во 2-м случае ключ рекурсивности -R обязателен):

$ cp ../f1.txt cmd.txt

$ cp -R /etc ~
cp: невозможно открыть `/etc/at.deny' для чтения: Отказано в доступе
cp: невозможно открыть `/etc/shadow-' для чтения: Отказано в доступе
cp: невозможно открыть `/etc/gshadow-' для чтения: Отказано в доступе
...

Подсчитать суммарный объём, занимаемый всеми файлами в указанном каталоге:

$ du -hs ~/etc
89M     /home/olej/etc

Удалить каталог:

$ rmdir ~/etc
rmdir: /home/olej/etc: Каталог не пуст

Команда завершается ошибкой, так как в каталоге имеются файлы. Но команда рекурсивного удаления файлов справится с той же задачей:

$ rm -R ~/etc
rm: удалить защищенный от записи обычный файл `/home/olej/etc/sudoers'? Y
...
$ rm -Rf ~/etc

$ ls ~/etc
ls: /home/olej/etc: Нет такого файла или каталога

Перемещение или переименование файла (или целой иерархии файлов — каталога). Если перемещение происходит в пределах одного каталога, то это переименование (1-я команда), иначе — реальное перемещение (2-я команда):

$ mv cmd.txt list.txt

$ mv list.txt ../cmd.txt

Побайтовое сравнение файлов по содержимому:

$ cmp -s huck.tgz huck1.tgz 
$ echo $?
0

Для сравнения текстовых файлов (файлов программного кода) с выделением различий для последующего применения команды patch, используется другая команда. Ниже показан короткий законченный пример создания такой заплатки, и последующего его наложения на файл — этого достаточно для понимания основ принципа:

$ diff --help
Использование: diff [КЛЮЧ]... ФАЙЛЫ
Построчно сравнивает два файла.
...
$ echo 1234 > f4

$ echo 12345 > f5

$ diff f4 f5
1c1
< 1234
---
> 12345

$ diff f4 f5 > 45.patch

$ patch -i 45.patch f4
patching file f4

$ cmp f4 f5

$ echo $?
0

$ ls -l
итого 12
-rw-rw-r-- 1 olej olej 23 Апр 14 07:12 45.patch
-rw-rw-r-- 1 olej olej  6 Апр 14 07:13 f4
-rw-rw-r-- 1 olej olej  6 Апр 14 07:10 f5

Команды с потоками и конвейерами:

$ cat url.txt >> cmd.txt

$ echo 111 > newfile

$ echo $?
0

$ ls -l newf*
-rw-rw-r-- 1 olej olej 4 Мар 19 15:17 newfile

$ pwd
/home/olej/TMP

$ ls

$ echo 12345 | tee 1 2 3 4 > 5

$ ls
1  2  3  4  5

Некоторые служебные операции над файловой системой:

- сбросить буфера файловой системы на диск:

$ sync

- проверка (и восстановление) структуры файловой системы на носителе:

# fsck -c
fsck 1.39 (29-May-2006)
e2fsck 1.39 (29-May-2006)
/dev/hdf6 is mounted.
WARNING!!! Running e2fsck on a mounted filesystem may cause
SEVERE filesystem damage.
Do you really want to continue (y/n)? no
check aborted.

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

$ ls /sbin/fsck*
fsck fsck.cramfs  fsck.ext2  fsck.ext3  fsck.msdos  fsck.vfat

Предыдущий раздел: Оглавление Следующий раздел:
Навигация в дереве имён   Архивы

Поделиться: