2.1.4. Команды работы с файлами и каталогами
Предварительно замечу, что командой в ОС 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 соответственно;
Читать дальше
Конец ознакомительного отрывка
Купить книгу