Секреты Терминала. Часть 5: Создание объектов
Пришла пора продолжить наш цикл о командной строке Mac OS X. Сегодняшний урок будет посвящён двум важным командам — mkdir и touch, одна из которых создаёт папки, а другая — файлы (и не только). Предвосхищаем самый главный вопрос, который у вас может возникнуть: казалось бы, пользоваться Терминалом для такой элементарной операции, как создание папок — только создавать себе дополнительные сложности. Но если вам понадобится создать пять папок, в каждой из которых будет ещё по пять папок, да ещё и задать им соответствующие права доступа, тогда вы оцените преимущества командной строки по достоинству. Другой вопрос, а понадобится ли вам такая занятная операция, как создание иерархии папок 🙂 Но случаи в практике работы с компьютером бывают самые разные.
Как мы уже упомянули во вступлении, созданием папок ведает команда mkdir.
mkdir
mkdir (make directory) — одна из самых простых команд Терминала: она имеет только три параметра. Соответственно, и синтаксис сложностью не отличается:
mkdir -(параметры) (имя создаваемой папки)
Если вы введёте в Терминале
То папка с именем papka будет создана в текущей папке. Запомните — у команды mkdir вовсе не один аргумент. Одной командой вы можете создать хоть сто папок, введя их названия через пробел.
В качестве аргумента команды mkdir может выступать любой путь. Например, чтобы создать папку в корне диска, вводите:
Обратите внимание — путь к папке должен быть реальным, т.е. всё то, что значится до имени будущей папки, действительно должно существовать, иначе команда выдаст ошибку. Но можно этого избежать, используя параметр -p.
Например, если вы вводите команду:
а в корне диска нет папки с именем papka, то ничего не получится:
Совсем другое дело, если вводится команда:
mkdir -p /papka/podpapka/podpodpapka
Тогда в корне диска будет создана папка papka, в ней — ещё одна, а в ней — ещё одна.
Комбинация параметра -p и поддержки командой mkdir одновременного создания нескольких папок может использоваться вот в таких конструкциях:
В этом случае в корне диска появится папка papka, а уже в ней — две подпапки (podpapka1 и podpapka2).
Второй занятный параметр команды mkdir — это -m. Он позволяет сразу определить права доступа к создаваемой папке, не прибегая отдельно к команде chmod. Используется он следующим образом:
Про параметр -v сказать нечего — так же, как и во многих других командах, он активирует подробный режим работы команды. Для mkdir это означает вывод имени каждой созданной папки на экран.
touch
Строго говоря, команда touch задумывалась вовсе не для создания файлов. Она делает именно то, что означает её название — «трогает» файлы, выставляя им новую дату доступа и последнего изменения. Не будем вдаваться в подробности того, зачем вам это может понадобиться. Например, с помощью этой команды можно форсировать перестроение кэша драйверов Mac OS X (это вам рано или поздно понадобится).
Команда touch весьма похожа на mkdir. Она тоже может создавать несколько файлов подряд и тоже умеет работать с путями к файлу. Разумеется, и синтаксис у неё такой же:
touch -(параметры) (файлы)
Чтобы создать в текущей папке пустой текстовый файл, введите:
Вот и все премудрости. Но другое дело, если в указанной папке уже существует файл с таким именем (или даже папка). Команда в этом случае не перезапишет файл таким же, но пустым (как можно было бы подумать), а просто заменит его атрибуты «время изменения» и «время доступа». Если никаких дополнительных параметров не задано, то это время заменится на время запуска команды.
А параметры эти могут быть следующими:
выставляет только новую дату доступа
выставляет только новую дату изменения
выставляет новые атрибуты вне зависимости от прав доступа к объекту
присваивает файлу file2.txt те же даты доступа и изменения, что заданы для файла file1.txt
присваивает файлу даты доступа и изменения 12:12:33 20 февраля 2010 года (порядок такой: четыре цифры года, две цифры — номер месяца, две цифры числа, часы и минуты в 24-часовом формате и секунды через точку).
На сегодня всё. В следующей статье мы поговорим о возможностях поиска и фильтрации через Терминал.
Использование текстовых редакторов командной строки в программе «Терминал» на Mac
Для редактирования файла с обычным текстом в Терминале можно использовать текстовый редактор командной строки.
Для выполнения стандартных действий удобнее всего использовать один из текстовых редакторов, входящих в состав macOS. Если Вы хотите использовать графический текстовый редактор, используйте TextEdit (в Launchpad). В противном случае используйте один из редакторов командной строки, входящих в состав macOS.
Nano. Редактор nano — это простой редактор командной строки. Он хорошо подойдет для знакомства с редакторами командной строки, так как содержит удобную и понятную экранную справку. См. man-страницу редактора nano.
Vim. Редактор vim — это текстовый редактор, совместимый с vi . Он содержит множество мощных функций для перемещения по документу, а также поиска и редактирования документов. Можно легко освоить базовое редактирование, а при желании углубиться в изучение дополнительных функций. Для доступа к большинству функций используются сочетания клавиш, которые вызывают определенные действия. Редактор vim или послуживший образцом для его создания редактор vi можно встретить в большинстве операционных систем на основе UNIX. См. man-страницу редактора vim.
Если Вы только знакомитесь с командной строкой и не планируете часто использовать ее для редактирования, скорее всего, Вам лучше выбрать nano . Если предполагается использовать командную строку часто, возможно, стоит изучить редактор vim . В их основе заложены разные философии проектирования, так что рекомендуется некоторое время поработать с каждым из этих редакторов, чтобы определить, какой из них лучше подходит лично Вам.
Чтобы в приложении «Терминал» на Mac вызвать редактор командной строки, необходимо ввести имя редактора, пробел, а затем имя файла, который Вы хотите открыть. Чтобы создать новый файл, необходимо ввести имя редактора, пробел, а затем имя пути файла.
Основы работы с командной строкой (Терминалом) на Mac OS X
- написана командой Vertex Academy. Надеемся, что она Вам будет полезна. Приятного прочтения!
- это одна из статей из нашего «Самоучителя по Java»
Привет! Это статья для тех, кто только начинает знакомство с командной строкой.
Сегодня мы рассмотрим основные команды в среде MacOS.
Где найти командную строку
Есть несколько способов:
- Вызовите окно поиска (Cmd + Пробел, на Вашем устройстве может быть установлена другая комбинация), и напишите «Терминал» или «Terminal»:
- Другой вариант — найти Терминал в Launchpad:
Там, в папке «Другие», можно найти значок Терминала:
Теперь, если мы нажмем на значок, откроется такое окно:
Обратите внимание: это стандартная программа для работы в командной строке. При желании, Вы можете установить и какую-нибудь другую программу — например, iTerm, Terminator и т.д.
Основные команды:
Давайте рассмотрим каждую из них по отдельности.
Команда ls
ls — расшифровывает как «List files in the directory», что переводится как «перечислить все файлы в папке» или «вывести на экран список файлов в папке». Синтаксис команды такой:
Итак, если Вы только открыли терминал, Вы автоматически попадете в так называемый «home directory» — «исходный каталог», или «хомяк» — сленг от слова»home» 🙂 Обычно это папка, которая называется так же как и имя пользователя. Давайте откроем терминал и напишем команду ls:
Если нажать Enter, то мы увидим:
У Вас исходный каталог может выглядеть по-другому — например, у Вас не будет папок 42FileChecker, если у Вас не будет установлен Adobe Creative Cloud, — не будет папки Creative Cloud Files, и т.д.
Команда cd
cd — расшифровывается как «Change directory», что переводится как «сменить папку» или «перейти в другую папку». Синтаксис такой:
Например, как Вы помните, мы только открыли терминал и сейчас находимся в home directory:
Мы можем зайти в одну из этих папок. Давайте, например зайдем в папку Desktop (Рабочий стол). Для этого, напишем:
cd Desktop
Если мы нажмем Enter, мы перейдем на Рабочий стол. Сейчас, у нас на Рабочем столе находится только папка «Files»:
И если мы теперь вызовем команду ls, увидим только папку Files — то же самое, что видим на своем Рабочем столе:
Чтобы выйти обратно, напишем:
То-есть мы пишем «cd«, а потом две точки:
Нажмем Enter. Теперь, давайте еще раз вызовем ls:
Как видите, мы опять находимся в home directory.
Команда pwd
pwd — расшифровывает как «Present working directory», что переводится как «текущая рабочая директория». То есть команда pwd показывает, в какой сейчас папке мы находимся. Синтаксис такой:
Например, у нас имя пользователя «Maria». Поэтому, наша домашняя папка так и называется:
Опять же, если мы зайдем в папку Desktop:
Если мы сейчас напишем pwd, то увидим, что мы находимся папке «Desktop«:
Команда mkdir
mkdir — расшифровывается как «Make directory», что переводится как «создать папку». Синтаксис такой:
mkdir
Например, сейчас мы находимся на Рабочем столе. Как Вы помните, в этой папке у нас только одна папка — Files:
Теперь, давайте создадим новую папку — например, с названием «NewDirectory»:
Теперь, если мы вызовем команду «ls», то увидим, что у нас уже две папки:
Для большей наглядности, мы можем открыть папку в Finder:
Команда open
«Open» переводится как «открыть». С помощью этой команды мы можем открыть что угодно — папку или файл. Синтаксис такой:
open
Например, сейчас мы находимся в папке Desktop. Давайте откроем папку NewDirectory. Для этого мы пишем:
open NewDirectory
Нажмем Enter. Тогда мы увидим, что откроется папка «NewDirectory» в Finder:
Чтобы открыть текущую папку, мы пишем:
open .
Здесь точка означает папку, в которой мы находимся. Например, давайте вернемся в папку home directory:
Теперь, мы находимся в папку, которая называется именем пользователя:
Напишем «open .«:
Отлично! Точно так же мы можем открывать и файлы. Например, создадим новый текстовый файл на Рабочем столе:
Теперь, зайдем на Рабочий стол:
open text.txt
Тогда, файл будет открыть в программе по умолчанию:
Мы можем открыть этот же файл и находясь в другой папке. Например, вернемся в «домашнюю» папку. Это, кстати, можно сделать, если просто написать «cd«, без аргументов:
Теперь, мы будем находиться в папке с именем пользователя:
Давайте откроем файл text.txt отсюда. Напишем путь к файлу:
open Desktop/text.txt
Получим такой же результат, как и в первый раз:
Точно так же, мы можем открыть файл и если он находится в папке «выше». Например, зайдем в папку NewDirectory:
Мы можем открыть файл, если напишем следующее:
open ../text.txt
Увидим, что файл, как и раньше, открылся в программе TextEdit:
Но мы и сами можем выбрать приложение, в котором следует открыть файл. Синтаксис такой:
open -a
Например, давайте откроем файл с помощью приложения Safari. Пишем:
open -a Safari ../text.txt
Если нажать Enter , увидим что файл открылся в браузере:
Команда touch
С английского «touch» переводится как «прикоснуться», «потрогать» 🙂 Эта команда позволяемое нам создать пустой файл. Синтаксис такой:
touch
Например, сейчас мы находимся в NewDirectory на Рабочем столе. Мы можем проверить это с помощью команды pwd, которую мы выучили раньше:
Теперь, давайте создадим файл. Мы можем сделать что угодно — изображение (img.jpg), текстовый файл (file.txt) или звуковой файл (sound.waw). Естественно, все эти файлы будут пустыми.
touch image.jpg
Теперь, в папке NewDirectory появится файл image.jpg. Давайте откроем папку с помощью команды open и посмотрим:
Отлично! Еще, мы можем создать несколько файлов одной командой. Их имена можно указать через пробел:
touch file1 file2 file3 .
Например, давайте сделаем несколько файлов с расширением .txt. Напишем в командной строке:
touch 1.txt 2.txt 3.txt
Теперь, если мы откроем папку NewDirectory, мы увидим наши новые файлы:
Команда mv
mv — расфшифровывается как»Move», что переводится как «переместить», «передвинуть». С помощью этой команды мы можем:
- переместить файл из одной папки в другую
- переименовать файл
Итак, чтобы переместить файлы из одной папки в другую, мы пишем следующее:
Например, давайте переместим файл image.jpg из папки NewDirectory на Рабочий стол (т.е. на уровень выше). Для этого, пишем:
mv image.jpg /Users/Maria/Desktop
Как видите, мы указали абсолютный путь. То-есть это путь не относительно нашей текущей папки («относительный» путь), а путь по которому папка находится в системе. Это можно сравнить с адресом. Можно сказать, что дом находится «на соседней улице» (это будет относительный путь), а можно что он находится по адресу. например, Ул. Уличная 123 (это будет абсолютный путь).
Таким образом, наш файл переместиться на Рабочий стол:
Как видите, теперь в папке нет изображения. Вместо этого, оно находится на Рабочем столе:
Давайте теперь вернем файл обратно. Напишем:
mv ../image.jpg .
Как видите, мы берем файл image.jpg, который находится на уровень выше (../image.jpg), и переедаем его в папку, в которой мы находимся сейчас (.).
Теперь, файл image.jpg опять в папке NewDirectory:
Кроме того, мы можем перемещать несколько файлов одновременно. Синтаксис такой:
mv file1 file2 file3.
Итак, давайте переместим все файлы из папки NewDirectory на Рабочий стол. И в этот раз, мы используем не абсолютный путь, а относительный. Пишем следующее:
mv image.jpg 1.txt 2.txt 3.txt ./..
Точно так же, мы могли бы написать:
mv * ./..
где * означает все файлы в папке.
Вот теперь мы можем увидеть, что все указанные нами файлы переместились на Рабочий стол:
Теперь, давайте посмотрим как можно переименовать файл. Синтаксис такой:
Например, давайте поменяем название файла с image.jpg на picture.jpg. Для этого нам нужно перейти в папку Рабочий стол с помощью команды cd, а потом написать:
mv image.jpg picture.jpg
Если мы теперь откроем папку Рабочий стол, то увидим следующее:
Отлично! Теперь файл называется по-другому — picture.jpg.
Вот и все — теперь Вы знаете основные команды для работы с командной строкой на Mac OS.
Спасибо, что были с нами! 🙂
Надеемся, что наша статья была Вам полезна. Можно записаться к нам на курсы по Java на сайте.