Понадобилось мне восстановить из бекапа Time Machine небольшой скрипт. Ситуация осложнялась тем, что я его несколько раз менял, потом написал с нуля, потом стёр, в итоге в архиве Time Machine было множество вариантов. Нужный скрипт был с характерными первыми строками. В репозиторий git я скрипт не вносил, что не облегчало мою задачу.
Привык я в стандартной конфигурации Ubuntu к удобству автодополнения в bash, которое обеспечивается пакетом bash-completion. Автодополнение имён файлов/каталогов/программ с помощью кнопки Tab в bash или получение списка вариантов с помощью двойного нажатия Tab знают все. А этот пакет расширяет автодополнение, позволяя, например, дополнять параметры в командах, имена хостов и т.п. В общем вещь полезная.
Супер-простой и очень очевидный для многих приём. Но может кто-то не знает. Для того, чтобы в Terminal.app (а именно в bash) перейти в предыдущий каталог, нужно выполнить команду: $ cd -
Как вы видите из моих статей, я активно использую менеджер пакетов MacPorts. Я привык с ним работать через консоль, но существует и графический интерфейс – я обнаружил его, читая статью об MacPorts на Apple ADC. Это бесплатная программа Porticus:
Если по каким-то причинам нужно сделать локальную копию сайта (например, если нужно работать над материалами, но доступ в Интернет не предвидится), то обычно нет смысла искать дополнительный софт, тем более платный. Есть консольная программа wget (The non-interactive network downloader), которую можно поставить через MacPorts (sudo port install wget). Синтаксис: wget -v -m -k -K -E [...]
Я начал писать заметку о launchctl, но понял, что сегодня её не закончу. Поэтому кратко расскажу о том, как загружать или выгружать сервисы, установленные через MacPorts. Стартовые скрипты MacPorts размещает в файлах /Library/LaunchDaemons/org.macports.${port}.plist. Загрузить сервисы можно либо привычно через launchctl $ sudo launchctl load -w /Library/LaunchDaemons/org.macports.${port}.plist либо через MacPorts: $ sudo port load port Останов [...]
Обновление от 04.01.2010. Версия 4.7.0 из портов уже нормально поддерживает UTF-8, поэтому рекомендую ставить её, причём русские буквы отображаются даже при компиляции с ncurses, что даёт возможность отображать интерфейс “нормально”, а не ASCII-символами: $ sudo port selfupdate $ port variants mc mc has the variants: ncurses: use ncurses screen library * conflicts with slang2 [+]slang2: [...]
При выводе через pipe (“|”) в Unix обычно буферизируются стандартный поток вывода stdout. Представим ситуацию – мы следим за выводом tshark на экран, но при этом хотим параллельно записывать его в файл (забудем на мгновение о команде script): $ sudo tshark -i en1 | tee out.txt Мы видим, что строки на экране появляются не сразу, [...]
Практически всё, что необходимо для работы, можно настроить через стандартные настройки в GUI. Однако иногда возникает необходимость добраться до скрытых настроек, тогда на помощь приходит утилита defaults. Она позволяет читать, записывать и удалять пользовательские установки из командной строки. Приложения Mac OS X и прикладные программы обычно хранят настройки, используя механизм defaults. Давайте попробуем поработать с [...]
Вчера я слегка рассказал об установке XCode, сегодня же “вернёмся к корням” – займёмся установкой программ Open Source. Вместе с XCode поставляются все средства разработки, поэтому мы можем теперь скомпилировать любой пакет (configure, make, make install). Но простая компиляция имеет огромный недостаток – поддерживать программы в актуальном состоянии можно исключительно вручную, нужно регулярно отслеживать выход [...]