Pull to refresh

Comments 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-команда». Есть же и другие интерпретаторы.
UFO just landed and posted this here

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

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

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

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

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


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


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

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

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

Ну давайте каждый день тогда это публиковать — каждый день же новички появляются.
С другой стороны за продвинутые статьи тоже можно минусов отхватить… Я подозреваю что bash вообще не в моде на Хабре :(
Вопрос же не в моде и не в продвинутости статьи, а в том, что это написано в миллионный раз.
UFO just landed and posted this here
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 функционал вывода на консоль.
Жутко интересно, зачем на картинке трубопровода с каждой стороны стоек приделана непонятная двойная штуковина? Для громоотвода низковато, для радиорелея слишком часто…
UFO just landed and posted this here
Это морозилки, чтобы мерзлота не таяла.

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

Самые полезные команды это
tab
ctrl+u
ctrl+l
locate
mc и как выйти из vim
Sign up to leave a comment.