Чтение онлайн

ЖАНРЫ

Linux: Полное руководство

Аллен Питер В.

Шрифт:

Сменить текущий каталог можно командой

cd [новый_каталог]

Для смены текущего каталога на домашний каталог пользователя можно вместо имени нового каталога указать специальный символ

~
:
cd ~
.Разрешается переходить также в псевдоподкаталоги «.» и «..». В первом случае ничего не изменится, а во втором текущим каталогом станет родительский.

Просмотр содержимого каталога

Уже знакомая команда

ls [имя_каталога]
выводит его содержимое на экран. Если не указывать имя каталога, команда выведет содержание
текущего каталога.

Вместо имени каталога можно указать шаблон имен файлов: например,

ls my*
покажет все файлы и подкаталоги, имена которых начинаются с «my».

Подробнее об аргументах и ключах команды ls (как, впрочем, и любой другой команды) можно узнать у справочной системы, набрав команду

man ls
.

Создание и удаление файла

Создать пустой файл можно командой

touch <имя_файла>

Вообще-то она предназначена для того, чтобы для всех заинтересованных программ (например, утилиты сборки проекта make) файл выглядел новее, чем на самом деле: она меняет время последнего изменения файла на текущее время. Но если файла с таким именем не существует, то она его создаст.

Текстовые файлы можно создавать, вводя текст с консоли:

$ cat > hello.world

Привет!

Оказывается, команду cat можно заставить не только выводить файл на консоль, но и вводить с нее. Это достигается перенаправлением ввода-вывода, о котором подробнее будет сказано в главе 8. В таком режиме команда cat считает своими входными данными поток байтов, поступающий с клавиатуры, и выводит его в указанный файл. Иными словами, в файл записывается все, что вы после этой команды введете с клавиатуры. Чтобы закончить ввод, нажмите Ctrl+D.

Если файл с указанным именем существует, то команда

cat
перепишет его. Чтобы вместо этого добавить данные в конец файла, перенаправьте ее вывод с помощью символов
>>
:

$ cat >> hello.world

Каталог создается командой

mkdir <имя_каталога>

Чтобы операция создания файла или подкаталога прошла успешно, вы должны иметь право записи в каталог, в котором вы его создаете.

Удалить пустой каталог можно командой

rmdir <имя_каталога>

Удаляется файл командой

rm <имя_файла>

При этом наличие прав на запись и даже чтение этого файла не требуется: достаточно иметь право на запись в каталог, где находится этот файл. Ключи команды rm:

♦ – i: требует подтверждения удаления для каждого удаляемого файла. Если вы заказали удаление группы файлов (например, по шаблону имени

rm chernovik*
), то среди них может оказаться файл, который вам еще нужен: безопаснее применить ключ -i. Подтвердите удаление каждого файла или откажитесь от него, введя символ Y или N соответственно;

♦ – f: не запрашивать подтверждения, не выводить сообщений об ошибках. Если указаны оба ключа – i и – f, то срабатывает последний указанный;

♦ – r: рекурсивное удаление каталога со всеми его подкаталогами. Непустой каталог можно удалить только так.

Копирование
и перемещение файла

Файл копируется командой cp. Формат этой команды:

cp [ключи] <исходный_файл> {<файл_назначения> | <каталог_назначения>}

Полезные ключи команды cp:

♦ – i: требовать подтверждения перед перезаписью существующего файла;

♦ – f: не требовать подтверждения;

♦ – r: рекурсивно копировать каталог со всеми подкаталогами;

♦ – а: сохранять атрибуты файла;

♦ – d: копировать символические ссылки вместо файлов, на которые они указывают;

♦ – s: создавать символические ссылки вместо копирования (-l — жесткие);

♦ – u: не переписывать существующий файл, если он модифицирован позже;

♦ – х: игнорировать подкаталоги, расположенные в других файловых системах.

Кстати, команда cat с перенаправленным выводом тоже может скопировать файл:

$ cat hello.world > copy.of.hello.world

Команда mv перемещает или переименовывает файлы. Формат команды:

mv [ключи] <исходный_файл> {<файл_назначения> | <каталог_назначения>}

Ключи -i, -f имеют тот же смысл, что для команд cp и rm.

Просмотр текстовых файлов

Перед тем, как просматривать файл, неплохо было бы убедиться, что он действительно является текстовым, то есть содержит только печатные ASCII-символы. Для проверки типа файла служит команда

file <имя_файла>

Если ее ответ содержит слово «text», то файл можно безопасно вывести на терминал. Вывод двоичного файла может сбить кодировку так, что вместо набираемых на клавиатуре символов вы увидите черт знает что. Если это все же случилось, введите вслепую команду

$ tput reset

(или, если вы работаете в графическом режиме в окне виртуального терминала, выберите в его меню команду Терминал|Сброс и очистка для среды GNOME или Edit|Reset & Clear Terminal для среды KDE).

Кроме уже упомянутой команды cat, для вывода файла на терминал служат команда

more <имя_файла>

и ее улучшенный вариант less.

Команда-фильтр more разбивает поток своего вывода на порции размером в экран и ожидает ввода пользователя для отображения следующей порции. Чтобы увидеть следующую строку, нажмите <Ввод>; чтобы увидеть следующий экран, нажмите <пробел>; чтобы прервать работу команды, нажмите <Q> или Ctrl+C.

Утилита less позволяет листать выводимый файл не только вперед, но и назад (клавишами PgDn и PgUp), перемещаться к указанному месту в файле, искать по образцу и дает еще много полезных возможностей. В общем, man less.

Если интересующая вас информация находится в конце файла (например, вы хотите просмотреть журнал системных сообщений

messages
в каталоге
/var/log
, чтобы узнать, что именно только что пошло наперекосяк), то вам поможет команда

tail [-N] [имя_файла]

Поделиться с друзьями: