Читаем Linux: Полное руководство полностью

Предварительно замечу, что командой в ОС Linux называется все, что может быть выполнено: исполняемый файл, встроенная команда текущей программы и даже формируемая на ходу последовательность символов. Синтаксис обычной команды:

имя_команды [короткие_ключи] [длинные_ключи] [аргументы]

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

Имена коротких ключей, или опций, состоят из одной буквы, перед которой стоит символ «-» (дефис). У ключа может быть свой аргумент. Короткие ключи, у которых нет аргументов, можно соединять под одним дефисом: так, команда ls -l -a -d эквивалентна команде ls -lad.

Имена длинных ключей — это осмысленные слова, перед которыми стоят два символа «-» (дефис). Большинство команд понимают ключи --help и --usage, требующие вывести краткую справку об использовании команды. Необязательный ключ «--» сигнализирует об окончании списка ключей и начале аргументов.

Справку о ключах и аргументах команды можно получить по команде man.

Текущий каталог

Текущий каталог — это каталог, от которого отсчитываются относительные пути. В каждый момент времени с каждой работающей программой, в том числе с командной оболочкой, связан единственный такой каталог. Узнать, какой каталог сейчас является текущим, можно с помощью команды pwd без аргументов.

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

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: рекурсивно копировать каталог со всеми подкаталогами;

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

Перейти на страницу:

Все книги серии Полное руководство

Похожие книги