Команды для Терминала, который должен знать каждый

Несмотря на повсеместное распространение графических интерфейсов и всяких удобных манипуляторов вроде Magic Mouse и Magic Trackpad, приложение Терминал.app до сих пор является достаточно полезным и слегка «гиковым» инструментом для выполнения некоторых операций, с которым большинство из нас знакомы достаточно поверхностно. На самом деле, в его «укрощении» нет ничего сложного, поэтому для всех читателей МакРадара я подготовил команды для Терминала, которые могут оказаться полезными.

Для начала стоит сказать, что само приложение Терминал.app, как и все полезные служебные утилиты, располагается в каталоге Программы > Служебные программы. Сразу после его запуска вы увидите строку, в которой написано имя компьютера и текущего каталога, а после знака доллара ($) — приветливо мигающий курсор, который приглашает вас ввести свою первую команду…

Список файлов и папок — ls

По умолчанию, после запуска утилиты в качестве рабочего каталога выбирается домашняя папка пользователя. Для того, чтобы получить список файлов и папок в нем, достаточно запустить команду из двух букв ls.

Существует несколько вариаций данной команды, которые вызываются разными ключами (на самом деле их намного больше):

  • ls -l отобразит подробные данные о каждом элементе, включая права доступа, размер файлов и т.д. Кроме того, первый символ каждой строки позволит определить тип данных: если это латинская буква «d», то перед нами каталог, а если дефис (-), то обычный файл.
  • ls -a отобразит список всех файлов и каталогов в текущей папке, включая скрытые элементы (имена которых в Mac OS X начинаются с точки).

Хозяйке на заметку: ключи можно запросто комбинировать между собой, поэтому если вы хотите просмотреть подробные данные обо всех элементах каталога, включая скрытые файлы, то ваша команда должна выглядеть так: ls -la

Перемещение между каталогами — cd

Наименование этой команды происходит вовсе не от старых компакт-дисков, которые Apple успешно убила своим цифровым iTunes Store, а от двух английских слов «change directory» — именно этим она и занимается:

  • Напишите cd Music — и Терминал перейдет в папку Music, если, конечно, она существует в вашем текущем каталоге.
  • Для выхода в папку на уровень выше используется команда cd .. (с двумя точками).
  • А выполнив команду cd вы моментально перенесетесь в домашний каталог пользователя.

Полный путь к рабочему каталогу — pwd

Название этой команды тоже происходит от первых букв фразы «print working directory». В каком бы каталоге вы не находились, результатом выполнения данной команды станет полный путь к текущему каталогу.

Создание каталога — mkdir

Данная команда создает директорию с указанным именем. К примеру, mkdir Temp создаст в текущей папке каталог Temp. Если вы забыли, в каком каталоге вы сейчас находитесь, воспользуйтесь pwd:

Удаление файлов и каталогов — rm, rmdir

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

Но вообще команда rm test1.txt удалит файл test1.txt из текущего каталога. А если добавить, скажем, ключ «i» (rm -i test2.txt) пользователю потребуется подтвердить удаление.

К сожалению, удаление каталогов является более сложной задачей, потому что для этого действия существует сразу несколько видов команд:

  • rmdir Test удалит каталог Test только в том случае, если он пустой и не содержит внутри себя подпапок или файлов.
  • rm -r Test2 рекурсивно удаляет все находящиеся файлы и папки внутри Test2, а его удаляет в самом конце.

Перемещение и копирование фалов — mv и cp

Две команды выполняют практически аналогичные действия, поэтому и список параметров у них одинаков. Если я хочу переместить файл из одного каталога в другой, то мне потребуется воспользоваться такой командой:

mv ~/test1.txt ~/Documents/test1.txt

Первым параметром (~/test1.txt) выступает файл, который нам нужно переместить, а вторым — каталог назначения и результирующее имя файла.

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

Во-вторых, чтобы каждый раз не писать путь к домашнему каталогу, достаточно воспользоваться тильдой (~). Например, запись ~/Documents равносильна /Users/имя пользователя/Documents.

Для копирования файлов достаточно заменить mv на cp:

Остальные команды

Естественно, описать все доступные команды (как и их ключи) не представляется возможным, поэтому я остановлюсь еще на нескольких интересных и полезных «экземплярах»:

  • Запустить любое приложение в системе можно с помощью команды open, указав через пробел путь к приложению и его название. Например, open /Applications/Airfoil.app
  • С помощью команды who можно посмотреть список пользователей, которые залогинились в систему. Естественно, это актуально лишь в том случае, если работа на данном компьютере подразумевает вход нескольких пользователей или активный SSH.
  • Команда cat test.txt позволит вам вывести в окно Терминала содержимое файла с именем test.txt, но вы не сможете его отредактировать (для этого потребуется воспользоваться текстовым редактором вроде nano, vim или emacs), только просмотреть.
  • Отменить процесс выполнения любой команды (будь то ping или работа шелл-скрипта) всегда можно с помощью универсальной комбинации клавиш Control+C.
  • Очистить окно Терминала от большого количества текста достаточно просто, выполнив команду clear.
  • Для выполнения некоторых команд вам могут потребоваться привилегии администратора. Быстрее всего это сделать путем добавления в начало строки команды sudo. В этом случае, Терминал попросит ввести пароль от вашей учетной записи.
  • Посмотреть список запущенных процессов можно с помощью команды top, правда, в этом случае данные будут выглядеть менее наглядно, нежели в Мониторинге системы.
  • Для вывода детальной справки по какой-либо команде можно воспользоваться man, указав через пробел имя интересующей команды.
  • Чуть не забыл упомянуть о просто фантастической поисковой утилите grep, с помощью которой можно найти текстовую строку в файле или, скажем, конкретный процесс в списке процессов (например, ps ax|grep smbd).

Пожалуй, на этом и остановимся, а если я что-то упустил или указал неправильно — милости просим в комментарии.

Это упрощённая версия страницы.

Читать полную версию
Если нашли ошибку, выделите текст и нажмите Ctrl + Enter
an965494
03.02.13 02:39
удалял папку загрузки через команду rm -rf ~/Downloads, вместе с папкой удалились и нужные файлы вне папки, есть варианты восстановить? Спасибо
Марик Квитко
14.06.15 02:38
Да
Артур Пирожков
13.03.21 17:40
оттогда ..терминал!!!хозяйкам!!!я ржу!!!оттого линукс вечно и будет не полноценной системой!!!судо...терминал..репозитории...слетел буси бох!!!го...оно и есть го...я уж молчу что программы не работаютвсем привычные!!!а вине-это полное га.......это для..крутых...перцев!!которым делать не х..и они живут в терминале!!!
P F
15.05.21 15:46
не смотря на имя, ты совсем не русский. Научись писать и выражать понятно свою мысль, тиктокер. Тогда, возможно, поймёшь, что комп не только для картинок и тиктока..
Читать все комментарии