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

Комментарии 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-команда». Есть же и другие интерпретаторы.
НЛО прилетело и опубликовало эту надпись здесь

Подозреваю, что cd, алиасы, перенаправление ввода-вывода и конвейеры.

Что в статье про bash?

из списка в 21 штуку только «cd»
перенаправление ввода/вывода и пайпа, внезапно, не команды баша :)

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

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


Например, в fish есть свой синтаксис для перенаправления stderr.


Так что, на мой взгляд, POSIX-совместимость можно считать полезной особенностью bash

А причем тут bash? POSIX совместимость обеспечивает не баш а Линукс.

На винде bash работает несколько иначе. Например без поддержки линукс подсистемы, там много чего не работает.
Оформлено конечно красиво, ничего сказать не могу, но господа...2019 год на дворе, а мы на Хабре…
Да, 2019 год на дворе, но в заголовке указано, что информация для новичков.
информация для новичков

Ну давайте каждый день тогда это публиковать — каждый день же новички появляются.
С другой стороны за продвинутые статьи тоже можно минусов отхватить… Я подозреваю что bash вообще не в моде на Хабре :(
Вопрос же не в моде и не в продвинутости статьи, а в том, что это написано в миллионный раз.
А я не про эту статью
НЛО прилетело и опубликовало эту надпись здесь
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% побоюсь назвать.

немного продвинутого уровня

[ -x /usr/bin/sed ] && echo sed || echo awk

less

cut -f 1 -d \

sort

uniq

Материал не раскрыт.
А если терминала нет, то echo sed и echo awk обе не смогут выполниться.
Из из всего вышеперечисленного bash это только test и echo
Они выполнятся на stdout, ну или моча ничего не сотворят.
То что в csh перенаправления работают несколько по другому вас не смущает?
А вообще, нужен набор команд для начинающих, а не описание одного из шелов.
BTW где-то в /bin/echo есть независимый от SHELL функционал вывода на консоль.
Жутко интересно, зачем на картинке трубопровода с каждой стороны стоек приделана непонятная двойная штуковина? Для громоотвода низковато, для радиорелея слишком часто…
НЛО прилетело и опубликовало эту надпись здесь
Это морозилки, чтобы мерзлота не таяла.
Спасибо.

Зачем писать миллион первый вариант статьи на тему Bash для самых маленьких?

Самые полезные команды это
tab
ctrl+u
ctrl+l
locate
mc и как выйти из vim
Зарегистрируйтесь на Хабре, чтобы оставить комментарий