Терминал mac os mkdir

Перемещение и копирование файлов с помощью Терминала на Mac

В Терминале можно перемещать и копировать файлы локально или удаленно с помощью инструментов командной строки mv , cp и scp .

Совет. Копировать и перемещать файлы легче в Finder. См. Группировка файлов по папкам.

Локальное перемещение файла или папки

В приложении «Терминал» на Mac можно ввести команду mv для перемещения файлов или папок внутри компьютера. Команда mv удаляет файл или папку из старого местоположения и помещает их в новое местоположение.

Например, чтобы переместить файл из папки «Downloads» в папку «Work», которая находится в папке «Documents», введите:

Можно также изменить имя файла при перемещении:

Локальное копирование файла или папки

В приложении «Терминал» на Mac можно ввести команду cp для создания копии файла.

Например, чтобы скопировать папку с именем Расходы из папки «Документы» на другой том с именем Данные, введите:

Флаг -R сообщает cp о том, что папку нужно скопировать вместе с содержимым. Учтите, что имя папки не оканчивается на косую черту; это бы повлияло на то, как cp копирует папку.

Удаленное копирование файла или папки

В приложении «Терминал» на Mac можно ввести команду scp для копирования файла или папки с удаленного компьютера или на удаленный компьютер.

scp использует те же основные протоколы, что и ssh .

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

Потребуется ввести пароль пользователя.

Флаг -E означает, что нужно сохранить расширенные атрибуты, ветви ресурсов и информацию ACL.

Флаг -r (не используется в этом примере) сообщает scp о том, что папку нужно скопировать вместе с содержимым.

Источник

Секреты Терминала. Часть 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 это означает вывод имени каждой созданной папки на экран.

Читайте также:  Alt linux сизиф для чайников

touch

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

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

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

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

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

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

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

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

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

Источник

Терминал на Mac (macOS): что это, команды, синтаксис – понятный гид для начинающих

Сегодня все мы в 99% случаев работаем с Mac через приятный, понятный и удобный графический интерфейс пользователя. Но при решении ряда специфических задач даже Finder не справится с тем, что сделает старая добрая командная строка…

Например, с её помощью гораздо проще – и быстрее! – искать затерявшийся где-то в недрах системы 5-гигабайтный файл или путь к приложению, которое, как вы думали, уже давно удалено.

Что такое «Терминал»?

Терминал – стандартная системная утилита для взаимодействия с Mac при помощи командной строки. В Linux есть похожий инструмент управления, т.к. обе ОС являются Unix-подобными.

Интерфейс командной строки (command line interface или сокращенно CLI) – он же язык общения с Терминалом – называется bash. Всё, о чем мы расскажем ниже – это bash-команды.

Общие команды для Mac

Основной синтаксис

Bash-команда обычно строится так:

[Команда] [Опции] [Ввод или путь к файлу или директории]

ls – это команда, -la – это соединение двух опций (-l и -a), а /Applications – это путь к списку.

Если вы поймете путь, то поймете и то, как macOS в действительности видит ваши файлы. Как? Да как в матрешке – одна за другой. Например, вот путь к файлу под названием «Мои секреты», лежащему на Рабочем столе: /Users/Yablykworld/Desktop/My Secrets.

Пробелы

С пробелами действует простое правило – ничего лишнего!

Почему? Дело в том, что bash считает пробел концом команды!

Если у вас есть папка с пробелами в названии – например, Yablyk Folder, и вы пытаетесь вывести её содержимое с помощью команды ls /Applications/Yablyk Folder, то соответствующий файл не будет найден, и на выходе появится ошибка:

Чтобы решить эту проблему, понадобятся кавычки или обратный слэш. Вот теперь всё будет правильно:

ls /Applications/»Yablyk Folder» , или
ls /Applications/Yablyk\ Folder

Многим командам требуется доступ с уровня администратора. Если вы сейчас пользуетесь Mac не под аккаунтом его «админа», но знаете пароль, введите в командную строку перед текстом самой команды sudo – (что означает «single user do», «делает один пользователь»). Так вы временно получите привилегии администратора и возможность произвести необходимые операции без смены аккаунта.

Команды Терминала для улучшения продуктивности

  • Заменяет: Spotlight
  • Почему лучше: работает быстрее, осуществляет поиск и по системным папкам (тогда как Spotlight в них не ищет или плохо индексирует их содержимое).

Синтаксис find состоит из четырех частей:

2. путь к директории, в которой вы хотите искать информацию (например, /Applications);

3. опции (например, -name дает find возможность искать файлы, которые подходят к заданному названию);

4. непосредственно сам поисковый запрос (например, Google Chrome).

Вот как выглядит вся команда в целом:

find /Applications -d 1 -name «*Google Chrome*»

Примечание: «звездочки» (*) указывают на то, что используется regex (регулярные выражения).

  • Заменяет:⌘Cmd + I, т.е. команды для отображения информации;
  • Почему лучше: может показать сразу несколько папок за один раз, и обычно выполняется быстрее.

du – это сокращение от «disk usage». Команда поможет быстро узнать размер конкретного файла или папки, или даже списка файлов внутри папки.

Читайте также:  Ядро операционной системы linux может быть

Лучшие опции для du:

-d («глубина», или depth): если за этой буквой стоит цифра, то find ограничит поиск по директории соответствующим количеством уровней. Например, если вы отдадите вашему Mac команду du:

Терминал выдаст вам информацию только об общем «весе» папок и файлов в папке Applications, без данных о размере подпапок, вложенных в эти папки.

-h (human readable, или «человеко-читаемые»). Выводит размеры файлов в привычных людям величинах – K (килобайтах), М (мегабайтах) или G (гигабайтах).

Команда du в действии:

  • Заменяет: ручной перенос папок и файлов в нужное место.
  • Почему лучше: быстрее и не требует много ручного труда.

Синтаксис mv очень прост – старый путь меняется на новый:

mv /Users/Yablykworld/Documents/file1 /Users/Yablykworld/Desktop/file1

Эта команда переносит file1 из папки Документы на Рабочий стол.

  • Заменяет:⌘Cmd + I (показать информацию).
  • Почему лучше: быстрее, умеет отображать информацию о нескольким файлах сразу и имеет богатую палитру настроек.

ls – невероятно мощная. команда для отображения того, что находится в ваших папках. Также она выдает информацию о том, кто имеет право видеть их, есть ли на вашем Mac скрытые файлы или папки, и многое другое.

Лучшие опции для ls:

-l – отображает права для каждого файла в папке, время последнего изменения, владельца файла и его (файла) название.

-a – показывает все файлы в папке, включая скрытые (отличный вариант для библиотеки пользователя, которая в macOS по умолчанию скрыта).

Вот как всё работает:

ls -la /System/Library

mkdir

  • Заменяет действие:Finder → Файл → Новая папка.
  • Почему лучше: работает быстрее, и задать имя новой папочке можно сразу в командной строке (нет необходимости кликать два раза, как это имеет место быть в графическом интерфейсе).

Создает новые папки в мгновение ока.

  • Заменяет: процедуру отправки файлов в Корзину и её очистки;
  • Почему лучше: быстрее, плюс удаляются даже те файлы, от которых обычно не получается избавиться с помощью Корзины.

Эта команда раз и навсегда удаляет абсолютно любой файл, который вы поместите в команду. Что, разумеется, требует повышенного внимания – в отличие от Корзины, rm не будет спрашивать «а Вы точно уверены?». Предполагается, что вы знаете, что делаете…

По умолчанию rm удаляет только файлы, папки остаются. Для того, чтобы сразу удалять и их, используйте опцию -R (рекурсивно).

rm -R /Users/Yablykworld/Desktop/Yablyk_Folder

Источник

Секреты Терминала. Часть 4: Операции над объектами

Мы возвращаемся к нашему циклу статей о Терминале Mac OS X, где излагаются премудрости работы на Маке через командную строку. Сегодня мы подходим к самому важному уроку — операции над файлами и папками. Мы рассмотрим команды для копирования, перемещения, переименования и удаления объектов — cp, mv, rm. Не удивляйтесь, что для четырёх названных действий предназначены три команды. Как вы узнаете из дальнейшего повествования, одна из них умеет гораздо больше, чем кажется сначала.

Итак, начнём с копирования и команды cp.

Стандартный синтаксис команды копирования такой:

cp -(параметры) (что копируем) (куда копируем)

Параметры команды, путь к копируемому файлу и адрес для размещения копии разделяются пробелами. А если пробел есть внутри какого-то из путей, то, как вы помните, надо либо поставить перед ним обратный слэш (\ пробел) или заключить весь путь в одинарные кавычки (‘путь с пробелами’).

Самое главное в этой команде — именно параметры. Например, без дополнительных параметров вы не сможете даже скопировать папку — по умолчанию команда cp работает только для отдельных файлов.

Этот параметр нужен, если вы копируете папку. Обратите внимание на очень важный нюанс: от того, как вы напишете путь к папке, зависит то, как она скопируется. Возьмёме простой пример: откройте Терминал и введите команду:

Вы получите ошибку о том, что Sites — это директория, и она не может быть скопирована.

Теперь попробуйте немного другой вариант:

Папка с сайтами скопируется на Рабочий стол. Попробуйте третий вариант:

Вы увидите, что на Рабочий стол скопировалась не сама папка сайтов, а только её содержимое.

Запомните это правило — слэш в конце пути копируемой папки не копирует её саму.

Это опасный параметр. Он означает, при совпадении имён копируемого файла с уже имеющимся в папке, куда он копируется, этот файл будет стёрт безо всяких предупреждений и уведомлений.

Это параметр для тех, кто склонен острожничать. При первом же совпадении имён вы увидите вот такой вопрос:

От того, что вы нажмёте на клавиатуре (y или n), будет зависеть судьба файла в папке назначения. Количество таких вопросов будет равно количеству объектов с совпадающими именами.

Это полная противоположность параметру -f. Копирование не перезапишет ни один файл с совпадающими именами и не задаст вам никаких лишних вопросов.

Читайте также:  Remove all files windows cmd

Данный параметр прикажет Терминалу при копировании сохранять атрибуты исходного файла: его владельца, права доступа, группу, время изменения и открытия. Всегда ставьте этот параметр, если вы копируете системные файлы. В противном случае их права будут безнадёжно испорчены, и вас могут ждать серьёзные ошибки в системе.

В этом случае Терминал покажет вам все скопированные файлы в формате «что копировалось» -> «куда скопировалось»:

Как всегда, параметры можно совмещать. И для вашего удобства параметр -R вполне разрешено писать строчными буквами.

Возникает вопрос, а что будет, если задать заведомо противоречащие параметры, например:

Отвечаем: в этом случае имеет значение порядок параметров. Второй параметр окажется сильнее первого, и копирование затрёт совпадающие по именам файлы. А вот если написать:

то параметр -n «пересилит» параметр -f.

(эквивалент cp -dpR ) — в этом случае команда не будет обрабатывать символьные ссылки, рекурсивно обрабатывает все подкаталоги и сохраняет новые атрибуты файлы, вроде имени владельца. Очень удобна в том плане, что всякого рода «ярлыки» и прочие вещи, которые информационной ценности не несут, будут просто проброшены данной командой.

Данная команда имеет двойное назначение — она умеет перемещать и переименовывать объекты. Очень многое здесь зависит от синтаксиса. Общий принцип работы у команды mv схож с cp:

mv -(параметры) (что перемещаем/переименовавываем) (куда перемещаем/во что переименовывыем)

Допустим, вы хотите переименовать файл File1.txt на рабочем столе в File2.txt. В Терминале вам понадобится команда:

Запомните: если в качестве второго адреса в команде mv задан путь к файлу, то произойдёт переименование. Разумеется, папка в первом и во втором пути должна быть одна и та же, тогда это уже не будет просто переименованием. Например, если вы введёте команду:

то с Рабочего стола файл File1.txt бесследно исчезнет. Зато в корне диска появится файл File2.txt с точно таким же содержимым.

И третья ситуация — просто перемещение (без переименования):

Файл будет перемещён с Рабочего стола в ваше папку «Загрузки». Иными словами, если в качестве второго адреса в команде mv задан путь к папке, то произойдёт перемещение.

Теперь о параметрах команды mv. Их всего четыре, и все они совпадают с параметрами команды cp:

  • mv -f форсирует перезапись объектов с одинаковыми именами
  • mv -n предотвращает такую перезапись
  • mv -i каждый раз спросит вас о перезаписи
  • mv -v покажет подробные сведения о перемещении

Обратите внимание на отсутствие параметра -R. Команде mv абсолютно всё равно, с чем она имеет дело. Она без лишних вопросов умеет перемещать и переименовывать как файлы, так и папки.

Эта команда предназначена для удаления объектов. Из всех рассмотренных в нашем курсе команд она наиболее опасна. Файлы удаляются навсегда и в обход Корзины. Восстановить их весьма проблематично. Именно поэтому всегда дважды (а то и трижды) проверяйте введённые вместе с командой rm параметры и аргументы!

Синтаксис у неё ещё проще:

rm -(параметры) (путь к удаляемому объекту)

А вот её параметры:

  • rm -f форсирует удаление без предупреждений
  • rm -i запрашивает подтверждение на стирание каждого объекта
  • rm -v удаляет объекты в подробном режиме

Обратите внимание, что rm, как и cp, не умеет по умолчанию удалять директории. В связи с этим для неё актуален параметр -R (или -r).

Есть у rm и ещё один занятный параметр для конфиденциальной информации:

Заглавная P в числе параметров не просто удаляет файл, но и трижды перезаписывает место на диске, где он хранился, сводя вероятность восстановления данных к нулю.

Покажем ещё раз опасность команды rm. Допустим, вы хотели удалить папку Temp в корне диска:

и случайно опечатались, поставив пробел после слэша:

Так как у rm есть только один аргумент, она воспримет только то, что находится между параметрами -rf и следующим пробелом. А там у вас / — т.е. всё содержимое диска. А теперь подумайте, что ждёт ваш Мак, если вы выполните эту команду от имени корневого администратора (с приставкой sudo).

В связи с этим, старайтесь не использовать команду rm без параметра -i. Хоть это и нудно, зато обезопасит вас от многих роковых ошибок.

rmdir

Это безопасный аналог команды rm , применим в том случае, когда каталог пуст, в противном случае команда не удалит его, тем самым обезопасив Вас, не стирая папку с файлами, как если бы мы вызвали rm -rf . Настоятельно рекомендуем применять эту команду, если стоит цель удалить заведомо пустой каталог, не стоит применять рекурсивное удаление, мы можем затронуть то, что не хотели бы.

На этом сегодняшний урок по Терминалу можно считать оконченным. Далее по курсу — создание папок и файлов.

Источник

Оцените статью