<Предыдущая | Содержание: | Следующая>
Вскоре мы обсудим пару инструментов командной строки для просмотра обычные текстовые файлы. Эти инструменты не будут работать при использовании с файлами неправильного типа. В худшем случае они выведут из строя ваш терминал и/или издадут много звуковых сигналов. Если это произойдет с вами, просто закройте сеанс терминала и начните новый. Но постарайтесь избегать этого, потому что обычно это очень беспокоит других людей.
3.3.2. Создание и удаление файлов и каталогов
3.3.2.1. Делать беспорядок...
... Это не сложно сделать. Сегодня почти каждая система подключена к сети, поэтому файлы естественным образом копируются с одной машины на другую. И особенно при работе в графической среде, создание новых файлов проще простого и часто осуществляется без одобрения пользователя. Чтобы проиллюстрировать проблему, вот полное содержимое каталога нового пользователя, созданного в стандартной системе RedHat:
[newuser@blob пользователь]$ ls-al
Всего 32
drwx ------ 3 пользователя user 4096 16 января 13:32 .
drwxr-xr-x 6 root root 4096 16 января 13:32 ..
-rw-r - r-- | 1 | пользователь | пользователь | 24 | Января | 16 | 13:32 | .bash_logout |
-rw-r - r-- | 1 | пользователь | пользователь | 191 | Января | 16 | 13:32 | .bash_profile |
-rw-r - r-- | 1 | пользователь | пользователь | 124 | Января | 16 | 13:32 | .bashrc |
drwxr-хт-х | 3 | пользователь | пользователь | 4096 | Января | 16 | 13:32 | .kde |
-rw-r - r-- | 1 | пользователь | пользователь | 3511 | Января | 16 | 13:32 | .screenrc |
-рв------- | 1 | пользователь | пользователь | 61 | Января | 16 | 13:32 | .xauthDqztLr |
На первый взгляд, содержимое «использованного» домашнего каталога тоже выглядит не так уж и плохо:
mp3/
OpenOffice.org638/
mp3/
Наутилус/staroffice6.0/nqc/
Desktoptest/ Machines@ ns_imap/ Documents/
Эмакс@
Наутилус/staroffice6.0/nqc/
Desktoptest/ Machines@ ns_imap/ Documents/
Эмакс@
старый пользователь:~> ls
app-defaults/crossover/articles/
бин/брол/С/
закрыто/
старый пользователь:~> ls
app-defaults/crossover/articles/
бин/брол/С/
закрыто/
Рабочий стол/
Рабочий стол1/
Рабочий стол/
Рабочий стол1/
Fvwm@ GNUstep/
изображения /
Fvwm@ GNUstep/
изображения /
почта/
Почта/
почта/
Почта/
нсмаил/
нсмаил/
обучение/
вебстарт/xml/
обучение/
вебстарт/xml/
office52/ Xrootenv.0
office52/ Xrootenv.0
Но если включить все каталоги и файлы, начинающиеся с точки, в этом каталоге окажется 185 элементов. Это связано с тем, что большинство приложений имеют свои собственные каталоги и/или файлы, содержащие пользовательские настройки, в домашнем каталоге этого пользователя. Обычно эти файлы создаются при первом запуске приложения. В некоторых случаях вы будете уведомлены о необходимости создания несуществующего каталога, но в большинстве случаев все делается автоматически.
Более того, новые файлы создаются, по-видимому, постоянно, потому что пользователи хотят сохранять файлы, сохранять разные версии своей работы, использовать интернет-приложения и загружать файлы и вложения на свой локальный компьютер. Это не останавливается. Понятно, что обязательно нужна схема, чтобы иметь представление о вещах.
В следующем разделе мы обсудим наши средства поддержания порядка. Мы обсуждаем только текстовые инструменты, доступные в оболочке, поскольку графические инструменты очень интуитивно понятны и имеют тот же внешний вид, что и хорошо известные инструменты.
файловые менеджеры типа «укажи и щелкни» в стиле MS Windows, включая функции графической справки и другие функции, которые вы ожидаете от приложений такого типа. Следующий список представляет собой обзор самых популярных файловых менеджеров для GNU/Linux. Большинство файловых менеджеров можно запустить из меню менеджера рабочего стола, щелкнув значок домашнего каталога или из командной строки, выполнив следующие команды:
• кораблик: файловый менеджер по умолчанию в Gnome, рабочий стол GNU. Прекрасную документацию по работе с этим инструментом можно найти на http://www.gnome.org.
• Konqueror: файловый менеджер, обычно используемый на рабочем столе KDE. Справочник находится по адресу http://docs.kde.org.
• mc: Midnight Commander, файловый менеджер Unix наподобие Norton Commander. Вся документация доступна на http://gnu.org/directory/ или на зеркале, например http://www.ibiblio.org.
Эти приложения, безусловно, стоит попробовать и обычно впечатляют новичков в Linux хотя бы потому, что здесь такое большое разнообразие: это только самые популярные инструменты для управления каталогами и файлами, в разработке находится множество других проектов. Теперь давайте узнаем о внутреннем устройстве и посмотрим, как эти графические инструменты используют общие команды UNIX.
3.3.2.2. Инструменты
3.3.2.2.1. Создание каталогов
Способ сохранить все на месте — предоставить определенным файлам определенные местоположения по умолчанию, создав каталоги и подкаталоги (или папки и подпапки, если хотите). Это делается с помощью MkDir команда:
Ричард:~> архив mkdir
Ричард:~> ls -ld архив
drwxrwxrwx 2 Ричард Ричард
4096 13 янв 14:09 архив/
Ричард:~> архив mkdir
Ричард:~> ls -ld архив
drwxrwxrwx 2 Ричард Ричард
Создание каталогов и подкаталогов за один шаг осуществляется с помощью -p опции:
Ричард:~> компакт-диск архив
Ричард:~/архив> мкдир 1999 2000 2001
Ричард:~> компакт-диск архив
Ричард:~/архив> мкдир 1999 2000 2001
Ричард:~/архив> ls
1999/2000/2001 /
Ричард:~/архив> mkdir 2001/отчеты/Рестораны-Мишлен/
mkdir: невозможно создать каталог `2001/reports/Restaurants-Michelin/':
Данный файл или каталог отсутствует
Ричард:~/архив> mkdir -p 2001/отчеты/Рестораны-Мишлен/
Ричард:~/архив> лс 2001/отчеты/
Рестораны-Мишлен/
Ричард:~/архив> ls
1999/2000/2001 /
Ричард:~/архив> mkdir 2001/отчеты/Рестораны-Мишлен/
mkdir: невозможно создать каталог `2001/reports/Restaurants-Michelin/':
Данный файл или каталог отсутствует
Ричард:~/архив> mkdir -p 2001/отчеты/Рестораны-Мишлен/
Ричард:~/архив> лс 2001/отчеты/
Рестораны-Мишлен/
Если новому файлу требуются другие разрешения, отличные от разрешений на создание файла по умолчанию, новые права доступа можно установить одним движением, по-прежнему используя MkDir команду, дополнительную информацию смотрите на страницах информации. Мы собираемся обсудить режимы доступа в следующем разделе, посвященном безопасности файлов.
Имя каталога должно соответствовать тем же правилам, что и обычные имена файлов. Одним из наиболее важных ограничений является то, что вы не можете иметь два файла с одинаковым именем в одном каталоге (но имейте в виду, что Linux, как и UNIX, является операционной системой, чувствительной к регистру). Ограничений на длину имени файла практически нет, но обычно оно не превышает 80 символов, поэтому его можно уместить в одной строке терминала. В имени файла вы можете использовать любой символ, однако рекомендуется исключать символы, имеющие особое значение для оболочки. В случае сомнений сверьтесь с Приложением C.
3.3.2.2.2. Перемещение файлов
Теперь, когда мы правильно структурировали наш домашний каталог, пришло время очистить несекретные файлы с помощью команды mv
команда:
Ричард:~/архив> mv ../отчет[1-4].doc отчеты/Рестораны-Мишлен/
Эта команда также применима при переименовании файлов:
Ричард:~> ls To_Do
-rw-rw-r-- 1 Ричард Ричард
2534 янв 15 12:39 Дела_До
Ричард:~> ls To_Do
-rw-rw-r-- 1 Ричард Ричард
Ричард:~> mv To_Do выполнено
Ричард:~> лс - я готово
-rw-rw-r-- 1 Ричард Ричард
2534 15 янв 12:39 сделано
Ричард:~> mv To_Do выполнено
Ричард:~> лс - я готово
-rw-rw-r-- 1 Ричард Ричард
Понятно, что меняется только имя файла. Все остальные свойства остаются прежними.
Подробная информация о синтаксисе и особенностях mv Команду можно найти на страницах man или Info. Использование этой документации всегда должно быть вашим первым рефлексом при столкновении с проблемой. Ответ на вашу проблему скорее всего находится в документации системы. Даже опытные пользователи читают man-страницы каждый день, поэтому начинающим пользователям следует читать их постоянно. Через некоторое время вы познакомитесь с наиболее распространенными параметрами общих команд, но документация вам все равно понадобится как основной источник информации. Обратите внимание, что информация, содержащаяся в HOWTO, часто задаваемых вопросах, страницах руководства и других источниках, постепенно объединяется со страницами Info, которые на сегодняшний день являются наиболее актуальным источником онлайновой (поскольку она легко доступна в системе) документации.
3.3.2.2.3. Копирование файлов
Копирование файлов и каталогов осуществляется с помощью cp команда. Полезной опцией является рекурсивное копирование (копирование всех базовых файлов и подкаталогов) с использованием -R вариант cp. Общий синтаксис
КП [-R] из файла в файл
В качестве примера случай пользователя новый парень, которому нужен тот же пользователь настроек рабочего стола Gnome oldguy имеет. Одним из способов решения проблемы является копирование настроек oldguy в домашний каталог новый парень:
Виктор:~> cp -R ../oldguy/.gnome/ . Это дает некоторые ошибки, связанные с правами доступа к файлам, но все ошибки связаны с личными файлами, которые новый парень все равно не нужно. В следующей части мы обсудим, как изменить эти разрешения, если они действительно нужны.
проблема.
3.3.2.2.4. Удаление файлов
Использовать rm команда для удаления отдельных файлов, RmDir удалить пустые каталоги. (Использовать ls -a чтобы проверить, пуст ли каталог или нет). rm Команда также имеет параметры для удаления непустых каталогов со всеми их подкаталогами, ознакомьтесь с этими довольно опасными опциями на информационных страницах.
Насколько пустым может быть каталог?
Это нормально, что каталоги . (точка) и .. (точка-точка) удалить нельзя, так как они также необходимы в пустом каталоге для определения ранга каталогов в иерархии файловой системы.
В Linux, как и в UNIX, нет мусорной корзины — по крайней мере, для оболочки, хотя решений для графического использования предостаточно. Таким образом, после удаления файл действительно исчезает, и, как правило, его невозможно вернуть, если у вас нет резервных копий или вы очень быстры и у вас нет действительно хорошего системного администратора. Чтобы защитить начинающего пользователя от этого злого умысла, интерактивное поведение rm, cp и mv команды можно активировать с помощью -i вариант. В этом случае система не будет немедленно действовать по запросу. Вместо этого он запросит подтверждение, поэтому потребуется дополнительный щелчок по Enter ключ к нанесению урона:
Мэри:~> rm -ri архив/
rm: спуститься в каталог `archive'? y
rm: спуститься в каталог `archive/reports'? y
rm: удалить каталог `archive/reports'? y
rm: спуститься в каталог `archive/backup'? y rm: удалить `archive/backup/sysbup200112.tar'? y rm: удалить каталог `archive/backup'? y
rm: удалить каталог `архив'? y
Мэри:~> rm -ri архив/
rm: спуститься в каталог `archive'? y
rm: спуститься в каталог `archive/reports'? y
rm: удалить каталог `archive/reports'? y
rm: спуститься в каталог `archive/backup'? y rm: удалить `archive/backup/sysbup200112.tar'? y rm: удалить каталог `archive/backup'? y