Fuck — исправит неправильную команду терминала

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

Несмотря на повсеместное распространение графических интерфейсов и всяких удобных манипуляторов вроде Magic Mouse и Magic Trackpad, приложение Терминал.

app до сих пор является достаточно полезным и слегка «гиковым» инструментом для выполнения некоторых операций, с которым большинство из нас знакомы достаточно поверхностно.

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

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

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

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

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

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

Перемещение между каталогами — 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) выступает файл, который нам нужно переместить, а вторым — каталог назначения и результирующее имя файла.

Для копирования файлов достаточно заменить 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).

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

Источник: https://lifehacker.ru/terminal-commands/

20 приёмов работы в командной строке Linux, которые сэкономят уйму времени

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

Именно поэтому мы регулярно публикуем материалы, посвящённые особенностям работы в командной строке Linux. В частности, сегодня это будет перевод статьи, автор которой увлечён экономией времени через повышение продуктивности труда.

Если вас интересует работа в командной строке Linux — вот некоторые из наших материалов на эту тему:
Вам когда-нибудь доводилось видеть, как коллега использует некие простые команды Linux для решения задач, решение которых занимает у вас несколько строк? Должно быть, когда подобное случалось, вы только и могли сказать себе: «Ну ничего ж себе! Я и не знал, что это можно сделать так просто». В этом материале я покажу вам некоторые профессиональные приёмы работы в командной строке Linux, которые сэкономят вам уйму времени и в некоторых случаях избавят от плохого настроения. Мало того, что ваши друзья или коллеги скажут: «Ну надо же!», глядя на вас. Эти приёмы, кроме того, помогут вам увеличить личную продуктивность, так как вам понадобится вводить меньше команд и даже делать меньше щелчков мышью.

Нельзя сказать, что эти советы по Linux предназначены только для начинающих. Вполне возможно, что даже опытные пользователи найдут здесь что-нибудь полезное, то, о чём они не знали несмотря на то, что пользовались Linux многие годы. Linux изучают на основе опыта. Тут сгодится и собственный опыт, и опыт других людей.

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

Я начну с кое-чего вполне очевидного, но весьма важного: с автозавершения команд с помощью клавиши Tab.

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

Например, собираясь скопировать файл с именем my_best_file_1.txt, вы можете просто ввести cp m и нажать Tab для того, чтобы увидеть возможные варианты продолжения команды.

Клавишу Tab можно использовать и для автозавершения команд.

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

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

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

В большинстве современных дистрибутивов Linux оболочка предварительно настроена на именно такое восприятие команды cd. Это сэкономит вам пару нажатий клавиш на клавиатуре.

Возможно, вы зададитесь вопросом о том, в чём состоит тонкость использования команды для вывода содержимого директории. Все знают, что для этой цели служит команда ls -l.

Но в том-то всё и дело. Практически все используют команду ls -l для вывода содержимого директорий, в то время как то же самое можно сделать с помощью следующей команды:

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

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

command_1; command_2; command_3
Только что мы рассмотрели способ вызова нескольких команд в одной строке. Это экономит время. Но что если вам нужно, скажем, при вызове двух команд, чтобы следующая команда была выполнена только в том случае, если предыдущая завершится без ошибок?

Представьте себе, что хотите собрать код, а затем, если сборка оказалась успешной, вызвать make?

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

command_1 && command_2
Вот хороший пример использования &&:sudo apt update && sudo apt upgrade
Представьте себе, что вы, пару минут или пару часов назад, вводили длинную команду, и вам снова нужна эта команда. Причём, проблема заключается в том, что вспомнить точно эту команду вы не можете.

В подобной ситуации вас спасёт обратный поиск. Данная методика позволяет проводить поиск в истории команд по ключевому слову. Тут достаточно использовать комбинацию клавиш Ctrl + R для запуска обратного поиска и ввести что-то, имеющее отношение к команде. Система просмотрит историю команд и покажет команды, соответствующие введённому запросу.

Ctrl + R search_term
По умолчанию показан будет лишь один результат. Для того, чтобы увидеть больше результатов, соответствующих запросу, вам понадобится использовать комбинацию клавиш Ctrl + R снова и снова. Для того, чтобы выйти из режима обратного поиска, нажмите Ctrl + C.

Обратите внимание на то, что в некоторых оболочках Bash для перебора результатов поиска можно пользоваться клавишами Page Up и Page Down.

Возможно, вы привыкли пользоваться комбинацией клавиш Ctrl + S для сохранения файлов. Но если нажать эти клавиши в терминале Linux, вы его заблокируете.

Если раньше вы, для того, чтобы исправить положение, вынуждены были закрывать и снова запускать терминал — теперь может вздохнуть спокойно, больше вам этого делать не придётся. Для того, чтобы привести терминал в рабочее состояние, просто воспользуйтесь комбинацией клавиш Ctrl + Q.

Представьте себе, что вы вводите длинную команду и где-нибудь посередине понимаете, что должны что-нибудь изменить в её начале.

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

Читайте также:  Gnome и kde полностью поддерживают телефон librem 5

Конечно, в подобной ситуации можно использовать клавиши Home и End, но, как вариант, с помощью комбинации клавиш Ctrl + A можно перейти в начало строки, а с помощью комбинации Ctrl + E —в конец.

Мне такой способ кажется удобнее, чем использование клавиш Home и End, особенно когда я работаю на ноутбуке.

Когда вам нужно проанализировать файлы журналов, в которые, во время анализа, пишет данные какое-нибудь работающее приложение, вы можете использовать команду tail с опцией -f.tail -f path_to_Log
Кроме того, вы можете использовать команду grep в её обычном виде для отображения только тех строк, которые вас интересуют:tail -f path_to_log | grep search_term
Также тут можно задействовать опцию F. Это приведёт к тому, что утилита tail продолжит работать даже в том случае, если просматриваемый лог-файл будет удалён. При таком подходе, если этот файл снова будет создан, tail продолжит выводить данные из него на экран.
Серверные журналы обычно сжаты с помощью gzip для экономии места на диске. Это может привести к некоторым неудобствам при анализе логов разработчиками или системными администраторами. Вам может понадобиться использовать команду scp для копирования файла в свою локальную директорию, а после этого извлечь файл из архива для того, чтобы его просмотреть, так как у вас может не быть разрешения на запись туда, где хранится интересующий вас файл.

Тут нам на помощью приходит группа команд, имя которых начинается с буквы «z». Эти команды являются альтернативой обычным командам, которые используются для работы с файлами журналов. Среди них — less, cat, grep, и другие.

Итак, используя команды zless, zcat, zgrep и подобные им, вам не придётся явным образом распаковывать сжатые файлы. Подробности об этих командах можно посмотреть здесь.

Кстати, когда я рассказал об этих «секретных» командах коллеге, мне досталась чашка кофе.
Если вам нужно просмотреть файл, особенно — большой, можно попробовать команду cat, но гораздо лучше поискать что-нибудь другое.

Дело в том, что cat выведет на экран весь файл, что не так уж и удобно.

Для просмотра файлов можно воспользоваться редакторами вроде Vi или Vim, работающими в терминале, но если вам просто нужно прочесть файл, очень кстати окажется команда less.

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

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

Ещё лучше то же самое делается с помощью сочетания клавиш Alt +. (точка). Точку можно использовать несколько раз для перебора опций последней команды.

С помощью !! можно вызвать всю предыдущую команду. Этот приём оказывается особенно полезным, когда вам нужно выполнить команду и оказывается, что для её выполнения нужны привилегии суперпользователя. Например, на рисунке ниже показана ситуация, в которой команда sudo !! позволяет сэкономить немало времени.

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

Например, может случиться так, что вы часто вводите gerp вместо grep. Если с вредной привычкой справиться никак не удаётся, запишите псевдоним в свой файл bashrc следующим образом:

alias gerp=grepТеперь вам не придётся перенабирать эту команду если вы введёте её имя неправильно. Этот совет несколько неоднозначен, так как он зависит от дистрибутива Linux и от терминала. Но обычно команды копирования и вставки можно вызывать следующим образом:

  • Выделите текст, который надо скопировать, и щёлкните правой кнопкой мыши для его вставки (работает в Putty и других SSH-клиентах для Windows).
  • Выделите текст, который надо скопировать, после чего щёлкните центральной кнопкой мыши (колесом прокрутки) для того, чтобы его вставить.
  • Используйте комбинации клавиш Ctrl + Shift + C для копирования, и Ctrl + Shift + V для вставки.

Возможно, то, что я тут хочу посоветовать, совершенно очевидно, однако, всё равно об этом расскажу. Если команда выполняется на переднем плане и вы хотите из неё выйти, можете нажать клавиши Ctrl + C для того, чтобы её остановить.
Если вам приходится работать с некоторыми командами или скриптами, которые предусматривают взаимодействие с пользователем, и вы знаете, что будете вводить Y в ответ на каждый вопрос программы, можете автоматизировать этот процесс с помощью команды yes. Делается это так:yes | command_or_script
Если вы хотите очистить содержимое текстового файла, не удаляя сам файл, можете использовать следующую команду: > filename
Командная строка Linux поддерживает множество способов поиска информации. Однако, если вам просто нужно узнать, имеются ли в некоей директории файлы, которые содержат определённый текст, вы можете воспользоваться такой командой:grep -Pri Search_Term path_to_directory
Однако я советую всем, кому нужен поиск в Linux, разобраться как следует с командой find. Хочу завершить этот материал одним весьма очевидным, но, тем не менее, очень важным «трюком», который заключается в вызове справки для команды или инструмента командной строки. Практически все средства командной строки содержат справочную информацию, раскрывающую особенности их использования. Обычно чтение справки помогает разобраться с основами команды. Вызвать справку можно так:command_tool —help

Я намеренно не включил в этот материал команды вроде fuck, так как они не из тех стандартных средств, которые можно найти буквально повсюду. То, о чём я тут рассказал, может принести пользу при работе практически со всеми дистрибутивами Linux и оболочками командной строки без необходимости установки новых программ.

Уважаемые читатели! Возможно, вы уже знакомы с некоторыми из приведённых здесь методов использования команд Linux, а может и знаете их все. В любом случае, приглашаем вас поделиться вашими любимыми приёмами в комментариях.

Источник: https://habr.com/company/ruvds/blog/339820/

10 забавных и полезных команд для Терминала в OS X

Терминал — это мощный инструмент OS X. Вы даете своему компьютеру команды, и операционная система их покорно выполняет. С помощью терминала вы можете выполнить действия, которые значительно сложнее или невозможно выполнить, используя графический пользовательский интерфейс.

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

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

Проверка ответа от сервера

Команда Ping позволяет проверить вам доступность домена или IP-адреса. Вы также сможете увидеть, насколько быстро будет дан ответ от сервера. Попробуйте проверить, насколько быстро вы получите ответ от «www.appleinisder.ru». Для этого существует очень простая команда:

Отключение тени на скриншотах

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

После нее наберите:

Эта команда заставит изменения вступить в силу. Если захотите снова включить тени на скриншотах, просто проделайте ту же операцию, заменив в команде «TRUE» на «FALSE».

Показать скрытые файлы в Finder

Для того чтобы в Finder начали отображаться все скрытые файлы, просто наберите в терминале:

Для применения изменений потребуется перезапустить Finder. Для этого вы можете использовать команду:

Все скрытые файлы будут показаны. Хотите снова скрыть их? Проделайте те же действия, заменив в команде «TRUE» на «FALSE».

Заставьте ваш Mac говорить

Простой командой вы можете заставить свой компьютер произнести любую фразу. Попробуйте набрать:

Заставьте свой Mac отказаться от сна

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

Вы также можете указать время, которое Mac должен работать без сна в секундах:

Вы можете досрочно отменить выполнение команды комбинацией Ctrl+C.

Просмотрите историю команд в терминале

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

Хотите очистить историю команд? Введите:

Стресс-тест

Стресс-тест создаст процесс «yes» и направит на его выполнение все силы процессора. Мы обсуждали пользу этой команды недавно. Сделать стресс-тест просто:

Завершить процесс можно командой:

Включить звук подключения зарядного устройства из iOS

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

Для отключения этого звука используйте команду:

Проверять обновления OS X чаще

Ваш компьютер сам проверяет наличие обновления системы. Если вы хотите проверять чаще, чем это делает он, можете проверить вручную, а можете просто попросить OS X проверять наличие обновлений чаще с помощью терминала. Хотите вместо еженедельной проверки включить ежедневную? Для этого есть следующая команда:

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

Поставьте заставку в качестве обоев

Если вы в каком-то странном настроении и оно настолько необычно, что вы хотите временно использовать заставку вместо обоев на вашем Mac, попробуйте команду:

Как только вы закроете Терминал или нажмете Ctrl+C, к вам вернутся ваши обычные обои.

По материалам iDownloadBlog

Источник: https://AppleInsider.ru/mac-os-x/10-zabavnyx-i-poleznyx-komand-dlya-terminala-v-os-x.html

Секреты Терминала. Часть 3: Права доступа – Проект AppStudio

Пришло время продолжить наш цикл статей о Терминале Mac OS X и премудростях его использования рядовыми пользователями. В предыдущей статье мы коснулись такого понятия, как права доступа.

Эта тема заслуживает отдельной статьи, поскольку разграничение владельцев файлов и прав доступа — один из фундаментальных принциов *nix-систем и одна из главных причин появления странных неполадок в работе Мака.

Сегодня мы кратко расскажем вам о системе прав доступа и о связанных с ней командах Терминала: chown, chmod, chgrp и sudo.

Итак, главная заповедь: каждый объект в Mac OS X обязательно имеет своего пользователя-владельца. Например, владельцем почти всего содержимого вашей папки пользователя будете вы.

Владельцем системных файлов будет пользователь root, т.е. главный администратор компьютера.

Даже если объект номинально никому не принадлежит, он всё равно числится за виртуальным пользователем nobody.

Сразу возникает вопрос — а почему это кроме вас, законного владельца компьютера, есть ещё какой-то главный администратор root? Всё это нужно как раз по соображениям безопасности, именно такое разграничение и есть главный залог безопасности Mac OS X.

Если бы обычный пользователь имел права администратора root, то любая вредоносная программа сразу могла бы получить полный доступ ко всей системе, могла бы самостоятельно запуститься и удалить всё, что угодно.

Поэтому права root-админа даются рядовому пользователю лишь на короткие промежутки времени, и всегда это сопровождается появлением окошка ввода пароля.

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

Каждый пользователь принадлежит к определённой группе — как минимум, к одной. Обычные пользователи находятся в группе staff. Все, кто имеют административные привилегии, также принадлежат к группам admin и wheel. Существуют и другие группы: owner, everyone, authedusers (и ещё пара десятков).

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

groups

Запомните важнейшую команду, которой вам придётся часто пользоваться:

sudo

Она позволяет выполнить какое-либо действие от имени пользователя root. Её можно ввести перед какой-то другой командой, например:

Тогда права root будут переданы вам только для одной этой команды. Есть и другой вариант — приобрести права root-пользователя до закрытия окна Терминала. Для этого введите:

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

В любом случае, команда sudo потребует от вас ввода пароля:

Читайте также:  Ubuntu больше не будет поставлять 32-bit версии

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

Это означает, что вы вошли в Терминал как root-пользователь.

Обычно команда sudo будет нужна для изменения каких-то системных настроек или просто для доступа к тем файлам, которые вам не принадлежат.

Теперь мы переходим к главному: собственно правам доступа. Эти права бывают трёх видов:

  • на чтение (просмотр) объекта
  • на запись (т.е. редактирование и удаление)
  • на запуск объекта

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

Каждое право для одного и того же объекта задаётся в трёх форматах:

  • непосредственно для владельца
  • для группы пользователей, к которой принадлежит владелец
  • для всех остальных

Права доступа обозначаются двумя способами: цифровым и буквенным.

Цифровой способ подразумевает написание трёхзначного числа: например, 775, 644, 444, 521, 700.

Первая цифра — это права для владельца.

  • 4 означает право на чтение
  • 2 означает право на запись
  • 1 означает право на запуск
  • 0 означает отсутствие всех трёх прав

Эти цифры суммируются, если несколько прав принадлежат пользователю одновременно:

  • 5 (4+1) означает права на чтение и запуск
  • 6 (4+2) означает права на чтение и запись
  • 7 (4+2+1) означает полный спектр прав

Вторая цифра трёхзначного обозначения — права для группы владельца. Третья — права для всех остальных.

Теперь расшифруем приведённые выше примеры:

775:

владелец и его группа имеют полный доступ (4+2+1=7)

все остальные пользователи могут читать и запускать файл (4+1=5)

644:

владелец имеет право на чтение и запись (4+2=6)

все, кроме него, могут лишь прочитать файл (4)

444:

абсолютно все пользователи могут только читать файл, но сделать с ним ещё что-то невозможно

521:

владелец может читать и запускать файл (4+1=5)

группа владельца может редактировать файл (2)

все остальные имеют право лишь на запуск (1)

700:

эксклюзивные полные права доступа есть только у владельца (4+2+1)

А теперь приведём конкретный пример. Допустим, у вас есть папка.

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

Буквенный способ всегда состоит из 10 символов и имеет следующий вид:

drwxrw-r-x

Первый символ показывает, с чем вы имеете дело:

  • прочерк означает обычный файл
  • d — папку
  • l — ссылку на другой файл

Оставшиеся девять символов делятся на три группы по три знака. Первые три показывают права доступа владельца, вторые три — группы, третьи — всех остальных:

  • r — право на чтение (read)
  • w — право на запись (write)
  • x — право на запуск (execute)

Если права нет, то на соответствующем месте ставится прочерк.

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

  • t — не позволяет пользователю удалять в данном каталоге чужие файлы, если у него нет права на запись в эти файлы
  • s — означает, что файлы, создаваемые в каталоге, наследуют группу от каталога, а не от создателя файла

Таким образом, приведённый выше пример означает то же самое, что и 765.

Кстати, файл вполне может иметь и права доступа 000. Тогда единственный, кто может что-то с ним сделать будет root-администратор. Стоит помнить о такой возможности хотя бы потому, что стоит быть аккуратным с этим. Кстати, в этом случае и сменить права назад сможет тоже только администратор. Будьте аккуратнее.

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

Теперь о том, как менять права доступа и владельцев файлов. Правом изменения прав доступа обладают владелец файла и пользователь root. Отсюда вывод — если у вас не получается поменять права, используйте команду sudo.

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

chmod

Она имеет следующий синтаксис:

Через пробел указываются сами права и путь к файлу или папке.

У команды есть полезный параметр -R (именно заглавная R), который присваивает указанные права всем содержащимся внутри объекта файлам. То есть, чтобы выставить права 755 для всей папки Extensions из примера выше, нужно ввести:

Для смены группы владельца используется команда

chgrp

Принцип работы тот же, что и у chmod, тоже действует параметр -R. Группу можно вводить как в текстовом формате, так и в цифровом. Запомните главные обозначения:

  • 0 — wheel
  • 20 — staff
  • 80 — admin

Например:

сделает вашу папку с музыкой принадлежащей группе администраторов.

С командой chgrp связано две опции — -v и -c. Очень полезны, так как позволяют нам получать информацию о том, что же именно происходит, какие действия совершаются в результате выполнения. Первая, -v, показывает всю информацию, даже тогда, когда и менять-то ничего не пришлось, а вторая показывает только факт смены прав. Это может быть удобнее при больших количествах файлов.

Чтобы поменять самого владельца, нужна команда

chown

Её синтаксис такой:

chown (-R) владелец:группа путь

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

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

  • 0 — root
  • -2 — nobody
  • 501 — вы

Та же самая команда может выглядеть так:

Присваивает ядро системы пользователю root и группе wheel.

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

  • права по умолчанию для ядра системы (файл /mach_kernel): 644, владелец — root, группа — wheel
  • права для папки кекстов (/System/Library/Extensions): 755, владелец — root, группа — wheel.

Эти два факта помогут вам решить многие проблемы со странной или некорректной работой системы. Если это не поможет, запустите Дисковую утилиту из папки Программы/Служебные программы, выберите там раздел и нажмите кнопку Восстановить права доступа.

Восстановление прав доступа

Запустить Дисковую утилиту можно и с установочного DVD Mac OS — через верхнее меню.

На сегодня информации достаточно. Следующая статья будет посвящена копированию, переименованию и удалению объектов.

Источник: https://appstudio.org/articles/sekrety-terminala-chast-3-prava-dostup.html

10 полезных команд Терминала на Mac (macOS)

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

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

В этом материале мы собрали 10 полезных команд, обязательных для ознакомления каждому.

Все описанные ниже команды будут работать на OS X Mavericks и новее. Открыть Терминал можно через Finder → Программы → Утилиты или посредством поисковика Spotlight (Ctrl + Пробел).

Автоматическая проверка обновлений

По умолчанию macOS проверяет наличие системных обновлений и новых версий приложений еженедельно. Чтобы сделать автоматическую проверку ежедневной — достаточно ввести в Терминале следующую команду:

defaults write com.apple.SoftwareUpdate ScheduleFrequency -int 1

Изменение формата файла скриншота

Любой скриншот в macOS по умолчанию сохраняется в формате PNG. Благодаря Терминалу у пользователей появляется возможность изменить формат на BMP, GIF, JPG, PDF или TIFF. Для этого воспользуйтесь этой командой:

defaults write com.apple.screencapture type -string «jpg»

В кавычках укажите требуемое разрешение. Если после активации этой команды появляется сообщение «Невозможно сохранить снимок экрана», то это означает, что вы напечатали неправильные кавычки.

Восстановление формата по умолчанию (PNG):

defaults delete com.apple.screencapture type

ПО ТЕМЕ: Как правильно придумывать сложные пароли и не забывать их — совет от хакера.

Указываем место создания скриншотов

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

Введите команду:

defaults write com.apple.screencapture location

после чего через пробел укажите путь и нажмите клавишу Return (Enter).

Закончите процедуру командой:

killall SystemUIServer

Например:

defaults write com.apple.screencapture location /Users/Имя пользователя/Downloads

Отображение скрытых файлов и папок

По умолчанию все скрытые файлы и папки в macOS невидимы для взора рядовых пользователей. Чтобы исправить эту несправедливость достаточно воспользоваться Терминалом:

defaults write com.apple.finder AppleShowAllFiles -bool true

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

defaults write com.apple.finder AppleShowAllFiles -bool false

ПО ТЕМЕ: Как вывести свои контакты на дисплей пропавшего Mac.

Выборочное отображение скрытых файлов и папок

Если вы не хотите видеть все скрытые файлы и папки в системе, а желаете лицезреть лишь скрытые файлы или папки в конкретном месте — введите команду:

chflags nohidden /Library/

далее укажите путь к требуемой папке.

Автоматическое открытие Finder при подключении накопителя

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

defaults write com.apple.frameworks.diskimages auto-open-ro-root -bool true

defaults write com.apple.frameworks.diskimages auto-open-rw-root -bool true

defaults write com.apple.finder OpenWindowForNewRemovableDisk -bool true

Для отключения введите те же команды но уже не со значением true, а с false.

Отключение предупреждения при очистке корзины

Чтобы избавиться от уточняющего сообщения при очистке корзины — воспользуйтесь командой:

defaults write com.apple.finder WarnOnEmptyTrash -bool false

Надёжное удаление

macOS при удалении файлов использует быструю очистку. Другими словами, удаляемые файлы помечаются меткой, означающей что это место свободно и на него можно записать новый файл. Удаленные таким способом файлы можно восстановить при помощи специальных утилит. Если же Вам необходимо навсегда удалить файл и затереть место его расположения —используйте следующие команды.

Чтобы удалить и однократно затереть файлы — введите в Терминале команду:

srm -s /

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

Получится такого рода строка srm -s //Users/arvizami/.Trash/Новая папка/Снимок экрана 2015-06-24 в 10.46.49 .png

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

srm -m /

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

srm -rf /

ПО ТЕМЕ:

Источник: https://yablyk.com/922686-11-komand-dlya-terminala-kotoryj-dolzhen-znat-kazhdyj-vladelec-mac/

15. Поиск неисправностей (программное обеспечение)

Если вы предполагаете, что проблема — аппаратная, см. раздел «Ремонт и диагностика».

Вот список возможных проблем:

  • «Терминал работает хорошо?» Предположим, что терминал нет.
  • «Отсутствует текст» Или пропущен текст, или текст отображается правильно и терминал зависает
  • «Getty Respawning Too Rapidly'' (console error message)
  • «Getty Перепорождение Слишком Быстро » (пультовое сообщение об ошибках)
  • «Сбои после входа в систему»
  • «Нельзя войти в систему, но приглашение входа в систему есть.
  • «Искаженное приглашение входа в систему»
  • «Нет приглашения входа в систему»

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

Когда прежде рабочий терминал внезапно ломается зачастую поиск проблемы прост. Проблема может быть очевидной типа сообщения об ошибках, когда терминал включен первый раз. Если он шумит, вероятно требуется ремонт. См. «Ремонт и Диагностика». Сначала, подумайте от том, что было сделано или изменено недавно, поскольку вероятно это и есть причина проблемы.

Проблема случалась только после того, как было установлено новое программное обеспечение системы или после изменения в конфигурации?

Читайте также:  Elementary os juno будет версии 5.0 а не 0.5

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

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

Один из подходов, чтобы сначала увидеть, будет ли терминал работать, состоит в попытке скопировать файл на терминал (cp my_file /dev/ttyS?) в наиболее простой ситуации.

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

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

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

Исправный терминал обычно будет при запуске выдавать слова на экране.

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

Удостоверьтесь, что терминал включен и что его плавкий предохранитель не перегорел.

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

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

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

Может быть, что управление потоком данных не работает полностью из-за ошибок настройки, или из-за неправильной распайки кабеля (для аппаратного потока управления). См. «Управление потоком данных»

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

Если вы используете скорость 1200 (очень медленно, обычно используемый для старых терминалов и принтеров) и текст остается усеченным, то проблема вероятно в драйвере последовательного устройства. См. Printing HOWTO «Последовательные устройства» для информации о том, как это устанавливается.

Нет напряжений управления модемом

Если getty не может открыть и/или использовать порт из-за недостатка положительного напряжения управления модемом на одном из выводов, то getty может уничтожиться. Затем командой в inittab, getty повторно порождается и пробует снова, уничтожается снова и т.д., и т.д. Пробуйте использовать опцию «local» с getty и/или проверить установки управления модема и напряжения.

Клавиша закорочена

Другая возможная причина перепорождения getty — клавиша клавиатуры закорочена, давая тот же самый результат, словно клавиша непрерывно нажата. Если разрешено автоповторение, то в подсказке входа в систему «печатаются» тысячи символов. Экран заполняется одинаковыми символами (в некоторых случаях 2 или более различными символами).

Если вы можете войти в систему, но не можете использовать терминал, то возможно что при запуске шелл терминал реконфигурируется (неправильно) командой, которую кто-то поместил в один из файлов, которые выполняются, когда вы входите в систему. Это файлы — /etc/profile и /.bashrc.

Ищите команду, начинающуюся с «stty» или «setserial», и удостоверьтесь, что она правильная. Даже если она выполняется хорошо в одном файле инициализации, ее действие может быть неправильно отменено в другом файле инициализации, который вы не знаете.

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

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

вы могли бы также отключить аппаратное управление потоком данных (stty -crtscts), если оно разрешено. Если теперь все работает, то ваши линии управления модемом вероятно или не проводят, или не устанавлены правильно.

Некоторые терминалы позволяют устанавливать различные значения (типа скорости) для передачи и приема, так что прием может осуществляться хорошо, а передача — плохо.

Если вы получили сообщение, говорящее что-то типа «login failed», то, если вы не ошиблись при наборе слов или в пароле, дейтвительно могут иметься некоторые ограничения на вход в систему. См. «Ограничение входа в систему»

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

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

Если вы используете agetty (часто именуемый getty), то программа agetty обнаружит и установит контроль по четности, если вы что-то печатаете. Пробуйте его с возвратом, чтобы увидеть, исправляет ли она возможные ошибки контроля по четности.

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

В этой точке два различных направления подхода (вы можете следовать больше одному):

  • Диагностика проблемы с консоли
  • Измерение напряжений

Диагностика проблемы с консоли

В консоли (или другом рабочем терминале) используйте «top» или «ps -al», чтобы увидеть выполняется ли getty на порту. Не путайте ее с программами getty, выполняющимися на других портах или на виртуальных косолях. вы не получите подсказку входа в систему, если getty не запущена. Если она запущена, то вы можете запретить ее, чтобы попробовать скопировать файл на терминал как тест.

Чтобы запретить getty, отредактируйте /etc/inittab, и закомментируйте команду getty значком # в начале строки, чтобы она не порождалась повторно после того, как вы уничтожите ее. Затем уничтожьте старую getty, используя клавишу k в программе «top».

Чтобы cкопировать короткий файл на терминал (Хорошо бы попробовать это сделать перед тем, как начать процесс установки перед настройкой getty) используйте команду cp Linux: cp file_name /dev/ttyS1.

Если это не работает, используйте stty, чтобы сделать упростить интерфейс насколько возможно, отключив все что можно (типа аппаратного управления потоком данных: -crtscts; контроль по четности, и управляющие сигналы модема: clocal). Убедитесь, что скорости и биты/байты — одинаковы. Если ничего не случается, проверьте порт вольтметром (см. следующий раздел).

Измерение напряжений

Если у вас есть удобный вольтметр, проверьте уровень -12 V (от -5 до -15) на выводе 3 (прием данных) на терминальном конце нуль-модемного кабеля. Положительный вывод измерителя должен быть хорошо заземлен (металлические соединители на концах кабелей часто незаземлены).

Если отрицательного напряжения нет, то проверьте его в выводе 2 на компьютере. Если оно есть там, но нет в выводе 3 на терминале, то неисправен кабель (потеря контакта, порван провод, или это не нуль-модемный кабель с выводом 2 соединенным с выводом 3). Если напряжение отсутствует, то не работает последовательный порт на компьютере.

Проверьте его диагностическим программным обеспечением или замените это.

Если последовательный порт действует, то вы можете посылать файл в него (с заблокированными средствами управления модема) и посмотрите, принимается ли что-нибудь на него. Чтобы проверить переданный сигнал, посмотрите на индикатор вольтметра в -12 V, когда линия неактивна.

Затем начните посылать файл (или запустите getty). вы должны увидеть, что индикаттор приближается к 0 и дрожит около 0, поскольку он измеряет короткие импульсы потока битов.

вы можете увидеть это также на шкале AC, если ваш измеритель имеет конденсатор, чтобы блокировать внешнее напряжение DC, когда измеряют на AC. Если его нет, то задержка DC -12 V вызовет большую ошибку чтения AC.

Без измерителя, вы могли бы подсоединить хорошее устройство (типа другого терминала или внешнего модема) на последовательный порт, и посмотреть работает ли оно хорошо.

Breakout устройства, и т.д

Хотя воможно, что для нескольких терминалов, вам может понадобиться только мультиметр (используемый как вольтметр), для тестирования линий связи последовательного порта было создано специальное испытательное оборудование. Некоторые называются «breakout …

«, где breakout означает — break out проводники кабеля. Эти устройства имеют два разъема и вставляются в последовательный кабель. Некоторые имеют тестовые точки для подключения вольтметра.

Другие имеют светодиодные индикаторы, которые светятся, когда на некоторых линиях управления модемом есть сигнал.

Кроме того они могут иметь джамперы для соединения любого провода с любым проводом. Некоторые имеют переключатели. Radio Shack продает «RS-232 troubleshooter» и «RS-232 serial jumper box».

Измерение напряжений

Любой вольтметр или мультиметр, даже самый дешевый, который продается за $10, должен прекрасно работать. Попытки использовать другие методы для проверки напряжения сложны. Не используйте светодиоды, если они не имеют шунтирующего резистора.

470 ohm резистор используется для 20 ma светодиодов (но не все светодиоды — 20 ma). Светодиод светит только при соблюдении полярности напряжения на нем, так что вы можете проверить + или — напряжение.

Каждый делал такое устройство для тестирования автомобильной схемы?? Логические зонды могут повреждиться, если вы пробуете использовать их для напряжений больше, чем в ТТЛ-схемах, для которых они разработаны — только 5 вольт.

Попытка использовать 12-вольтовую лампочку — тоже не слишком хорошая идея. Она не будет показывать полярность и из-за ограниченного выходного уровня в UART, вероятно, даже не будет светиться.

Чтобы измерить напряжение на розеточном разъеме, вы можете воткнуть изогнутый отрезок бумаги. Диаметр должен быть не больше, чем вывода так, чтобы это не повредило контакт.

Напряжение на вкус

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

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

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

Для проверки 12 V оближите палец и проведите одним выводом по нему.

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

Источник: http://www.linuxcookbook.ru/howto/Text-Terminal/Text-Terminal-15.html

Ссылка на основную публикацию