Комментарии 25
$ man ag
No manual entry for ag
$ apt show ag
N: Unable to locate package ag
N: Unable to locate package ag
E: No packages found
В статье для начинающих лучше писать про стандартные команды.
Как минимум, следует добавить что их нужно устанавливать дополнительно и написать как:
sudo apt install silversearcher-ag ack
Заодно и про sudo рассказать.
Ещё коробит выражение «bash-команда». Есть же и другие интерпретаторы.
Что в статье про bash?
Подозреваю, что cd
, алиасы, перенаправление ввода-вывода и конвейеры.
Что в статье про bash?
из списка в 21 штуку только «cd»
перенаправление ввода/вывода и пайпа, внезапно, не команды баша :)
вот из-за таких статей я уже не первый год юниоров переучиваю и чушь слушаю на собеседованиях
ruvds исправьте пожалуйста или уберите
не команды баша
Так-то оно так, но в других шеллах алиасы и перенаправления могут задаваться иначе или не поддерживаться, если они не POSIX-compliant.
Например, в fish есть свой синтаксис для перенаправления stderr
.
Так что, на мой взгляд, POSIX-совместимость можно считать полезной особенностью bash
Оформлено конечно красиво, ничего сказать не могу, но господа...2019 год на дворе, а мы на Хабре…
Да, 2019 год на дворе, но в заголовке указано, что информация для новичков.
информация для новичков
Ну давайте каждый день тогда это публиковать — каждый день же новички появляются.
НЛО прилетело и опубликовало эту надпись здесь
mv my_file target_directory: перемещение файла my_file в папку target_directory. При указании целевой директории нужно использовать абсолютный путь к ней (а не конструкцию вроде ../).
Почему? Перемещая файл в папку можно использовать и абсолютный и относительный путь к папке.
cat my_one_file.txt: когда этой команде передают один файл — она выводит его в stdout.
Если же передать ей два файла или большее количество файлов, то она ведёт себя по-другому.
Почему по-другому?
Передали один файл — вывело один файл. Передали два файла — вывело два файла. По-другому это как-то совсем не так. А тут разница небольшая.
kill 012345: останавливает указанный выполняющийся процесс, давая ему время на корректное завершение работы.
Не совсем корректно. По умолчанию отправляется сигнал 15, который приложение может перехватить и обработать для корректного вывода. А может и вообще проигнорировать.
Никакое особое время не дается, просто зависит от того, как приложение обрабатывает данный сигнал.
ag my_regex my_file: возвращает сведения о номерах строк, и сами строки, в которых найдены совпадения с my_regex.
grep -n my_regex my_file
ag -i my_regex my_file: поиск выполняется без учёта регистра символов.
grep -in my_regex my_file
Команда ag автоматически обрабатывает файл .gitignore и исключает из вывода то, что найдено в папках или файлах, перечисленных в этом файле. Это очень удобно.
grep --exclude-from=FILE
Вдобавок ag и ack нужно отдельно устанавливать, и следовательно она недоступна из коробки? Тоже касается ack.
Было бы полезно пояснить в чем именно заключается преимущество, так как научиться работать с grep, который доступен на каждом linux — гораздо полезнее, чем научиться работать с ag/ack — ведь если написать скрипт, который использует grep, то можно быть уверенным, что он будет работать на 99% машин. А с ag/ack такой уверенности нет Я даже 10% побоюсь назвать.
немного продвинутого уровня
Ни одна статья рассказывающая о возможностях Баша не должна обходиться без ссылки на Bash Pitfalls mywiki.wooledge.org/BashPitfalls
[ -x /usr/bin/sed ] && echo sed || echo awk
less
cut -f 1 -d \
sort
uniq
…
Материал не раскрыт.
less
cut -f 1 -d \
sort
uniq
…
Материал не раскрыт.
А если терминала нет, то echo sed и echo awk обе не смогут выполниться.
Из из всего вышеперечисленного bash это только test и echo
Из из всего вышеперечисленного bash это только test и echo
Жутко интересно, зачем на картинке трубопровода с каждой стороны стоек приделана непонятная двойная штуковина? Для громоотвода низковато, для радиорелея слишком часто…
Зачем писать миллион первый вариант статьи на тему Bash для самых маленьких?
Самые полезные команды это
tab
ctrl+u
ctrl+l
locate
mc и как выйти из vim
tab
ctrl+u
ctrl+l
locate
mc и как выйти из vim
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
[в закладки] Bash для начинающих: 21 полезная команда