Работа с папками и файлами в командной строке macOS
В статье рассмотрены синтаксис и примеры основных команд для работы с папками и файлами в командой строке macOS. Вы узнайте как создать, скопировать, переместить, удалить папки и файлы, как посмотреть дерево папок и т.п.
Cодержание
- Как узнать полный путь к текущей папке
- Как в терминале macOS перейти в папку
- Как перейти в домашнюю папку пользователя
- Как перейти в папку на уровень выше
- Как посмотреть содержимое папки
- Как посмотреть содержимое файла
- Как в командной строке показать папки и файлы отмеченные тегом в Finder
- Как в командной строке посмотреть информацию о папке или файле
- Как в Terminal посмотреть содержимое внешнего диска
- Как посмотреть дерево папок в командной строке macOS
- Как создать папку в терминале macOS
- Как создать новый файл
- Как скопировать папку или файл через терминал macOS
- Как переместить папку или файл
- Как удалить папку или файл через терминал Mac
Большинство задач при работе с папками и файлами в macOS можно решить с помощью Finder. Командная строка может пригодится, когда необходимо устранить какую-нибудь проблему или включить скрытые настройки macOS, скопировать нужные данные при удаленном подключение к Mac через ssh или написать скрипт для автоматизации рутинных задач.
Для работы в командной строке macOS откройте Terminal, для этого через Finder перейдите в:
/Программы/Утилиты/Terminal
Как узнать полный путь к текущей папке
После открытия Terminal по умолчанию пользователь находится в своей домашней папке. Полный путь к текущей папке можно узнать с помощью команды pwd.
pwd – «present working directory», можно перевести как «текущая рабочая папка».
Как в терминале macOS перейти в папку
Переход между папками осуществляется с помощью команды cd.
cd – «change directory», можно перевести как «сменить папку» или «перейти в другую папку».
Синтаксис команды:
cd [путь к папке]
Перейдите в папку Desktop [Рабочие стол], для этого наберите команду:
cd Desktop
Чтобы вернуться обратно к домашней папке наберите команду:
cd –
«-» – данная опция используется для перехода в последнюю просмотренную папку. Обратите внимание, что после выполнения команды cd – в Terminal будет выведет символ «~».
«~» – в командой строке macOS является синонимом полного пути к домашней папке текущего пользователя, чтобы убедится в этом наберите команду pwd.
Как перейти в домашнюю папку пользователя
Если нужно перейти в домашнюю папку пользователя под которым вы запустили macOS, наберите команду:
cd ~
Для перехода в домашнюю папку другого пользователя используйте полный путь:
cd /Users/username
Для быстрого ввода имен файлов, папок, путей и команд используйте клавишу ⇥ tab. Вместо того, чтобы набирать на клавиатуре длинное имя файла полностью, которое может содержать пробелы и специальные символы, которые необходимо правильно экранировать, достаточно просто начать вводить начало имени и нажать клавишу ⇥ tab.
Как перейти в папку на уровень выше
«..» – опция две точки используется для перехода в папку на уровень выше, наберите в Terminal:
cd ..
Если нужно перейти в папку на несколько уровней выше добавляйте «/» между «..», например так можно перейти в папку на два уровня выше:
cd ../../
Для перехода в корневую папку macOS используйте команду:
cd /
Обратите внимание, если в имени папки или файла содержится пробел, например «Новая папка», имя необходимо поместить в одинарные или двойные кавычки:
cd ‘Новая папка’
Или поставить обратный слэш «\» перед пробелом:
cd Новая\ папка
Это связано с тем, что командная строка воспринимает пробел как конец команды.
Как посмотреть содержимое папки
Просмотр содержимого папки осуществляется с помощью команды ls.
ls – «list files in the directory», можно перевести как «вывести список файлов в папке».
Синтаксис команды:
ls [-опции]
Давайте посмотрим содержимое текущей папки, для этого наберите команду:
ls
По умолчанию команда ls выводит список с именем всех папок и файлов в виде колонок. Для того, чтобы изменить вывод списка можно воспользоваться следующими опциями:
-A – отображение всех файлов за исключением “.” и “..”.
-a – отображение в том числе скрытых файлов, которые начинаются с точки “.”.
-f – отображение списка файлов без сортировки.
-l – отображение детального списка, который включает: размер файла, создатель, дата/время создания и т.д.
-h – отображение размера файлов в KB/MB/GB, а не только в байтах.
-r – сортировка файлов в обратном порядке.
-S – сортировка файлов по размеру.
-t – сортировка файлов по дате последнего изменения.
-u – сортировка файлов по дате последнего открытия.
Например можно вывести подробный список (-l) содержимого текущей папки, отсортированный по размеру (-S) в обратном порядке (-r), размер файлов отображается в KB/MB/GB (-h):
ls -lShr
Как посмотреть содержимое файла
Посмотреть содержимое файла можно с помощью команды cat.
cat – «concatenate», можно перевести как «конкатенировать», в контексте просмотра содержимого файла имеется в виду связывание строк для вывода на экран.
Синтаксис команды:
cat [имя файла]
Для просмотра содержимого текстового файла macmaniac.txt введите:
cat file.txt
Как в командной строке показать папки и файлы отмеченные тегом в Finder
Для вывода списка папок и файлов, которые были отмечены тегом в Finder, можно воспользоваться командой mdfind.
mdfind – «metadata find», можно перевести как «поиск метаданных».
Синтаксис команды:
mdfind ‘kMDItemUserTags=’ [-опции]
Например в домашней папке пользователя macmaniac есть следующие папки и файлы, которые отмечены тегом «Красный»
Для того, чтобы вывести их список, находясь непосредственно внутри домашней папки, наберите:
mdfind ‘kMDItemUserTags=Красный’
Либо используйте опцию -onlyin, если необходимо указать полный путь к папке:
mdfind ‘kMDItemUserTags=Красный’ -onlyin /Users/macmaniac
Как в командной строке посмотреть информацию о папке или файле
Обычно в macOS посмотреть информацию о папке или файле можно через Finder в меню Свойства
В командной строке аналогичную информацию можно посмотреть с помощью команды mdls.
mdls – «metadata list», можно перевести как «список метаданных».
mdls file.txt
Как в Terminal посмотреть содержимое внешнего диска
Для того, чтобы посмотреть содержимое внешнего жесткого диска или USB-флешки необходимо с помощью команды cd перейти в папку /Volumes
cd /Volumes
Затем с помощью команды ls вывести список подключенных дисков (что бы найти нужный) и с помощью команды ls вывести его содержимое. Например так можно посмотреть содержимое USB-флешки с именем «Macmaniac»:
ls Macmaniac
Как посмотреть дерево папок в командной строке macOS
К сожалению в командной строке macOS нету встроенной команды для просмотра дерева папок. Чтобы вывести дерево папок необходимо из Homebrew установить утилиту tree.
Homebrew– менеджер приложений для macOS, с помощью которого можно устанавливать сторонние приложения для командной строки (и не только).
Для установки Homebrew вставьте в Terminal следующую команду и введите пароль администратора, если потребуется:
/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)”
Не закрывайте Terminal пока скрипт установки не закончит свою работу.
После завершения установки в Terminal должно появится сообщение Installation successful! и заголовок Next steps со списком команд, которые нужно поочередно вставить в Terminal и нажать ↩ return:
echo ‘# Set PATH, MANPATH, etc., for Homebrew.’ >> /Users/macmaniac/.zprofile
echo ‘eval “$(/opt/homebrew/bin/brew shellenv)”‘ >> /Users/macmaniac/.zprofile
eval “$(/opt/homebrew/bin/brew shellenv)”
Теперь можно установить tree, для этого введите следующую команду:
brew install tree
Синтаксис команды tree:
tree [путь к папке]
Как создать папку в терминале macOS
Создание новой папки осуществляется с помощью команды mkdir.
mkdir – «make directory», можно перевести как «создать папку».
Синтаксис команды:
mkdir [-опции] [имя новой папки]
Для создания папки с именем folder в текущей директории введите:
mkdir folder
Чтобы создать новую папку с именем folder по указанному пути ~/Documents введите:
mkdir ~/Documents/folder
Для mkdir также доступны следующие опции:
-m – определение прав доступа к создаваемой папке.
-p – создание вложенных папок за один раз.
-v – вывод имени каждой созданной папки на экран.
Для создания трех папок вложенных друг в друга одной командой используйте опцию -p:
mkdir -p folder1/folder2/folder3
Чтобы создать несколько папок одной командой в текущей папке используйте пробел между названиями новых папок:
mkdir folder1 folder2 folder3
Как создать новый файл
Создание нового файла осуществляется с помощью команды touch.
touch – можно перевести как «прикоснуться», «потрогать».
Синтаксис команды:
touch [имя нового файла]
touch позволяет создать любой файл: изображение (.jpg), текстовый файл (.txt) и т.п. Созданные файлы будут пустыми.
Для создания текстового файла введите:
touch file.txt
Чтобы создать несколько текстовых файлов используйте пробел между названиями:
touch file1.txt file2.txt
Как скопировать папку или файл через терминал macOS
Копирование папок и файлов осуществляется с помощью команды cp.
cp – «copy», можно перевести как «копировать».
Синтаксис команды:
cp [-опции] [имя файла/папки-источника] [путь назначения]
Для копирование файла с именем file.txt в директории Documents [Документы] введите:
cp file.txt ~/Documents
Для cp также доступны следующие опции:
-R – копирование папки и всего ее содержимого.
-f – при совпадении имён копируемого файла с уже имеющимся в папке, этот файл будет стёрт без предупреждений и уведомлений.
-i – подтверждение в случае совпадения имен (перезаписывать текущий файл или папку).
-n – при копировании файлы не будут перезаписываться.
-p – сохраняет атрибуты копируемых файлов/папки (автора, время изменения, время последнего открытия и т.д.).
Чтобы скопировать все файлы с расширением *.jpg в папку Desktop [Рабочие стол] введите:
cp *.jpg ~/Desktop
Для копирования папки folder со всеми подпапками и файлами в папку Desktop [Рабочие стол] используйте опцию -R:
cp -R folder ~/Desktop
Как переместить папку или файл
Перемещение папок и файлов осуществляется с помощью команды mv.
mv – «move», можно перевести как «переместить», «передвинуть».
Синтаксис команды:
mv [-опции] [имя файла/папки-источника] [путь назначения]
Для перемещения файла с именем file.txt в папку Desktop [Рабочий стол] введите:
mv file.txt ~/Desktop
Для mv также доступны следующие опции:
-n – не перезаписывать существующие файлы/папки.
-i – подтверждение каждого действия, которое может перезаписать файлы или папки.
-f – форсировать перезапись объектов с одинаковыми именами.
-v – вывод имен файлов по мере их перемещения.
Чтобы переместить все файлы с расширением *.jpg в папку Desktop [Рабочий стол] введите:
mv *.jpg ~/Desktop
Для перемещения папки с именем folder в папку Desktop [Рабочий стол] введите:
mv folder ~/Desktop
Также одной командой сразу можно переместить несколько файлов:
mv file1.txt file2.txt file3.txt ~/Desktop
Чтобы переместить все файлы из папки Documents [Документы] в папку Desktop [Рабочие стол] введите:
mv ~/Documents/* ~/Desktop
Еще при перемещении папки или файла можно поменять его имя. Для перемещения и переименования файла file1.txt в file2.txt введите:
mv file1.txt file2.txt
Как удалить папку или файл через терминал Mac
Удаление папок и файлов осуществляется с помощью команды rm.
rm – «remove», можно перевести как «удалить».
Синтаксис команды:
rm [-опции] [имя файла/папки]
Для удаления файла file2.txt, который находится в папке Documents [Документы] введите:
rm ~/Documents/file2.txt
Для rm также доступны следующие опции:
-d – удаление пустых папки.
-R – удаление папок и их содержимого.
-f – принудительное удаление файла без запроса подтверждения или сообщения об ошибках.
-i – подтверждение каждой попытки удалить файл.
Чтобы удалить все файлы с расширением *.jpg введите:
rm *.jpg
Для удаления папки folder и всего, что в ней находится введите:
rm -R folder