1. Копирования содержимого файла в другой документ той же папки:
cp /home/root/need.txt /home/root/need22.txt
Здесь содержимое файла /home/root/need.txt (источник) будет скопировано в файл /home/root/need22.txt (назначение).
2. Копирования файла в другой каталог:
cp /home/root/need.txt /home/flenov/need.txt
или
cp /home/root/need.txt /home/flenov/need22.txt
Обратите внимание, что в этом случае в папке назначения файл может быть как с новым, так и со старым именем.
3. Копирование несколько файлов в новый каталог. Для этого нужно перечислить все файлы в источнике и последним параметром указать папку назначения:
cp /home/root/need.txt /home/root./need22.txt /home/new/
В этом примере файлы /home/root/need.txt и /home/root/need22.txt будут скопированы в директорию /home/new. Можно копировать файлы и из разных каталогов в один:
cp /home/root/need.txt /home/flenov/need22.txt /home/new/
В этом примере файлы /home/root/need.txt и /home/flenov/need22.txt будут скопированы в директорию /home/new.
4. Копирование группы (всех) файлов каталога.
А что если надо скопировать все файлы, начинающиеся на букву "n" из одной директории в другую? Неужели придется их все перечислять? Нет, достаточно указать маску n*
, где звездочка заменяет любые символы, начиная со второго:
cp /home/root/n* /home/new/
Если нужно скопировать все файлы, имена которых начинаются символами "ra" и заканчиваются буквой "t", то маска будет выглядеть как ra*t
.
Создание новой директории. Например, если вы хотите создать подкаталог newdir в текущей директории, то нужно выполнить команду:
mkdir newdir
Команда позволяет удалить файл или директорию (должна быть пустая):
rm /home/flenov/need22.txt
В качестве имен файлов можно использовать и маски, как в команде cp
. Для удаления директории может понадобиться указание следующих ключей:
□ -d
— удалить директорию;
□ -r
— рекурсивно удалять содержимое директорий;
□ -f
— не запрашивать подтверждение удаляемых файлов. Будьте внимательны при использовании этого параметра, потому что файлы будут удаляться без каких-либо дополнительных вопросов. Вы должны быть уверены, что команда написана правильно.
Пример удаления директории:
rm -rf /home/flenov/dir
Эта команда позволяет определить свободное место на жестком диске или разделе. Если устройство не указано, то на экран выводится информация о смонтированных файловых системах.
Пример результата выполнения команды:
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hda2 16002200 2275552 12913760 15% /
none 127940 0 127940 0% /dev/shm
Результирующая таблица состоит из следующих колонок:
□ Filesystem
— диск, файловая система которого смонтирована;
□ 1k-blocks
— количество логических блоков;
□ Used
— количество использованных блоков;
□ Available
— количество доступных блоков;
□ Use%
— процент использованного дискового пространства;
□ Mounted on
— монтировка файловой системы.
Команда предназначена для монтирования файловых систем. Она достаточно сложна, и ее используют системные администраторы.
Если вы работали с ОС Windows, то скорей всего привыкли к тому, что дискеты, CD-диски и другие съемные носители становятся доступными сразу же, как только вы поместили их в устройство чтения. В Linux это не так, и многие не могут сжиться с этой особенностью. К таким пользователям отношусь и я, т.к. до сих пор не могу привыкнуть, что нужно выполнять дополнительные команды, хотя и прекрасно понимаю, что они необходимы.
Итак, чтобы CD-ROM стал доступным, надо выполнить команду mount
, указав в качестве параметра устройство /dev/cdrom:
mount /dev/cdrom
После этого содержимое CD можно посмотреть в директории /mnt/cdrom. Получается, что файлы и директории диска как бы сливаются с файловой системой.
Почему именно в директорию /mnt/cdrom подсоединяется CD-ROM? Секрет заключается в том, что для подключения CD-ROM нужно намного больше данных, чем дает одна команда mount dev/cdrom
. Эти сведения хранятся в двух файлах, уже имеющихся в ОС и описывающих основные устройства и параметры по умолчанию — файлы fstab и mtab. Давайте по очереди разберем эти файлы.
Для начала взглянем на fstab:
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/hda2 / ext3 defaults,errors=remount-ro 0 1
/dev/hda1 none swap sw 0 0
proc /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
none /dev/pts/ devpts gid=5,mode=620 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0
Файл содержит строки для основных дисков. Каждая запись состоит из 6 колонок. Обратите внимание на первую строку. Здесь описывается подключение диска hda2. В моей файловой системе это основной диск, поэтому второй параметр — "/". Это значит, что диск будет монтирован как корневой. Третья колонка описывает файловую систему, в данном случае это Ext2. Параметр rw
указывает на то, что устройство доступно для чтения и записи.
Предпоследняя строка в файле описывает устройство CD-ROM. Посмотрите внимательно на второй параметр /mnt/cdrom
. Вот откуда берется путь к содержимому CD-диска. Четвертая колонка содержит опции монтирования, в которых можно описать параметры безопасности. В данном случае для CD-ROM здесь указано несколько опций: noauto, owner, kudzu, ro
. Очень важным здесь является параметр ro
, который говорит о возможности только чтения CD-ROM. Вполне логично установить этот параметр для всех приводов и устройств, с помощью которых хакер сможет снять информацию с сервера.
Файл mtab имеет примерно такое же содержимое:
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/hda2 / ext3 rw,errors=remount-ro 0 0
proc /proc proc rw 0 0
none /dev/shm tmpfs rw 0 0
none /dev/pts devpts rw,gid=5,mode=620 0 0
none /proc/sys/fs/binfmt_misc binfmt misc rw 0 0
/dev/cdrom /mnt/cdrom iso9660 ro,nosuid,nodev 0 0
Если вы создали какие-то разделы на отдельных дисках, то сможете настраивать и их. Я вам рекомендовал выделить таким образом раздел /home с пользовательскими директориями. Если вы так и сделали, то в файле может быть еще одна строка примерно следующего вида: