Sudo nano команды mac os

Обновлено: 08.07.2024

В macOS терминал, соответственно, называется Терминалом, и он использует оболочку Z (Zsh) в качестве оболочки входа по умолчанию. Используя Терминал, вы можете легко перемещаться по системным каталогам, копировать / перемещать файлы, получать системную информацию, безопасно удаленно входить в другие системы и эффективно автоматизировать задачи / действия на вашем Mac.

Однако для выполнения любого из этих действий вам необходимо знать команды терминала (и их синтаксис). В этом руководстве мы перечислим все основные команды терминала macOS и способы их использования, чтобы вы могли эффективно использовать их на своем Mac.

Основные команды терминала macOS

Для выполнения команд в любой операционной системе требуется терминал. macOS уже поставляется с одним из них, и вы можете найти его в Приложения> Утилиты.

Кроме того, вы также можете добавить его в свою док-станцию ​​для быстрого доступа. Для этого запустите Терминал, щелкните правой кнопкой мыши его значок в доке и выберите Параметры > Хранить в доке.

Теперь, когда на вашем Mac запущен Терминал, все, что вам нужно сделать, это ввести команду терминала и нажать «Return», чтобы выполнить ее.

Для вашего удобства мы разделили команды на несколько категорий, чтобы им было легче следовать:

1. Основные команды терминала

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

я. человек

Команда man отображает руководство пользователя команды, для которой вы делаете запрос. Используя его, вы можете получить дополнительную информацию о команде, такую ​​как ее описание, использование, доступные параметры и варианты, среди прочего.

предоставит вам всю необходимую информацию о команде cd (сменить каталог).

II. Чисто

Как следует из названия, команда clear очищает оболочку и дает вам пустое окно для ввода ваших команд. Поэтому, если у вас есть окно терминала, заполненное результатами всех ваших предыдущих команд, просто запустите clear, чтобы получить чистый лист.

iii. судо

Например, если вы хотите выключить Mac через Терминал, вам нужно запустить:

и введите свой пароль пользователя для выполнения команды.

iv. история

Команда history пригодится, когда вы хотите узнать все команды, которые вы выполняли в прошлом. Например, если вы отключили / включили какую-либо службу на своем Mac, но точно не помните ее имя или команду, которую вы использовали, вы можете использовать эту команду, чтобы узнать службу и отменить свое действие.

2. Навигация по каталогам

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

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

Для подробной разбивки:

Чтобы просмотреть все содержимое каталога, включая скрытые файлы и каталоги:

После того, как вы определили текущий рабочий каталог и каталог, к которому хотите перейти, команда cd поможет вам перемещаться между каталогами. Ниже приводится объяснение того, как его использовать.

Чтобы перейти в домашний каталог:

Если вы хотите перейти в конкретный каталог:

Чтобы перейти в родительский каталог:

Если вы хотите вернуться в предыдущий рабочий каталог:

Наконец, когда вам нужно перейти в корневой каталог, запустите:

3. Управление каталогом

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

Чтобы создать каталог, запустите:

Если вы хотите создать сразу несколько каталогов:

mkdir directory_name_1 directory_name_2 directory_name_3

Если вы хотите удалить / удалить каталог, запустите:

Если вы хотите удалить непустой каталог, вы можете использовать параметр -R (рекурсивный), чтобы удалить каталог вместе со всем его содержимым:

rm -R directory_name

4. Управление файлами

Подобно управлению каталогами, Terminal также позволяет выполнять файловые операции, поэтому вы можете создавать новые файлы, редактировать их и удалять те, которые вам не нужны.

Чтобы создать файл:

Если вы хотите создать и отредактировать файл, запустите:

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

Чтобы просмотреть тип файла на вашем Mac:

Если вы хотите скопировать файл из текущего каталога в другой каталог, запустите:

cp file_name directory_name

Если необходимо скопировать файл в тот же каталог, но с другим именем:

cp file_name new_file_name

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

mv file_name directory_name

Более того, команда mv также может использоваться как команда переименования. Чтобы использовать его для переименования файла, используйте следующий синтаксис:

mv current_file_name new_file_name

Если вы хотите удалить / удалить файл, запустите:

5. Установка программ

macOS поставляется с предустановленным менеджером пакетов Homebrew, который позволяет устанавливать программы на Mac с помощью Терминала. В некотором смысле это намного более простой способ установки приложений на ваш компьютер, в отличие от традиционного способа, при котором вам нужно будет выполнить ряд шагов.

Чтобы обновить репозиторий Homebrew, запустите:
brew update

Если вы хотите обновить все установленные пакеты в вашей системе:
brew upgrade

Когда вам нужно установить приложение на основе графического интерфейса, нам придется использовать Cask:
brew install --cask program_name

Например:
brew install --cask vlc

Если это программа без графического интерфейса:
brew install program_name

Обратите внимание, что не все пакеты / программы могут быть установлены сразу: вам может потребоваться добавить их исходный репозиторий, чтобы получить их перед запуском команды установки.

Наконец, если вы хотите удалить программу, используйте:
brew uninstall program_name

6. Управление сетью

macOS позволяет просматривать подробную информацию о конфигурации сети прямо из окна Терминала. Хотя вы можете использовать графический интерфейс для просмотра такой информации, подход CLI делает весь процесс быстрым и легким и избавляет вас от лишних действий.

Если вы хотите просмотреть IP-адрес и MAC-адрес вашего устройства, запустите:

Чтобы узнать IP-адрес и MAC-адрес всех устройств, подключенных к вашей сети:

Если вам нужна информация о входящих и исходящих подключениях к вашему Mac, используйте:

Чтобы найти все запущенные процессы на вашем Mac, у которых есть активное подключение к Интернету:

Чтобы получить дополнительную информацию о домене, используйте:

Если вы хотите определить путь (и переходы), пройденный пакетами от вашего устройства до их адреса назначения, запустите:

7. Управление процессами

Если вы когда-либо открывали приложение Activity Monitor на своем Mac, вы бы видели все активные процессы, запущенные в вашей системе. Эти процессы могут быть системными приложениями, сторонними приложениями или другими фоновыми службами, необходимыми операционной системе.

В качестве альтернативы, если вы хотите узнать статус основных процессов, которые в настоящее время запущены, вы можете сделать это с помощью:

Нажмите q или же Ctrl + C остановиться.

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

ps -ax | grep program_name

ps -ax | grep Safari

Здесь вы можете увидеть имя приложения в столбце CMD. Обычно указывается абсолютный путь к программе / приложению.

Узнав больше о процессе, если вы обнаружите необходимость его прервать, запустите:

sudo killall program_name

Поскольку мы запускаем команду kill / killall с sudo, вам нужно будет ввести свой пароль пользователя после ввода команды для ее выполнения.

8. Управление разрешениями

Разрешения в операционной системе определяют, кто может получать доступ и изменять файлы / каталоги на компьютере. Если у вас есть несколько пользователей, использующих одну и ту же систему, вы можете установить разрешения для каждого пользователя, чтобы ограничить их доступ и запретить им просматривать или изменять ваши системные (или другие) файлы.

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

ls -al file_name

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

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

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

С основами, вот как включить приведенную выше информацию для установки разрешений.

Чтобы настроить разрешения на чтение, запись и выполнение для всех трех классов доступа, запустите:

chmod ugo+rwx file_name

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

chmod 777 file_name

Чтобы сделать то же самое для всех текстовых файлов в каталоге:

chmod ugo+rwx *txt

Когда необходимо предоставить всем пользовательским классам одно и то же разрешение:

chmod a+rwx file_name

Если вы хотите установить разрешения таким образом, чтобы класс пользователя получал все три доступа, в то время как группа получала доступ для чтения и записи, а другие пользователи получали доступ только для чтения, вам необходимо использовать следующую команду:

chmod ugo+rwxrw-r-- file_name

В числовом представлении:

chmod 764 file_name

Чтобы удалить разрешения на запись и выполнение для группы и других классов пользователей, введите:

chmod go-wx file_name

chmod 744 file_name

Если вам сложно использовать числовое представление, вы можете использовать калькулятор chmod, чтобы определить обозначение разрешений для ваших требований к разрешениям.

Эффективное использование Mac с помощью команд терминала

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

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

В операционных системах macOS и Windows есть файл hosts, который работает как локальный распределитель адресов и их доменных имен (на манер DNS). Он настраивается администратором компьютера самостоятельно, и параметры, внесенные в него, касаются только конкретного устройства.

Рассказываю, где отыскать файл hosts, как его отредактировать и зачем это может понадобиться.

Редактирование файла hosts в текстовом редакторе

Обычно, чтобы внести изменения в файл hosts, администраторы открывают его через «Терминал», но не все пользователи достаточно хорошо владеют командной строкой. Если вам привычнее работать в графическом интерфейсе, то отредактировать файл hosts можно следующим образом:

  • Открываем любое окно Finder, нажав на соответствующую иконку в панели избранных программ или нажав на комбинацию клавиш Cmd + N на пустом рабочем столе.
  • Затем нажимаем на комбинацию клавиш Shift + Cmd + G.
  • В появившемся окне вводим: /private/etc/hosts.
  • Откроется папка с множеством файлов, среди которых мы ищем нужный нам hosts.
  • Кликаем по нему правой кнопкой мыши, наводим курсор на пункт «Открыть в программе» и выбираем приложение TextEdit (можно выбрать другой редактор на свой вкус, если вы уверены, что он точно откроет файл).

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

  • Отредактировав hosts, нажимаем комбинацию клавиш Cmd + S, чтобы его сохранить.
  • Система предложит сделать его копию.
  • Сохраняем копию на рабочий стол в формате .txt
  • Затем выделяем файл hosts, нажимаем клавишу «Ввод» (Enter) и удаляем буквы .txt, чтобы вернуть прежний формат (оставляем только имя hosts).
  • После этого копируем новый файл hosts обратно в папку /etc, и когда система сообщит о том, что такой файл уже есть, нажимаем «Заменить». Перед этим система может попросить ввести пароль администратора (тот, что вы вводите, когда входите в систему).

Редактирование файла hosts через приложение nano в «Терминале»

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

  • Открываем «Терминал». Об этом можно попросить Siri или вручную открыть Launchpad, нажав на иконку в виде ракеты в панели избранных программ, отыскать там папку «Утилиты» и кликнуть по приложению «Терминал».
  • Далее вводим в него команду sudo nano /private/etc/hosts .
  • «Терминал» потребует ввести пароль администратора. Вводим его (помните, что пока вы печатаете пароль в «Терминале» он никак визуально не отображается).
  • Перед вами откроется текстовый файл, в который можно ввести любые изменения.
  • Затем нажимаем комбинацию клавиш Ctrl + X, а затем клавишу Y, чтобы сохранить изменения.

Обновление кэша DNS

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

  • Открываем «Терминал» (как это сделать описано в «Редактирование файла hosts через приложение nano в Терминале»).
  • Вводим в него команду dscacheutil — flushcache; sudo kilall -HUP mDNSResponder .

После этого новый файл hosts точно заработает.

Зачем изменять файл hosts?

Блокировка рекламы или ускорение загрузки сайтов

На изображении ниже показан пример того, как делается блокировка рекламы и отдельных сайтов.

Администратор сети может ускорить загрузку сайтов, отредактировав файл hosts. Достаточно внести туда домен сайта и привязать к нему реальный IP-адрес соответствующего ресурса. Таким же образом делаются перенаправления внутри локальной сети.

Сброс параметров iOS через hosts

Есть и более практическое применение. Чаще всего к редактированию hosts прибегают те, кто взломал прошивку мобильного устройства Apple.

При их прошивке используется программа TinyUmbrella. Она заменяет конфигурацию файла hosts, чтобы при необходимости можно было установить устаревшую версию iOS или устаревшую версию программ из App Store на взломанный гаджет.

Поэтому, перед тем как переустанавливать систему на мобильном устройстве, придется удалить эту строку.

Редактор nano - это консольный текстовый редактор. Он есть почти во всех дистрибутивах Linux, есть в macOS и его можно запустить под Windows. nano часто используется для редактирования конфигурационных файлов, когда графический интерфейс отсутствует.

Редактор nano

Управление в nano осуществляется с клавиатуры с использованием горячих клавиш. В нижней части редактора приведен список основных сочетаний клавиш. Символ ^ означает клавишу Ctrl . Например, ^X означает сочетание клавиш Ctrl+X . Регистр символов не учитывается, сочетание Ctrl+X эквивалентно Ctrl+x .

Рассмотрим, как выполнять основные действия при работе с nano.

Создать новый файл

Чтобы создать файл достаточно просто запустить редактор без параметров. Когда вы будете закрывать редактор, то необходимо будет ввести имя файла.

Также можно сразу задать имя нового файла:

После выполнения команды запустится редактор nano и в нем откроется для редактирования новый пустой файл.

Открыть существующий файл для редактирования

Чтобы отредактировать существующий файл, необходимо запустить редактор nano и указать путь до файла, который нужно открыть:

Сохранение изменений

Сохранить и продолжить работу

Вы отредактировали файл и хотите сохранить изменения, но не закрывать редактор. В таком случае используется сочетание клавиш:
Ctrl+O

nano сохранить изменения

Сохранить и выйти

Чтобы сохранить изменения и выйти из редактора можно воспользоваться сочетанием клавиш:
Ctrl+X

В данном случае, если вы изменяли файл, то появится вопрос: "Save modified buffer (ANSWERING No Will DESTROY CHANGES)? ". Нажмите клавишу y . Появится вопрос на ввод имени файла. Введите новое имя файла или просто нажмите Enter . Изменения будут сохранены, редактор закроется.

Выход без сохранения изменений

Чтобы выйти из редактора и не сохранять изменения используется сочетание клавиш:
Ctrl+X

Есть появится вопрос "Save modified buffer . ", нажмите n .

Копирование и вставка

Копирование и вставка строк

Чтобы вырезать строку целиком и поместить ее в буфер, переместите курсор на требуемую строку и нажмите:
Ctrl+K

Чтобы вставить строку из буфера нажмите:
Ctrl+U

Копирование и вставка произвольного текста

Чтобы скопировать произвольный текст в буфер обмена, его необходимо сначала выделить. Чтобы начать выделение поместите курсор на начало текста, который планируется копировать, и нажмите:
Ctrl+6

Перемещайте курсор, текст будет выделяться.

Чтобы скопировать выделенный текст в буфер обмена, нажмите:
Alt+6

или, чтобы вырезать выделенный текст, нажмите:
Ctrl+K

Переместите курсор в то место, куда необходимо вставить текст из буфера. Чтобы вставить текст из буфера нажмите:
Ctrl+U

Поиск текста

Для поиска текста внутри файла используется сочетание клавиш:
Ctrl+W

Нужно ввести строку для поиска и нажать Enter .

Курсор будет помещен на первое вхождение искомого текста (относительно курсора). Чтобы перейти к следующему вхождению, нажмите:
Alt+W

Чтобы прекратить поиск, нажмите:
Ctrl+C

Поиск и замена текста

Чтобы найти и заменить текст используется сочетание клавиш:
Ctrl+\

Появится запрос на ввод текста для поиска. Введи строку для поиска и нажмите Enter .
Затем появится запрос на ввод текста, на который необходимо выполнить замену. Введите строку и нажмите Enter .
Далее будет выдан запрос на замену найденного вхождения искомой строки. Можно нажать клавишу A , чтобы заменить сразу все вхождения в файле или использовать клавиши Y или N , чтобы заменять или нет, найденные вхождения искомой строки.

Горячие клавиши

nano горячие клавиши

Чтобы вывести информацию по всем горячим клавишам, используется сочетание Ctrl+G .

Наиболее часто используемые горячие клавиши nano:

Горячие клавишиОписание
Ctrl+AПереместить курсор в начало строки.
Ctrl+EПереместить курсор в конец строки.
Ctrl+YПереместить курсор на 1 страницу вверх (аналог PageUp )
Ctrl+VПереместить курсор на 1 страницу вниз (аналог PageDown )
Ctrl+_Перейти к определенной строке (нужно будет ввести номер строки).
Ctrl+CПоказать на какой строке и в какой позиции находится курсор.
Ctrl+WПоиск текста в файле. Необходимо ввести строку для поиска.
Ctrl+\Поиск и замена текста в файле. Сначала вводится строка для поиска, затем строка для замены.
Ctrl+DУдалить символ под курсором.
Ctrl+KУдалить текущую строку.
Ctrl+OСохранить изменения, не закрывая редактор.
Ctrl+XВыход из редактора. Если файл был изменен, появится запрос на сохранение изменений.

Кое-что еще

Еще пара интересных трюков при работе с nano, о которых не все знают.

Ctrl = Esc Esc

Вместо клавиши Ctrl можно использовать двойное нажатие на клавишу Esc . Например,
Esc+Esc+X
Это эквивалентно сочетанию Ctrl+X .

Только для чтения

Чтобы открыть файл только для чтения используется ключ -v :

Резервная копия файла

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

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

Буквально только что задался примитивным вопросом — как и чем открыть файл /etc/hosts из командной строки Mac OS? Речь не о консольных программах, а о графических (GUI) приложениях. Сперва казалось, то все довольно просто.

Первый и самый простой вариант — воспользоваться командой open с ключами -t или -e, в первом случае файл откроется в редакторе по-умолчанию, во втором — в TextEdit.app.

Результат будет тот же самый, причем не совсем тот, который требовался — TextEdit будет открыт от имени простого пользователя, у которого по-умолчанию нет прав на запись /etc/hosts. Забыл про sudo?

Ввожу пароль, пытаюсь сохранить файл — по-прежнему не удается. То есть посмотреть файл можно, а изменить и записать — нет, в TextEdit не предусмотрен запрос пароля супер-юзера в случае отсутствия необходимых прав.

TextEdit — нет разрешения

Проблема в том, что sudo выполняет с правами root команду open, а та запускает TextEdit уже с правами текущего пользователя, у которого не хватает прав. Обойти эту особенность не удастся, только если открыть файл, сохранить на рабочий стол, а затем перенести в нужную папку, авторизовавшись в Finder — слишком много суеты.

Способ запустить TextEdit (или любое другое приложение) с правами администратора все-таки есть, хотя и не сильно простой.

Теперь процесс TextEdit действительно запущен с правами пользователя root, алилуйя. Обратите внимание на ключ -b, он запускает приложение «в фоне», иначе консоль будет ждать до закрытия приложения, причем нажав ctrl-c его можно принудительно и мгновенно закрыть.

Длинноватая команда вышла. Решение есть и на этот случай — можно сделать скрипт, который будет искать приложение по имени и запускать его с помощью sudo.

Автор скрипта назвал его sopen, файл сохранил в /usr/local/bin, далее надо сделать его выполняемым и множно пользоваться.

Вся эта суета совершенно не нужна для редактирования небольших файлов, типа того же /etc/hosts, для этого в Mac OS есть чудесный консольный редактор nano.

Для больших файлов (логи, дампы SQL и т.п.) я пользуюсь редактором TextMate, у которого имеется консольная «запускалка» по имени mate. Она тоже не умеет передавать привелегии редактору, но TextMate при сохранении не ленится спросить пароль.

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

Всем остальным советуем не терять времени, а заняться более интересными и полезными делами.

Как отредактировать файл Hosts на Mac

Иногда, редактирование файла hosts необходимо после использования утилиты TinyUmbrella, которая служит для перенаправления Вашего iOS устройства с IP адреса серверов Apple к серверам Саурика (Saurik), т.е. Cydia. Этот обман необходим для того, чтобы воспользоваться сохраненными цифровыми подписями SHSH, и тем самым получить возможность для установки кастомных прошивок прошлых версий iOS (откат, понижение, downgrade).

Итак, существует два способа редактирования файла hosts на Mac. Один из них с использованием родного приложения Терминал:

Как отредактировать файл Hosts на Mac

  • запускаем программу Терминал. Она находится в папке Приложения -> Утилиты (еще можно применить комбинацию клавиш Shift+Cmd+U при активном окне Finder);
  • открываем hosts (через команду sudo nano /etc/hosts);
  • вводим пароль, допускающий к установке новых программ;
  • редактируем файл.

Редактирование осуществляется следующими комбинациями клавиш:

Существует еще один способ редактирования файла hosts. При этом используется Finder и простой текстовый редактор.

В окне Finder находим вкладку Переход -> Переход к папке (либо Shift+Cmd+G);

Как отредактировать файл Hosts на Mac

  • в запустившимся окошке вбиваем строчку /etc и жмем «Перейти»;
  • находим файл с именем hosts и двойным кликом открываем его;
  • запустится обычный текстовый редактор с информацией из файла hosts, единственный минус, все изменения невозможно будет сохранить из-за ограничений доступа.

Если имеется необходимость в немедленном вступлении в силу произведенных изменений, специалисты рекомендуют обновить DNS записи с помощью «Терминал» (команда dscacheutil –flushcache).

Читайте также: