Секреты Терминала. Часть 5: Создание объектов

Секреты Терминала. Часть 5: Создание объектов Cтатьи

Пришла пора продолжить наш цикл о командной строке Mac OS X. Сегодняшний урок будет посвящён двум важным командам — mkdir и touch, одна из которых создаёт папки, а другая — файлы (и не только). Предвосхищаем самый главный вопрос, который у вас может возникнуть: казалось бы, пользоваться Терминалом для такой элементарной операции, как создание папок — только создавать себе дополнительные сложности. Но если вам понадобится создать пять папок, в каждой из которых будет ещё по пять папок, да ещё и задать им соответствующие права доступа, тогда вы оцените преимущества командной строки по достоинству. Другой вопрос, а понадобится ли вам такая занятная операция, как создание иерархии папок 🙂 Но случаи в практике работы с компьютером бывают самые разные.

Как мы уже упомянули во вступлении, созданием папок ведает команда mkdir.

mkdir

mkdir (make directory) — одна из самых простых команд Терминала: она имеет только три параметра. Соответственно, и синтаксис сложностью не отличается:

mkdir -(параметры) (имя создаваемой папки)

Если вы введёте в Терминале

mkdir papka

То папка с именем papka будет создана в текущей папке. Запомните — у команды mkdir вовсе не один аргумент. Одной командой вы можете создать хоть сто папок, введя их названия через пробел.

В качестве аргумента команды mkdir может выступать любой путь. Например, чтобы создать папку в корне диска, вводите:

mkdir /papka

Обратите внимание — путь к папке должен быть реальным, т.е. всё то, что значится до имени будущей папки, действительно должно существовать, иначе команда выдаст ошибку. Но можно этого избежать, используя параметр -p.

Например, если вы вводите команду:

mkdir /papka/podpapka/podpodpapka

а в корне диска нет папки с именем papka, то ничего не получится:

Секреты Терминала. Часть 5: Создание объектов Cтатьи

Совсем другое дело, если вводится команда:

mkdir -p /papka/podpapka/podpodpapka

Тогда в корне диска будет создана папка papka, в ней — ещё одна, а в ней — ещё одна.

Комбинация параметра -p и поддержки командой mkdir одновременного создания нескольких папок может использоваться вот в таких конструкциях:

mkdir -p /papka/{podpapka1,podpapka2}

В этом случае в корне диска появится папка papka, а уже в ней — две подпапки (podpapka1 и podpapka2).

Второй занятный параметр команды mkdir — это -m. Он позволяет сразу определить права доступа к создаваемой папке, не прибегая отдельно к команде chmod. Используется он следующим образом:

mkdir -m 644 /papka

Про параметр -v сказать нечего — так же, как и во многих других командах, он активирует подробный режим работы команды. Для mkdir это означает вывод имени каждой созданной папки на экран.

touch

Строго говоря, команда touch задумывалась вовсе не для создания файлов. Она делает именно то, что означает её название — «трогает» файлы, выставляя им новую дату доступа и последнего изменения. Не будем вдаваться в подробности того, зачем вам это может понадобиться. Например, с помощью этой команды можно форсировать перестроение кэша драйверов Mac OS X (это вам рано или поздно понадобится).

Команда touch весьма похожа на mkdir. Она тоже может создавать несколько файлов подряд и тоже умеет работать с путями к файлу. Разумеется, и синтаксис у неё такой же:
touch -(параметры) (файлы)

Чтобы создать в текущей папке пустой текстовый файл, введите:

touch file1.txt

Вот и все премудрости. Но другое дело, если в указанной папке уже существует файл с таким именем (или даже папка). Команда в этом случае не перезапишет файл таким же, но пустым (как можно было бы подумать), а просто заменит его атрибуты «время изменения» и «время доступа». Если никаких дополнительных параметров не задано, то это время заменится на время запуска команды.
А параметры эти могут быть следующими:

touch -a

выставляет только новую дату доступа

touch -m

выставляет только новую дату изменения

touch -f

выставляет новые атрибуты вне зависимости от прав доступа к объекту

touch -r /file1.txt /file2.txt

присваивает файлу file2.txt те же даты доступа и изменения, что заданы для файла file1.txt

touch -t 201002201212.33

присваивает файлу даты доступа и изменения 12:12:33 20 февраля 2010 года (порядок такой: четыре цифры года, две цифры — номер месяца, две цифры числа, часы и минуты в 24-часовом формате и секунды через точку).
На сегодня всё. В следующей статье мы поговорим о возможностях поиска и фильтрации через Терминал.

Источник: appstudio.org

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *