Вадим Неворотин - Руководство по переходу на Ubuntu 10.04 LTS «Lucid Lynx»
Рис. 14.4: Текущий каталог в терминале.
Текущий каталог — это то, что между символами: и $. Кстати, обратите внимание, перед: стоит имя пользователя и имя компьютера, разделённые символом @. Но когда вы запускаете терминал, то между: и $ стоит символ ˜:
Рис. 14.5: Обозначение домашнего каталога в путях.
Я говорил, что при запуске терминала текущим каталогом становится домашняя папка пользователя, так вот, символ ˜ — это синоним адреса домашней папки текущего пользователя[51]. Кстати, если вы ещё не знаете, полный адрес домашнего каталога выглядит как /home/логин_пользователя. У меня это /home/malamut.
Хорошо, как выяснить текущее местоположение, вроде разобрались, а как же его сменить? Для этого предназначена команда cd, выполните, например, команду
cd Музыка
Видите, текущее местоположение изменилось:
Рис. 14.6: Новое местоположение после выполнения команды cd.
На всякий случай напоминаю, что имена файлов и каталогов в Linux чувствительны к регистру символов, то есть Музыка и музыка — эта два совершенно разных имени.
После команды cd можно указывать как полные пути относительно корня, так и относительные, отсчитывающиеся от текущего каталога. В примере выше я использовал относительный путь. А вот полный:
cd /etc/apt
Хочу сразу обратить внимание на несколько важных особенностей. Во-первых, при наборе путей также работает автодополнение по Tab, это очень удобно. Во-вторых, использовать различные небуквенные символы и пробелы напрямую при наборе путей нельзя. Например, для того, чтобы перейти в каталог, содержащий в имени символ пробела, надо при наборе пути к такому каталогу перед пробелом поставить символ обратного слеша . Вот так:
cd Каталог с плохими символами в имени<>
Установка обратного слеша перед некоторыми символами называется экранированием. Кстати, при использовании автодополнения все слеши расставляются автоматически. Кроме того, можно просто заключить путь в двойные кавычки:
cd "Каталог с плохими символами в имени<>"
Но в этом случае автодополнение работать не будет. Заменитель адреса домашнего каталога ˜ можно использовать и при наборе путей, например:
cd ˜/Музыка
А для перемещения непосредственно в домашний каталог достаточно просто набрать cd без аргументов. Для перемещения на каталог выше можно использовать команду
cd ..
Вообще, две точки обозначают всегда родительский каталог, поэтому можно делать так:
cd ../..
Рис. 14.7: Пример применения команды cd.
В принципе, всё можно как угодно комбинировать, в разумных пределах, конечно. Ну и напоследок про cd. Переместиться в предыдущий посещённый каталог можно командой
cd -
В качестве наглядного примера использования cd небольшое путешествие по моему компьютеру (Рис. 14.7).
Как перемещаться по каталогам в первом приближении вроде разобрались, теперь же я расскажу про некоторые другие полезные операции. Посмотреть содержимое текущего каталога можно командой ls:
Рис. 14.8: Вывод содержимого текущего каталога.
Обычно командам можно передавать различные модификаторы, например можно изменить способ вывода информации командой ls. Кстати, команда ls -l показывает различную дополнительную информацию о содержимом каталога:
Рис. 14.9: Расширенный вывод содержимого текущего каталога.
Очень часто параметрами команд являются имена файлов или папок, именно для этого я так подробно рассказывал о способе перемещения по каталогам и использования различных имён файлов в качестве аргументов. Например, команда cat показывает содержимое текстового файла, и если вы хотите посмотреть содержимое файла test.txt, лежащего в вашем домашнем каталоге, то вы могли бы выполнить команду
cat ˜/text.txt
14.3 Получение справки
Начинающих пользователей Linux очень часто любят пугать так называемыми манами. Дело в том, что man — это система справки о командах для терминала. Пользоваться ей очень легко, просто наберите в терминале
man команда
Например:
man ls
Появится собственно текст справки[52], разбитый на разделы. Перемещаться по нему можно с помощью стрелок и клавиш PgUp и PgDown, а для выхода просто нажмите Q.
Кроме man-страниц у многих утилит[53] есть встроенная справка, которую обычно можно посмотреть, запустив программу с ключом --help:
утилита --help
Например:
ls --help
Есть и другие способы получения помощи, например похожая на man утилита info. Но чаще всего наиболее полную информацию о программе можно получить именно из man-страниц, а краткую справку — указав ключ --help при вызове[54].
14.4 Разные полезности терминала
На всякий случай немного коснусь ещё одной темы. Бывает так, что вы что-то запустили в терминале и хотите прервать работу этого чего-то. Обычно это сделать очень просто, достаточно нажать на клавиатуре сочетание клавиш Ctrl-C[55].
Есть и другие управляющие сочетания, например Ctrl-D посылает сигнал конца файла запущенному приложению, а без запущенных утилит делает тоже, что и терминальная команда exit. Ну а если вы хотите более подробно управлять работающими программами, то посмотрите на системный монитор htop, который, правда, нужно доустанавливать отдельно.
14.5 История введённых команд
Напоследок хочу лишь сказать, что терминал хранит историю введённых пользователем команд, которую вы можете листать в реальном режиме стрелками вверх и вниз на клавиатуре. Это очень удобно для повторного исполнения введённых ранее команд. А посмотреть всю историю можно командой
history
У каждой команды в истории есть номер, выполнить снова команду с определённым номером можно набрав в терминале восклицательный знак и номер нужной команды:
Рис. 14.10: Работа с историей команд.
А повторить предыдущую набранную команду можно просто написав два восклицательных знака !!.
Мне кажется, что с непривычки уже всё описанное может показаться дремучим лесом, а на самом деле это только самая верхушка айсберга, существуют ещё тысячи полезных команд и интересных приёмов работы в терминале. С помощью терминала можно редактировать файлы, слушать музыку, смотреть видео и выполнять ещё массу повседневных операций, но описание всего этого выходит далеко за рамки данного руководства.
На этом я пожалуй закончу краткое введение в богатейший мир консольных команд Linux и продолжу рассказывать про оставшиеся основные особенности этой многогранной операционной системы.
Глава 15
Пользователи, группы и права доступа
Теперь немного поговорим о разграничении прав доступа к различным элементам. Описанный в этой главе механизм является основополагающим в Linux и соответственно в Ubuntu, так что читайте внимательно.
15.1 Пользователи и группы
Linux в целом и Ubuntu в частности — системы многопользовательские, т. е. на одном компьютере может быть несколько различных пользователей, каждый со своими собственными настройками, данными и правами доступа к различным системным функциям.
Кроме пользователей в Linux для разграничения прав существуют группы. Каждая группа так же, как и отдельный пользователь, обладает неким набором прав доступа к различным компонентам системы и каждый пользователь-член этой группы автоматически получает все права группы. То есть группы нужны для группировки пользователей по принципу одинаковых полномочий на какие-либо действия, вот такая тавтология. Каждый пользователь может состоять в неограниченном количестве групп и в каждой группе может быть сколько угодно пользователей[56].