А теперь попробуйте набрать только apt и нажать Tab. Ничего не происходит? А теперь нажмите Tab два раза подряд. Видите, терминал выдал вам список всех команд, начинающихся с apt.
Рис. 14.3: Список команд, начинающихся с apt.
Удобно, не правда ли? Особенно если привыкнуть.
Автодополнение в терминале работает практически везде, и не только для команд, но также для их аргументов и имён файлов. Поэкспериментируйте с ним, оно значительно сокращает время набора, да и вообще, терминал без автодополнения — это не терминал.
14.2 Работа с файлами
Начну рассказ наверно с того, что в любой момент времени работы в терминале вы находитесь в некотором каталоге. При запуске терминала текущей директорией является домашний каталог пользователя, но потом вы конечно можете её поменять.
Узнать, в какой же папке вы сейчас находитесь, очень просто, достаточно посмотреть на приглашение терминала, то есть на те символы, которые печатаются автоматически в начале каждой строки:
Рис. 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).