Команды с когтями

Несложные команды, которые вы изучали до сих пор, были абсолютно безопасными, так как просто выводили информацию на Терминал. Теперь мы постараемся получить ощутимые результаты от использования команд. Они также будут безопасными, если вы будете следовать моим инструкциям.

$ mkdir

Вы знаете уже как создавать папки с помощью меню и мышки, но вы можете сделать это и с помощью командной строки. Команда называется mkdir (создать директорию), и она работает просто, как компостер (хотя я никогда не знал, как работает компостер).

Чтобы посмотреть, как работает команда, и как с ней надо работать, используем ее для создания папки command_exp (для экспериментов с командой). Все что вам нужно, это набрать mkdir command_exp и нажать ENTER. Новая папка появиться в вашей домашней папке Home, зайдите и проверьте, кликнув на Рабочем столе по иконке user's Home (О себе).

OK, отлично, браво! Давайте создадим еще одну в новой папке — подпапку если хотите. Назовем ее sub. Наберите mkdir command_exp/sub и нажмите ENTER. Теперь вы можете проверить, действительно ли появилась подпапка в паке command_exp. Если хотите.

$ mv

Следующая команда — mv (переместить), но перед тем, как экспериментировать с ней, создадим специальный файл — нам же нужно что-нибудь для перемещения. Зайдем в Главное меню и выберем Accessories > Text Editor (Аксессуары>Текстовой редактор). Откроется окно программы, называемой Gedit. Все что нам нужно от нее, это щелкнуть по кнопке Save (Сохранить), вам не нужно ничего писать в самом документе. Появится окно Save As (Сохранить как…), и в ячейке внизу окна (под словами Selection: /home/username), наберите название expfile и нажмите ОК. Новый файл с названием expfile появится в домашней директории Home.

Для того, чтобы переместить только что созданный файл, используйте команду mv, конечно. Просто наберите mv expfile command_exp/sub (чтобы объяснить команде, какой файл и куда надо переместить), и нажмите ENTER. Этот файл теперь будет в папке sub.

$ cd

До сих пор мы работали с командной строкой из домашней папки Home. Теперь, с помощью команды cd мы сменим расположение Терминала на другую папку. Это очень удобная команда, которую вы будете часто использовать во время выполнения других упражнений в этой книге. Чтобы ее испробовать, давайте войдем в папку command_exp набрав cd command_exp и нажав ENTER. Если вы сделали все корректно, то должны прочесть в Терминале

[username@localhost command_exp]. Если это действительно так, то можете быть собой довольны.

Будучи здесь, вы можете попробовать команду ls с флагом -R, чтобы посмотреть, как она работает. Просто наберите Is -R и нажмите ENTER. Ваш Терминал покажет, что у вас есть подпапка sub и внутри нее файл expfile. Это все, что вы пока можете здесь сделать, поэтому вернемся в домашнюю директорию Home, набрав cd и нажав ENTER, чтобы вернуться восвояси, так сказать.

$ ср

Будучи непостоянным, как все люди, вы решите, что файла expfile только в папке sub мало, и захотите его скопировать в домашнюю директорию Home, где он поначалу и располагался. Для этого вы можете использовать команду cp (копировать).

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

ср command_exp/sub/expfile /home/username

Убедитесь, что вы оставили пробел между названием файла и местом, куда надо его копировать (в нашем случае — это пробел между expfile и /home/username).

После этого у вас появится две копии expfile, одна — в домашней папке Home, другая — в папке sub. Загляните, чтобы увидеть плоды ваших усилий.

$ гт

Когда вы были маленькими, то возводили замки из кубиков, а когда стали постарше, то разрушали их (возможно, с игрушками на батарейках). Сейчас мы предпримем нечто подобное. Главный инструмент для ностальгических игр — команда гт (удалить), с помощью которой мы можем переместить файл в корзину навсегда.

Простую и полезную команду rm надо использовать осторожно. Однажды удалив с ее помощью файл, вы никогда не сможете восстановить его. Для безопасности, давайте удалим новую копию файла expfile, которую мы только что сделали в папке Home. Структура команды такова: собственно гт, затем название файла, который надо удалить. В нашем случае, это expfile в домашней папке. Предположим, что ваш Командный Терминал находится в Home, поэтому для удаления файла просто наберем rm expfile и, как всегда, нажмем клавишу ENTER. Файл будет удален, и удален навсегда.

Теперь, к двойному вашему удовольствию, избавимся от версии expfile, расположенной в подпапке sub. В этом случае, вы должны указать, где находится файл, так как ваш Терминал в другой папке. Наберите

rm command_exp/sub/ expfile и нажмите ENTER. Отлично. Удалили, не так ли?

$ rmdir

Теперь продолжим игру с командой rmdir (удаление директории), которая является более мощной версией команды rm. Ее также надо использовать с осторожностью. У нее также нет откатов. Однажды удалив с помощью rmdir директорию или папку, вы удалите их навсегда.

Чтобы испытать команду, давайте избавимся от папки sub. Наберите rmdir command_exp/sub и нажмите кнопку ENTER. Теперь эта папка будет удалена. Теперь, чтобы довести игру до конца, удалим и созданную ранее папку com-mand_exp. Возможно, вы уже сделали это, в противном случае наберите rmdir command_exp и затем нажмите ENTER.

$ chmod

В Главе 3 мы рассматривали, как изменить доступ к файлу через менеджер Nautilus. Это наиболее простой способ изменения полномочий на объект, но когда ваша папка переполнена файлами, возможно скопированными с CD и украшенными запрещающими символами, то будет слишком утомительно поочередно изменять доступ к каждому файлу. В этом случае командная строка окажется предпочтительней.

Команда, изменяющая доступ к файлу, — chmod (смена режима). Для ее использования, наберите саму команду перед полномочиями, которые вы хотите придать файлу, а затем укажите месторасположение самого файла. Например, вы скопировали JPEG файл mybirthday.jpg с CD в персональную подпапку папки Photos на жестком диске, и он защищен от записи. Для того, чтобы изменить разрешение на запись (что означает возможность его редактирования), вам надо набрать следующее и нажать ENTER:

chmod 744 photos/personal/mybirthday.jpg

Чтобы изменить доступ ко всем файлам и подпапкам (и всем файлам в подпапках) за один прогон, вы должны добавить флаг -R (рекурсивный) к команде chmod. Она будет выглядеть следующим образом:

chmod -R 744 photos/personal

Число 744, между прочим, разрешает вам, владельцу файла, читать, записывать и выполнять его, но всем другим предоставляет возможность только чтения — довольно безопасный выбор, когда есть сомнения. Если вы хотите вычислить число доступа для себя, то это довольно просто. Мы обычно имеем дело с тремя позициями, каждая из которых имеет восемь числовых значений (0-7). Левая область представляет разрешение для вас, владельца, центральная — для групп пользователей, и последняя — для всех остальных.

Числовые значения разрешений следующие:

7 = Разрешение на чтение, запись, выполнение.

6 = Разрешение на чтение, запись.

5 = Разрешение на чтение, выполнение.

4 = Разрешение только на чтение.

3 = Разрешение на запись и выполнение.

2 = Разрешение только на запись.

1 = Разрешение только на выполнение.

0 = Нет разрешения

На Рис. 9-6 показано значение каждого из этих чисел и что каждая область представляет — разрешения не усложнили ситуацию.

linux

Рис. 9-6: Числовые значения разрешений

Еще материалы по теме: