Как стать автором
Обновить

Комментарии 51

Кажется вы оттипографили текст, теперь примеры нельзя скопировать и использовать:

C:\> «C:\Program
browser-sync start —server

Кавычки, два дефиса в тире и т.п.
ещё '. gitignore' и пробелы в URL.
Исправил, спасибо!
Вы бы ещё уточнили там где надо, что в примере речь идёт исключительно о Python, а то складывается ощущение, что это по дефолту везде так:
Быстро и уверенно удаляем мусор из репозитория и судорожно правим. gitignore:
Чтобы запустить веб-сервер с корнем из текущей папки:
(хотя здесь, конечно, и так понятно из примера, но всё же, читается странно)
Вы бы ещё уточнили там где надо, что в примере речь идёт исключительно о Python

Справедливости ради, Python есть практически везде.
Поправил! Спасибо!
Интересно, хоть когда-нибудь команды перестанут выглядеть как заклинания и требовать специальные сервисы для расшифровки?
Уже что?
В эту сторону все и идет. Просто медленно. Поэтому появляются такие вот костыли как explainshell
Перефразируя Жванецкого:

$ man find

накроет ls как бык овцу.
Рекурсивный глоббинг делает find ненужным в 99% случаев
Я понимаю, что find гораздо мощнее и быстрее. Но как-то не складывается у меня с ним. Слишком много нужно запоминать по сравнению с ls.
Зато есть
-exec
, что незаменимо при наличии пробелов в путях и именах файлов.
для простого поиска ls быстрее будет чем find. А вот для применения каких-либо действий на результат поиска да, find удобнее будет. Но при чём тут пробелы в путях?
Для простого — да. А пробелы как раз мешают действия выполнять:
➜  test  echo "file 1 contents"  > "file 1"
➜  test  echo "file 2 contents"  > "file 2"
➜  test  ls -al
total 16
drwxr-xr-x    4 valentine  staff   136 28 сен 13:21 .
drwxr-xr-x  157 valentine  staff  5338 28 сен 13:20 ..
-rw-r--r--    1 valentine  staff    16 28 сен 13:21 file 1
-rw-r--r--    1 valentine  staff    16 28 сен 13:21 file 2
➜  test  for file in $(ls); cat $file;
cat: file: No such file or directory
cat: 1: No such file or directory
cat: file: No such file or directory
cat: 2: No such file or directory
➜  test  find . -type f -exec cat {} \;
file 1 contents
file 2 contents
$ grep IFS ~/.profile 
export IFS=$'\t\n'

избавит вас от проблемы с пробелами
Но добавит проблем с другими вещами. Я так уже делал, но ведь иногда нужно иметь массив строк, разделённых пробелами. Да, я в курсе про трюк со временным изменением IFS, но это ведь задалбывает рано или поздно. =)
ну, всё зависит от того, с чем вы чаще сталкиваетесь в консоли — с проблемами пробелов в путях или с массивом строк :)
По совести сказать, примерно поровну. И првык уже юзать find как раз для разрешения проблем с путями. На автомате уже в скриптах пишу find -depth 1 -iname "*.png" вместо ls *.png. Кстати, IFS плох ещё и тем, что на сервере, где будет скрипт выполняться, он может быть задан иначе.
>for file in $(ls)
facepalm.jpg

for file in *
Спасибо! Век живи — век учись. И почему я раньше этого не знал? =)
Также есть -print0 и флаг -0 у xargs, что ещё полезнее :)
>Использование ** в zsh
Баш не стоял на месте и в версии 4.х вдохновлённый zsh таки взял эту фичу(рекурсивный глоббинг) на вооружение
Уточнение: работа ** в bash регулируется опцией globstar, которая по-умолчанию выключена:
shopt -s globstar
Стандартный синтаксис глобов не поддерживался шеллом?..
лайтовый веб-сервер:

npm install -g http-server

использовать: http-server [папка]

гуй к гиту:

npm install -g ungit

использовать: ungit в папке с нужным репозиторием.

Это еще npm ставить надо…
Само собой. У фронт-ендщиков, node как-правило уже стоит.
Логично :) Я например питонист, мне нода например не нужна, проще git instaweb использовать :)
А я нодист, но бинарные модули к ноде, внезапно, требуют gyp, который на питоне.
Заявлено, что в статье будет информация о «JavaScript, HTML, CSS».
А тут только про гит и консоль. Разочарован.
НЛО прилетело и опубликовало эту надпись здесь
Хоть бы объяснил, чем пользуется, ато только строки, а куда их вводить и что для этого нужно, понятно не всем.
Начали появляться вебдевелоперы, не знающие про консоль.
Я знаю про консоль и активно ее использую, но это не накладывает на меня обязательства знать, что такое zsh
Возможно, в статье не хватает метки Linux. Пробовали активно использовать консоль в какой-нибудь *nix-системе?
У меня мак, сервак, который использую, на Debian7.
Не то, что не хватает, она чуть ли ни единственная пригодная. Ну явно не HTML / JS.
использую и активно. а для пущей удобности ещё и guake установлен на рабочей станции
НЛО прилетело и опубликовало эту надпись здесь
В качестве шелла стоит Z Shell, также использую Oh-my-zsh. Все это бежит на OSX.
Прошу прощения, что ввел в заблуждение. Есть что сказать и по поводу HTML, CSS, и JavaScript. К сожалению, в последний момент выпилил большой кусок, так как он тянет на отдельный пост.
Публикуй, я как раз хотел про HTML / CSS хаки почитать, если они не заезженные.
Спасибо Вам огромное человеческое за Babun. Это именно то, чего мне так не хватало в Windows.
Посмотри еще на это msys2.github.io
Чем он лучше/хуже того же Babun? Информация плоховато гуглится… Увидел, что там более арчеподобный пакетный менеджер, что очень радует. А репы используются те же самые, от cygwin? В babun мне в пакетах не нашло ни mplayer, ни vlc, ни ffmpeg, ни ogginfo…
Репы арчевские, легко портировать под msys2 github.com/msys2/MINGW-packages
Использование ** в zsh
при чём тут zsh?
и попробуйте найти командой «ls **/*.json» файлы, которые лежат не только во вложенных, но и в текущем каталоге. Уж лучше «find ./ -name *.json»

Быстро и уверенно удаляем мусор из репозитория в python проекте и судорожно правим. gitignore:

git rm --cached **/*.pyc
кажется вы неверно понимаете поведение и смысл это команды.
при чём тут zsh?
и попробуйте найти командой «ls **/*.json» файлы, которые лежат не только во вложенных, но и в текущем каталоге. Уж лучше «find ./ -name *.json»

Сейчас еще раз попробовал, работает и для текущей папки.



кажется вы неверно понимаете поведение и смысл это команды.

Если здесь что-то не так, напишите пожалуйста подробнее! Буду разбираться. Я рассматривал ситуацию, когда файлы *.pyc оказались в репозитории по невнимательности. Команда git rm удаляет их из репо, но удалять их из файловой системы нет смысла, поэтому я поставил флаг --cached.
да, в Bash из-за выключенного globstar разница в выдаче
снимок


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

Публикации

Истории