Теперь, наверное, нужно было бы перечислить команды, с помощью которых можно управлять директориями и файлами, а также просматривать и редактировать их. Но мы сделаем это чуть позже, а сейчас я хочу показать одну лишь программу Midnight Commander (МС). Это лучшее средство для решения всех описанных выше задач. Программа присутствует в большинстве дистрибутивов, в том числе и в Red Hat. Для ее запуска наберите в командной строке mc
и нажмите клавишу <Enter>. Постепенно мы будем знакомиться с этой утилитой, и вы полюбите ее за удобство и мощь, а сейчас рассмотрим только основные возможности.
На рис. 3.1 изображено окно терминала, в котором запущена программа МС. Окно состоит из двух независимых панелей, в каждой из которых вы можете видеть файлы и папки текущей директории (имена папок начинаются с символа слэш). Для перемещения между панелями используется клавиша <Tab>.
Рис. 3.1. Окно терминала с запущенной программой Midnight Commander
С правой стороны показана корневая папка. Это самый верхний уровень вашей файловой системы. Посмотрите на список папок в этой панели. Большинство названий нам знакомо по табл. 2.1. Каждая из этих папок может находиться в собственном разделе жесткого диска, если при установке вы его создали. Но даже в этом случае в файловой системе вы будете видеть все как одно целое.
В разд. 2.3.3 мы говорили про корневой каталог, который в Linux обозначается как знак "/". Именно он является вершиной пирамиды в иерархии всех каталогов. Например, папки пользователя находятся в каталоге /home. Тогда /home/flenov будет определять путь к подкаталогу пользователя flenov. Чтобы попасть в эту директорию, нужно навести на нее курсор и нажать <Enter>.
В списке папок и файлов самой первой всегда стоит папка с именем /... Реально такого каталога не существует. Это указатель на родительскую директорию, с помощью которой вы можете попасть на уровень выше. Например, вы находитесь в подкаталоге /home/flenov. Если войти в папку /.., то вы поднимитесь на предыдущий уровень и окажетесь в директории /home.
Внизу окна МС (см. рис. 3.1) можно увидеть строку-приглашение для ввода команд. Эта та же строка, что мы видели в терминале, и позволяет выполнять те же директивы. Еще ниже расположена строка меню с подсказками о назначении клавиш <F1>—<F10>:
□ 1 (Помощь) — вызов файла помощи по программе;
□ 2 (Меню) — вызов меню основных команд МС;
□ 3 (Просмотр) — просмотр выделенного файла;
□ 4 (Правка) — редактирование выделенного файла во встроенном текстовом редакторе;
□ 5 (Копия) — копирование выделенного файла или папки. Если выделить файл и нажать клавишу <F5>, то появится окно подтверждения копирования. По умолчанию операция выполняется в текущую директорию противоположной панели программы МС;
□ 6 (Перемес) — переместить выделенные файлы или папки. По умолчанию файл будет перенесен в директорию, являющуюся текущей для противоположной панели программы МС;
□ 7 (НвКтлог) — создать новый каталог в текущем;
□ 8 (Удалить) — удалить выделенные файлы и папки;
□ 9 (МенюМС) — вызвать меню программы МС, которое находится вверху окна;
□ 10 (Выход) — выход из программы.
Файлы и папки, имена которых начинаются с точки, являются конфигурационными. Будьте осторожны при их перемещении и редактировании. Эти файлы нуждаются в максимальной защите, но об этом мы поговорим позже в разных разделах книги.
3.1.1. Основные команды
Давайте рассмотрим основные команды файловой системы, которые мы будем использовать в книге, и заодно подробнее познакомимся с файловой системой Linux.
Эта команда выводит на экран полный путь к текущему каталогу. С ее помощью вы можете в любой момент узнать, где находитесь.
Команда ls выводит список файлов и подкаталогов указанной директории. Если имя каталога (файла) отсутствует в параметрах команды, то отображается содержимое текущего каталога. По умолчанию все настроечные файлы (имена начинаются с точки) являются скрытыми. Чтобы их вывести, нужно указать ключ -а
:
ls -а
Если мы хотим увидеть не только имена (сжатый формат), но и полную информацию о каталоге, нужно добавить ключ -l
. В результате мы должны выполнить команду:
ls -al
Но такая команда отобразит файлы текущей директории, и не факт, что мы сейчас находимся, например, в каталоге /etc, который надо просмотреть. Чтобы увидеть именно его, после ключей (можно и до них) нужно указать требуемую папку:
ls -al /etc
Более подробную информацию о команде ls
можно получить из справочной системы. Для этого выполните команду man ls
.
Рассмотрим результат вывода команды ls -al
:
drwx------ 3 Flenov FlenovG 4096 Nov 26 16:10 .
drwxr-xr-x 5 root root 4096 Nov 26 16:21 ..
-rw-r--r-- 1 Flenov FlenovG 24 Nov 26 16:10 .bash_logout
-rw-r--r-- 1 Flenov FlenovG 191 Nov 26 16:10 .bash_profile
-rw-r--r-- 1 Flenov FlenovG 124 Nov 26 16:10 .bashrc
-rw-r--r-- 1 Flenov FlenovG 2247 Nov 26 16:10 .emacs
-rw-r--r-- 1 Flenov FlenovG 118 Nov 26 16:10 .gtkrc
drwxr-xr-x 4 Flenov FlenovG 4096 Nov 26 16:10 .kde
По умолчанию список файлов выводится в несколько колонок. Разберем их на примере первой строки:
□ drwx------
права доступа. Их мы подробно рассмотрим в гл. 4. Сейчас вам только нужно знать, что если первая буква "d
", то это директория;
□ цифра 3 — указывает количество жестких ссылок;
□ Flenov
— имя пользователя, являющегося владельцем файла;
□ FlenovG
— группа, которой принадлежит файл;
□ 4096
— размер файла. Для директории это значение отсутствует, т.к. не устанавливается ее размер;
□ дата и время последних изменений файла;
□ имя файла.
Команда позволяет вывести на экран содержимое указанного в качестве аргумента файла. Например, вы хотите просмотреть текстовый файл need.txt. Для этого нужно выполнить команду:
cat need.txt
Но это справедливо, если файл находится в текущей директории. А если нет? В этом случае можно указать полный путь:
cat /home/root/need.txt
Эта команда обратная для cat
(даже название команды — это слово cat наоборот), т.е. выводит на экран файл в обратном порядке, начиная с последней строки до первой.
Эта команда позволяет сменить текущий каталог. Для этого необходимо в качестве параметра задать нужную папку:
cd /home/flenov
Если вы находитесь в каталоге /home и хотите внутри него перейти в подкаталог flenov, то достаточно набрать только имя папки flenov:
cd flenov
Если нужно переместиться на уровень выше, например, из подкаталога /home/flenov в каталог /home, нужно выполнить команду:
cd ..
Как мы знаем, папка с именем из двух точек указывает на родительский каталог. Если перейти на нее, то мы попадем на предыдущий уровень.
Команда копирования файла. С ее помощью можно выполнять несколько различных действий: