- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF130:First step
Материал из Linuxformat.
- Первые шаги Серия «Linux для новичков»
Содержание |
CLI: Работа c командами
Не бойтесь командной строки: наш эксперт Энди Ченнел поможет побороть страх перед текстовым режимом и покажет вам всю его мощь.
Вероятно, в прошлом Linux более всего пугал необходимостью иногда работать тетатет с огромным пустым экраном, располагая лишь парой волшебных слов, способных помочь прояснить ситуацию. Для аллергиков на старомодную манеру общения с компьютером графический интерфейс пользователя (Graphical User Interface, GUI) стал даром божьим. Но и сейчас есть шансы оказаться наедине с интерфейсом командной строки (Command Line Interface, CLI), и уж лучше быть к этому готовым.
Просмотр файловой системы в графическом режиме покажет вам, что она организована как древовидная структура: то есть имеется корневая папка, а ниже уровнем располагаются другие, и в них, в свою очередь, также могут быть вложены папки или файлы. Простоты ради, откройте окно терминала – соответствующий пункт вы найдете в меню Приложения > Служебные [Applications > Accessories]; по умолчанию, эта команда выведет вас в вашу папку /home/имя_пользователя, и вы увидите приглашение командной строки, нечто вроде
user@host ~$
Оно содержит имя пользователя (user) и имя компьютера (host), а ~$ отмечает, что вы вошли в систему как обычный пользователь. Ваше точное местоположение в файловой системе покажет команда pwd.
Первым делом вам захочется просмотреть содержимое текущего каталога – для этого введите команду ls. Вы увидите список папок и файлов, обычно оформленный как таблица. Действие команды ls можно немного изменить, приписав к ней «аргумент», обозначаемый символом дефиса (-). Скажем, команда ls -l тоже отобразит содержимое каталога, но добавит в вывод справочные данные, включая сведения о размере файла и правах доступа к нему, а также имя его владельца. Часто файлы и папки отображаются поразному. Например, на экранном снимке в верхнем углу папки отображаются голубым цветом, а файлы – черным.
Порядок отображения содержимого каталога можно изменить – в Nautilus вы бы сделали это щелчком мыши по заголовку столбца. Например, команда ls -r отобразит содержимое папки, отсортированное в обратном алфавитном порядке. Аргументы можно комбинировать: так, команда ls -l -r (или даже ls -lr) выведет подробную информацию о ваших файлах, причем список будет отсортирован в обратном алфавитном порядке.
Гуляем по файловой системе
Просмотрев содержимое папки, можно переместиться в одну из вложенных в нее, посредством команды cd. Например, cd Documents переместит вас в вашу папку Documents, а ее содержимое опять-таки покажет команда ls. Подобным образом вы можете сновать по файловой системе, пока не выйдете на нужные файл или папку. Чтобы подняться в этой иерархии на уровень вверх, наберите cd ...
Желая переместиться в совершенно другое место файловой системы, укажите полный, он же – абсолютный, путь к нужной папке:
cd /home/andy/Documents
Теперь, научившись эффективной навигации по файловой системе, рассмотрим доступные средства для управления файлами. Сперва, однако, убедитесь, что вы находитесь в каталоге (то есть папке), в котором вы имеете права чтения и записи. Для начала создадим новую папку и скопируем туда один или несколько файлов. Чтобы создать пустой каталог, вложенный в текущий, достаточно ввести следующую команду:
mkdir folder1
Она создаст новую папку с именем folder1. Удаление каталогов производится примерно так же – наберите
rmdir folder1
Это должно сработать, но только если папка пуста; в противном случае вам сообщат, что операцию выполнить нельзя. Чтобы уничтожить папку со всем ее содержимым, скомандуйте
rm -r folder1
В ответ на команду удаления, системы с графическим интерфейсом выводят сообщения и создают прочие препоны для опрометчивых; а вот командная строка грохнет все, что ни укажи. Спокойнее, наверное, вставить добавочный аргумент:
rm -ir folder1
i означает ‘interactive’; с ним система потребует подтвердить удаление для каждого файла.
Время от времени бывает нужно перенести каталог с местана место. Тут понадобится строка чуть подлиннее – например, команда
cp -r folder1 folder2
создаст точную копию папки folder1 и присвоит ей имя folder2. Аргумент -r важен: он гарантирует, что папка скопируется вместе с содержимым. Ну, а если вы запустите эту команду, когда у вас уже имеется каталог с именем folder2, то папка folder1 скопируется внутрь него, сохранив исходное имя. Путь к ней будет /home/user/folder2/folder1/.
Для перемещения каталога используется команда mv, аналогичная cp. Так, команда
mv folder1 folder2
переименует папку folder1 в folder2 – это если папки folder2 у вас нет. В противном случае команда переместит папку folder1 вовнутрь folder2.
Заметьте, что и команда cp, и команда mv работают и с относительными, и с абсолютными путями, и можно скопировать папку из домашнего каталога одного пользователя в домашний каталог другого (при условии, что у вас есть права доступа к обоим) командой
cp /home/rita/secrets /home/bob/ritas_secrets
В строке указаны команда, а также исходная и целевая папки с абсолютными путями к ним.
Эти две команды точно так же работают и с файлами, надо просто приписать их имена к полным путям исходной и целевой папки:
cp /home/rita/secrets/diary.odt /home/bob/ritas_diary.odt
Данная команда скопирует исходный файл и переименует его. Если в папке, куда производится копирование, уже есть файл с именем ritas_diary.odt, он будет перезаписан без предупреждения. Чтобы избежать этого, употребляйте аргумент -i: тогда все перезаписи вы будете подтверждать вручную, лично.
Теперь перейдем к потенциально опасной команде rm. Она удаляет файлы; однако, в отличие от клавиши Delete графического режима, в текстовом нельзя будет восстановить файл, достав его из Корзины. Нажали клавишу Enter после ввода команды rm – и прости-прощай. Чтобы удалить файл, дайте следующую команду:
rm /home/bob/vitalfile.ods
Можно удалить и сразу несколько файлов:
rm /home/bob/vitalfile1.ods vitalfile2.txt vitalfile3.png
Если вы хотите увидеть все файлы, в том числе и скрытые, имена которых на чинаются с точки (.), пользуйтесь командой ‘ls -a’. Здесь опция ‘a’ означает ‘all’ – «все».
Резервные копии
Возможности для настройки в Linux весьма обширны, зато легко и угодить в беду, когда система будет работать лишь частично. Предположим, вы хотите вручную отредактировать файл xorg.conf (LXF129), который расположен в каталоге /etc/X11 и отвечает за управление работой мыши, клавиатуры и монитора.
Для начала следует создать резервную копию исходного файла xorg.conf, командой
cp /etc/X11/xorg.conf /etc/X11/xorgbak.conf
Затем приступайте к редактированию, будучи уверены, что в случае ошибки вы всегда сможете восстановить систему.
Итак, вы внесли в файл изменение, вышли из системы, перезагрузились, и… И ничего. Из-за какой-то неправильной запятой или точки рабочий стол отказал. Но не все потеряно: ведь у вас есть резервная копия и доступ к командной строке! В подобной ситуации первым делом надо войти в систему от имени супер пользователя-root.
Теперь поменяйте в предыдущей команде источник и цель местами – исходный вариант файла xorg.conf восстановится.
cp /etc/X11/xorgbak.conf /etc/X11/xorg.conf
Вы получите предупреждение насчет перезаписи файла – ну так подтвердите это. Затем перезагрузитесь, и ваши исходные настройки вернутся.
С непривычки командная строка вселяет страх, но предоставляет гибкость и мощь, способную сэкономить вам многие дни работы и гигабайты информации! Освоившись в ней, вы, возможно, захотите установить себе дружелюбную оболочку Fish – мы писали про нее в LXF123.
Просмотр файлов в терминале
Принято говорить, что в системе Linux всё рассматривается как файлы, и многие из них даже человеко-читаемы. Для просмотра содержимого любого файла служит команда cat. Например, команда cat /etc/X11/xorg.conf покажет текст из файла в терминале. Хорошо, а если текст файла не влезает в окно? Тогда можно воспользоваться командой less (точно так же, как и cat) и просматривать файл частями. Для перемещения по тексту пользуйтесь клавишами Page Up и Page Down, а для выхода из просмотрщика нажмите Q.
Группы: Рулим пользователями
- Отличный способ указать, кому и что делать на вашем компьютере.
Linux – многопользовательская операционная система, а значит, в ней можно отделить пространство для себя, своего коллеги или детей, не опасаясь, что кто-то пороется в ваших файлах или испортит ваши любовно созданные обои с умиротворяющим пейзажем. Как администратор вашей домашней (или офисной) системы, вы должны создать другим пользователям возможность комфортной работы, однако не давая им шансов угробить систему. На данном уроке мы рассмотрим создание пользователей и способы контролировать их доступ к компьютеру. Мы используем Ubuntu, но управление пользователями в других дистрибутивах будет очень похожим.
Скорее всего, средства управления пользователями найдутся в меню Система [System] или Администрирование [Administration]. В большинстве дистрибутивов это называется Пользователи и группы [Users and Groups]. Выбор данной опции запустит управляющее приложение, подобное показанному на рисунке.
По умолчанию, приложение заблокировано; кнопка Свойства [Properties] активируется, когда вы выберете свое имя пользователя. Итак, выберите его. Сейчас вы вошли в систему как обычный пользователь, и, перелистав вкладки, вы обнаружите, что доступны лишь немногие опции. Вам позволено только сменить свое «реальное имя» (не путайте его с именем пользователя, под которым вы входите в систему) и пароль, добавить кое-какую контактную информацию, и это все.
Для более масштабных изменений, щелкните мышью по значку с изображением ключа в нижней части окна. Система запросит у вас пароль пользователя root (или, если у вас Ubuntu, пароль команды sudo, см. LXF129). Введя пароль, снова щелкните по кнопке Свойства – вы увидите, что доступных опций стало гораздо больше. Ими мы займемся чуть позже, а пока нажмите кнопку Добавить пользователя [Add User].
Когда появится окно настройки, вы сможете ввести информацию о пользователе на вкладке Учетная запись [Account] – в том числе неизменяемое имя пользователя [username], «реальное имя» [real name] и пароль. Добавив новое имя пользователя, загляните на вкладку Дополнительно [Advanced] и убедитесь, что «в честь него» будет назван и каталог пользователя по умолчанию (он расположен в /home).
Проделайте эту процедуру для всех пользователей, которым вы хотите разрешить работать за вашим компьютером. Каждый пользователь получит личное пространство, и изменения, вносимые им в свои рабочий стол, приложения или настройки системы, ограничатся этим рабочим столом.
Все пользователи – включая и вас – могут менять картинки на своем экране входа; можно выбрать ее из системного списка, а можно назначить свою. Для этого перейдите в меню Система > Настройки > Обо мне [System > Preferences > About Me].
Создавая пользователей, вы можете назначить для них набор ограничений. Самый либеральный набор – Администратор [Administrator]: такие пользователи получат те же права, что и вы. Вариант Пользователь [Desktop user] запрещает устанавливать программы и менять что-то вне своего каталога /home. Для непривилегированных (‘Unprivileged’) пользователей вы можете создать во вкладке Привилегии [User Privileges] любой набор прав на свое усмотрение.
Польза от групп
Наличие в системе множества пользователей выгодно тем, что каждый из них получает свое пространство. А вот система объединения пользователей в группы [Groups] уже не столь интуитивна. Зато группы упрощают управление большим количеством пользователей: не нужно настраивать каждого отдельно. Так, группе Adults [Взрослые] можно дать доступ на чтение/запись к неким каталогам, а пользователей из группы Kids [Дети] туда не допускать. Подробнее об этом см. далее.
Шаг за шагом: Управляем пользователями и группами
- 1 Добавим пользователя
- Команда, создающая нового пользователя – useradd. Она требует привилегий root, поэтому перед ее вводом дайте команду su, или предварите ее префиксом sudo. Чтобы обустроить нового пользователя, введите
useradd имя_пользователя -d /home/alison -p PassWord1.
- Ключ -d создает домашний каталог, а ключ -p задает для пользователя пароль. По умолчанию, новый пользователь будет полностью непривилегированным.
- 2 Добавим контакты
- Многие системы Linux используют контактную информацию пользователей в приложениях наподобие Evolution, так что перейдите на вкладку Контактная информация [Contact Details] и заполните соответствующие поля. Это – одна из опций, доступных конечным пользователям, и вы можете отдать ее на откуп им самим.
- 3 Редактируем настройки
- На вкладке Привилегии можно ограничить доступ пользователей к устройствам, например, CD-приводу, принтеру или сканеру. Чтобы работать в ней, вы должны войти как root (или аутентифицироваться с помощью пароля sudo). Обычные пользователи не могут здесь ничего менять. Для выбора сервиса, выделите его щелчком мыши; повторный щелчок сбросит выделение.
- 4 Создадим группы
- В окне Настройки пользователя [User Settings] выберите опцию Управление группами [Manage Groups], а затем щелкните мышью по кнопке Добавить группу [Add Group]. Появится новое диалоговое окно, где можно дать новой группе имя (допускаются только строчные буквы), после чего можно будет указать членов группы, используя флажки слева от имен пользователей.
- 5 Удалим пользователя/группу
- Если вы насоздавали слишком много пользователей и групп, вы можете решить ликвидировать часть из них. Тогда снова выполните аутентификацию, щелкните по значку с изображением ключа, выберите имя лишнего пользователя и нажмите кнопку Delete. Учтите, что при удалении пользователя его домашняя папка не уничтожается. Все файлы в ней получат нового владельца – пользователя root, и для их удаления понадобится повышение уровня привилегий.
- 6 Пользователи в KDE
- В KDE все эти процедуры точно такие же, только интерфейс выглядит несколько иначе. Выберите в главном меню пункт Компьютер > Параметры системы [Computer > System Settings], затем Дополнительно [Advanced] и Управление пользователями [User Management]. Там присутствуют все опции, которые мы рассмотрели, включая функции для создания и удаления пользователей и групп. Нужно будет опятьтаки зарегистрироваться как root или дать команду sudo.