Как найти файлы и папки в терминале OSX?
Какие существуют команды для поиска в терминале OSX?
Не для кого не секрет, что терминал в Mac OS X выступает, как сильная среда, в которой вы получаете доступ к скриптовым инструментам, которые способны организовать ваши рабочие процессы в операционной системе Mac OS X; собрать информацию, сформировать отчеты - воспользоваться вашим “маком”, качественно новыми способами. Вообще, просто не передать словами, когда без использования мыши и графического окружения, вы способны проделывать достаточно сложный операции, исключительно из командной строки вашего устройства под управлением Mac OS X. Безусловно, работа в терминале Mac OS X требует определенных знаний, уровнем выше, чем просто - пользователь компьютера. Но изучая компьютерные технологии, я также определил для себя, что начало - это любой этап в той или иной области. Ты начинаешь изучать, читать, восполнять пробелы знаний, которых не достаточно. Так и с командной строкой в Mac OS X. В ней нет определенных операций, которые нужно начинать изучать поэтапно. Вы либо знаете о тех или иных особенностях и функциональных возможностях, либо нет. Итак, сегодня учимся искать файлы в терминале Mac OS X. Очередная статья про командную строку в Mac OS X.
С чего начинается поиск в OS X, когда мы работаем с графической средой? Все просто, мы вызываем Finder , и нажимаем сочетание клавиш Command + F (на раскладке macbook клавиша слева, рядом с пробелом). Нажав сочетание для вызова поиска, мы просто вбиваем текст в соответствующее поле, и получаем наиболее полную информацию по интересующим нас критериям.
А как это происходит в командной строке? На самом деле поиск в командной строке Mac OS X также прост. Вам потребуется знать всего три основные команды поиска: "Find" , "mdfind" , "locate" . После ввода этих команд и указания всех параметров поиска, ваша поисковая выдача наполнится результатами с демонстрацией полного пути к файлам наиболее четко соответствующим введенному запросу.
Базовая команда поиска не только в операционной системе Mac OS X, но и на всех других Unix системах. Я говорю о том, что этот вариант поиска работает в других операционных системах, отличных от Mac OS X. Чтобы команда выполнялась корректно ей необходимо создать ряд условий:
1. Вы определяете область по которой будет происходить поиск;
2. Затем указываете имена файлов которые вам необходимы.
Не так много условий, но как только они будут выполнены, перед вами появится окно результатов поиск в командной строке Mac OS X, где будут указан полный путь к найденным файлам.
Так в примере выше, я воспользовался командой "find" в терминале Mac OS X (командной строке), для поиска файла с именем "Finder". В принципе условия поиска были достаточно простыми, ведь я знал расположение файла, знал его имя, и все что мне было необходимо - это ввести данные. Первое, что я сделал, это написал саму команду, далее путь к файлу, обозначил условие поиска "-name", и после условия ввел его значение - файл Finder.txt.
Стоит понимать, что мой пример примитивный, а поиск может происходит по любым параметрам, которые только пожелаете, и как может себе позволить "find" (команда поиска) в операционной системе Mac OS X (-type (поиск по определенному типу), -size (поиск по размеру файла) и т.д.).
Узнать о том какие условия доступны из командной строки для операторов "find" в Mac OS X можно набрав "man find" . Появится полное описание команды. Как только закончите его читать нажмите Ctrl + Z.
Найти что-либо в Unix системах быстрее чем в других ОС. Все дело в том, что поиск в Unix достаточно разнообразен. Ведь с одной стороны у вас есть команда "Find" . Ее функционал был продемонстрирован выше, но она эффективна в том случае, когда вы точно знаете место размещения, или у вас есть время для ожидания. Так как поиск "в слепую" при помощи команды "Find", может занять достаточно много времени. Так как объем сканируемого пространства в современных жестких дисках достигает внушающих размеров.
Поэтому, если вам необходимо найти системные файлы, необходимо воспользоваться специальной командой поиска "locate" . Правда для этого сначала необходимо включить специальную базу данных. Для начала вводим следующую строку в терминале OS X:
Sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
Данная инструкция заставит активироваться в вашей системе демона, который проиндексирует вашу систему и позволит работать с командой "locate" в терминале операционной системы OS X. Как я уже говорил команда locate направлена для поиска по системным файлам. Именно для этого ее и необходимо использовать. Так как в поисковый индекс не попадут пользовательские файлы. Кстати, не пытайтесь воспользоваться поиском при помощи locate сразу. База должна быть создана. Но как только процесс будет завершен, можно воспользоваться следующей конструкцией - пишем locate имя файла.
Эта команда представляет собой поисковый алгоритм в системах OS X только без графического окружения. Да, mdfind - это Spotlight, только без красивых кнопок, и с более трудными для понимания настройками.
Именно в этом поиске происходит настройка поиска по определенным параметрам, с указанием метаданных. При этом команда не лишена простого и понятного функционала, как просто осуществить поиск.
Введя простую инструкцию mdfind OSX. Будут найдены все документы с содержанием как внутри так и в название "OSX". Но такой поиск слишком широк, нам не нужна поисковая выдача содержащая несколько сотен объектов, и поэтому в команде mdfind приветствуется использование флагов. Таких как флаг "-onlyin" который дает возможность воспользоваться командой mdfind , но только по определенной конструкции, когда поиск будет производится в том месте который мы теперь можем указать (теперь, после ввода флага "-onlyin").
Кстати, если использовать "-onlyin" в директории (указывать путь поиска и заканчивать на директории) то поиск будет осуществляется в конечной папке и уровнями ниже. При этом если указать в конце файл, поиск будет производится в конкретном файле.
Собственно не так сложно, но при этом лучше конечно же знать спецификацию, попробовать почитать, чтобы понимать какие есть возможности для работы с командой поиска mdfind в терминале Mac OS X.
Можно представить, какой шквал камней пронзит воздух в ответ на заявление, что стандартный вид командной строки просто скучен. Ну да ладно, скучен, так скучен. Всего несколько простых приемов настройки - и цветовую палитру «блочной утилиты «Терминал» (Terminal) можно значительно расширить. Что, кстати, может упростить считывание текстовой информации.
Для необходимого минимума давайте улучшим строку приглашения, разнообразим вывод команды ls и включим отображение цветов. Все это можно сделать, подредактировав содержимое файла .bash_profile или .bashrc , который расположен в домашнем каталоге. В этом примере рассмотрим работу с первым файлом:
Первая строка указывает, чтобы строка приглашения консольной bash-оболочки стала отображаться в цвете, а формат ее стал вида имя_пользователя@имя_машины:cwd $ . Следующие две строки включают для командной строки поддержку цвета и настраивают отображение вывода команды ls .
В последней строке мы ссылаемся на команду ls, включив в это обращение несколько флагов. Флаг -G включает цвет в выходном потоке команды, -h переводит числовые значения в понятные пользователю единицы измерения, а -F добавляет символ косой черты (/) после имени каталогов.
Если выполнить все вышеуказанные действия, то окно командной строки при еще включенном нано-редакторе будет выглядеть так:
После выполнения всех действий откройте новое окно «Терминала», запустите команду ls - и вы увидите разницу.
Все нижеизложенное будет привязано к конкретной цветовой схеме (или профилю). Это значит, что каждую цветовую схему нужно будет настраивать отдельно. Для большинства схем «Терминала» поддержка ANSI-цветов включена по умолчанию, но если для какой-то схемы этот параметр выключен - включите его.
Теперь такие объекты, как исполняемые файлы и каталоги, будут отображаться жирным шрифтом и более ярким цветом - так их будет проще отличить от других объектов, которые также отображаются цветным текстом.
После настройки «колоризации» командной строки можно перейти к параметрам фона окон «Терминала»:
Mac OS является Unix- системой и являясь полноправным членом семейства Unix в ней есть командная строка (думаю не опытных пользователей Мак это удивит). Да в Mac OS так же как и в Linux, Windows есть командная строка, через которую можно выполнять абсолютно все команды. Изначально работа в Unix, Linux, Windows происходила так- пользователь вводил команду и спустя время получал результат. Затем появился графический интерфейс, с помощью которого можно было выполнять те же операции только значительно проще. На сегодняшний день практически все операции в Mac OS можно выполнять в графическом интерфейсе, но все же есть область администрирования, в которой без командной строки (в Mac OS она называется Терминал) ни как не обойтись, особенно она нужна при восстановлении работы операционной системой. Но поскольку сбои в Mac OS происходят крайне редко, многие пользователи и не догадываются, что у них есть Терминал.
Что бы начать знакомство с Терминалом или просто выполнить какие либо команды, необходимо его запустить. Запустить Терминал на Маке можно несколькими способами.
Запустите Spotlight, для этого нажмите на значок лупы в области для menulet или с помощью сочетания клавиш
В строке поиска Spotlight введите слово Терминал и нажмите "Enter"
В результате вы увидите окно Терминала.
Если первый способ запуска Терминала вас по каким то причинам не устроил, на мой взгляд, он удобней всего, есть еще один способ. Откройте "Finder" выберите "Программы" - "Утилиты".
Среди утилит найдите "Терминал" и запустите.
Когда при работе с Mac OS X надо сделать что-либо недоступное через графический интерфейс, бывает нужна старая добрая командная строка. Например, чтобы вставить разделительные пробелы в панель Dock или запустить системную утилиту, не имеющую графического интерфейса. Для работы с командной строкой в Mac OS X существует приложение Terminal.
Если вы работали в Unix-подобных системах, то у вас не будет проблем с командной строкой в Mac’е, если же вы никогда не работали с командной строкой, то эта статья поможет вам получить базовые знания, необходимые для начала работы.
Чтобы открыть Терминал, его, как и любое приложение, надо найти в Finder в папке Applications, он там располжен в подпапке Utilities (Программы → Служебные программы ). Это можно сделать быстро, нажав сочетание клавиш Shift+Command+U , также его можно закрепить в Dock, если вы планируете часто с ним работать. Я предпочитаю запускать его при помощи Spotlight .
При помощи горячих клавиш надо открыть строку поиска Spotlight и начать набирать слово terminal (обычно достаточно набрать только ter ) и, когда Spotlight найдёт Terminal, нажать ввод (return, он же enter) . Таким образом для запуска программы используется только клавиатура и получается быстрее, чем мышкой или трэкпадом.
Для того чтобы открыть Spotlight у меня назначена комбинация клавиш Option+Пробел , узнать какая комбинация назначена у вас или поменять комбинацию можно в System Preferences → Spotlight (Системные настройки → Spotlight) .
Но вернёмся к Терминалу и командной строке.
После запуска вы увидите такое окно. Точнее оно будет белым с чёрными буквами, но вы можете легко изменить оформление Terminal .
В первой строке отображается время последнего логина, имеется в виду время последнего запуска (открытия сессии) Терминала. Эта строка выводится один раз после открытия сессии командной строки.
Следующая строка называется строкой приглашения ввода от (англ. command prompt или просто prompt). Она говорит о том, что командная строка готова к вводу команд. В ней содержится следующая информация:
Остановлюсь чуть подробнее на последнем символе строки ожидания ввода пользователя — он бывает трёх видов:
Наберите в командной строке ls , что является сокращением от list , и нажмите ввод. Вы увидите список, в котором представлено содержимое текущей директории.
Не так и сложно, не правда ли? И по своей сути такой вывод не сильно отличается, если открыть содержимое этой же директории в Finder, используя привычный графический интерфейс.
Некоторым командам можно передать какие-либо данные в виде аргумента, например, можно передать команде ls название директории в качестве аргумента. Тогда команда ls выведет содержимое директории, которую вы передали ей как аргумент.
Если путь содержит пробелы, то их необходимо экранировать при помощи обратного слеша \ перед пробелом или заключать весь путь в кавычки, иначе командный интерпретатор не сможет понять, где кончается аргумент, и воспримет пробел как конец ввода.
У многих команд есть возможность указать параметр (опцию) или параметры, которые меняют поведение команды. Например, для команды ls можно указать аргумент ‑l , что является сокращением от long и значит полный вывод информации, и аргумент ‑a , что является сокращением от all и значит вывести всё содержимое, в том числе и скрытое. В таком случае команда с двумя аргументами будет выглядеть следующим образом: ls ‑la и выведет содержимое директории вместе с дополнительной информацией о каждой директории и файле.
Как видно из скриншота, теперь отображаются скрытые системные файлы, которые начинаются с точки, а дополнительная информация выводится в виде таблицы, где каждый вид информации сгруппирован по столбцам, а каждая строка относится к конкретному файлу или директории.
Информацию в каждой колонке этой таблицы:
Также вы можете комбинировать аргумент и параметры при вызове команды, например, как на скриншоте ниже, где вызывается команда ls c аргументом /Users/ixrevo/.dropbox/ и параметрами ls ‑lah:
Для начала, думаю, хватит. Как видите, ничего сложного в использовании командной строки нет, а если вы хотите продолжить знакомство с ней, то можете почитать о
И многого другого, который поначалу может даже напугать рядовых пользователей. И даже не смотря на то, что приложение завязано на программировании в чистом виде, это достаточно простой инструмент, который может значительно улучшить жизнь пользователя Mac. В этом материале мы собрали 10 полезных команд, обязательных для ознакомления каждому.
Вконтакте
Все описанные ниже команды будут работать на OS X Mavericks и новее. Открыть Терминал можно через Finder → Программы → Утилиты или посредством поисковика (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
Если вы не хотите видеть все скрытые файлы и папки в системе, а желаете лицезреть лишь скрытые файлы или папки в конкретном месте - введите команду:
chflags nohidden /Library/
Если вы хотитите сразу же видеть содержимое подключённого к 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 /
Чтобы произвести те же действия, но уже с папкой - используйте.