fa
Feedback

فریب کلاهبرداران را نخورید! تل‌متریو این کانال‌ها را شناسایی و برچسب‌گذاری می‌کند 👉 برای مشاهده برچسب، اشتراک تهیه کنید

BashMaster

BashMaster

رفتن به کانال در Telegram

Удобные консольные наработки на каждый день для разработчиков, девопсов и сисадминов. Реклама: @Kone4noVasya Канал на бирже: https://telega.in/c/bash_help

نمایش بیشتر
8 805
مشترکین
-124 ساعت
-107 روز
-4230 روز
آرشیو پست ها
Ты знал что каждый линуксоид должен знать сети на хорошем уровне? Если ты хочешь по-быстрому разобраться в сетях и не хочешь
Ты знал что каждый линуксоид должен знать сети на хорошем уровне? Если ты хочешь по-быстрому разобраться в сетях и не хочешь читать книги по тысячи страниц, то переходи в канал @school_network где ты быстро сможешь изучить самое важное за несколько минут. 👉 @school_network

Как увидеть команды, которые выполняются внутри bash скрипта Иногда хочется понять, правильно ли вы написали скрипт, или отлаживаете CI/CD джобу. Но как увидеть, какие именно команды выполняются, какие переменные передаются и так далее? В этом вам точно поможет встроенная функция set -x. Все команды, которые будут идти после выполнения set -x будут отображены в консоли. Эту функцию можно вызывать как в самом начале скрипта, так и окружить ей необходимый участок: set -x / set +x

TAB для автодополнения Если во время ввода названия файла или папки в команде вы нажмете TAB, то консоль допишет искомое название. Но TAB также умеет дополнять любые аргументы: подкоманды, названия веток, контейнеров, ssh хостов и так далее. Поэкспериментируйте сами. Вообще autocomplete для различных команд можно устанавливать, поэтому если TAB для вашего приложения не сработал – попробуйте поискать нужный пакет автодополнений для этой программы.

TAB для автодоплнения Если во время ввода названия файла или каталога в команде вы нажмете `

Как сохранить вывод команды в файл Вывод любой консольной команды можно перенаправить в файл. Для этого используйте модификаторы >> чтобы добавить результат в конец файла и >, чтобы перезаписать файл.
sort data.txt > sorted.txt
cat nginx/access.log | grep 127.0.0.1 >> filtered_by_ip.log

Сортировка в консоли Интуитивным перебором можно найти команду консоли почти на любой случай жизни. Отсортировать файл можно конечно же командой sort. С флагом -r сортировка произойдет в обратном порядке. Кстати можно сортировать еще и вывод через конвеер |. sort data.txt ./app fetch-names | sort

Сортировка в консоли Интуитивным перебором можно найти команду консоли почти на любой случай жизни. Отсортировать файл можно конечно же командой sort. С флагом -r сортировка произойдет в обратном порядке. Кстати можно сортировать еще и вывод через конвеер |.
sort data.txt
./app fetch-names | sort

test для быстрой проверки условий Когда неохота писать условную команду if для выполнения короткого действия воспользуйтесь test с условными связками && и ||. Например, создать файл, если его еще нет:
test -f ./etc/nginx.conf || touch ./etc/nginx.conf
Если вы используете проверку И, то не забудьте в конце дописать || true, иначе test оборвет ваш скрипт с провалом:
test "$RESULT" && echo "Success" || true

Ты знал что каждый линуксоид должен знать сети на хорошем уровне? Если ты хочешь по-быстрому разобраться в сетях и не хочешь
Ты знал что каждый линуксоид должен знать сети на хорошем уровне? Если ты хочешь по-быстрому разобраться в сетях и не хочешь читать книги по тысячи страниц, то переходи в канал @school_network где ты быстро сможешь изучить самое важное за несколько минут. 👉 @school_network

Фигурные скобки в аргументах С помощью фигурных скобок можно быстро размножить аргументы по шаблону. Например создать несколько файлов, изменить расширение, вывести последовательность:
echo {a..z}
touch {01,02,05..10}_data.txt
mv .env{.example,}

Зачем использовать симлинки Символическая ссылка – это специальный файл, который на самом деле не содержит данных, а является указанием реального местоположения другого файла или папки. В обычной жизни такие ссылки вам особо не помогут, но например при деплое веб-приложения на сервер вы можете вынести хранилище загружаемых посетителями файлов из папки приложения в другое место файловой системы. Например, создать такую ссылку можно командой:
ln -s /data/uploads /app/public/uploads
Приложение обращаясь к загрузкам в папке ./public/uploads фактически будет обращаться к /data/uploads.

Для Фронтенда тебе 100% нужны эти каналы! Специалист по JavaScript - образовательный канал по JavaScript. Здесь публикуется г
Для Фронтенда тебе 100% нужны эти каналы! Специалист по JavaScript - образовательный канал по JavaScript. Здесь публикуется готовый код, с использованием методов, конструкций и операторов языка, который можно использовать прямо сейчас. Сеньор Помидор - канал для frontend программистов, с примерами лучших решений на HTML|CSS|JS для твоего проекта и ежедневными заметками, видеоуроками. Figma - Templates - канал с библиотеками готовых макетов, шаблонов, референсов, сервисов. Лучший источник макетов для практики верстки. Каналом пользуются успешные фрилансеры, дизайнеры и frontend программисты.

Бекендер, который не умеет использовать командную строку bash – так себе специалист. Если посетить несколько собеседований уровня от миддл, то можно убедиться, что вопросы про опыт работы в консоли появляются довольно часто. Сходу научиться всем командам bash нереально – их очень много. К счастью, появился канал #!/bin/bash, в котором каждый день можно узнавать по одной небольшой связке команд и сразу же внедрять их в свою работу. Подпишись, освоишь bash на изи 👍

Как разбить команду на несколько строк Если при вводе команды поставить знак \ (обратный слеш), то при переводе строки вы сможете продолжить написание команды. Полезно, например, если вы хотите красиво отформатировать команду с большим количеством аргументов и отправить сниппет коллеге.
cd /app 
  && mkdir var 
  && cp .env.dist .env

Как отфильтровать вывод предыдущей команды и зачем нужен pipe | Bash во многом удобный инструмент именно благодаря своей возможности передавать результаты команд между друг-другом. Как раз для этой цели используется | (pipe, канал, конвеер). Самый простой пример – отфильтровать вывод лога nginx, чтобы показать только запросы к определенному URL. Выводим содержимое файла с cat, фильтруем с помощью grep:
cat access.log | grep api/users
cat access.log | grep 02/Dec
cat access.log | grep api | grep 172.17.0.1

Из-за этого канала твой тимлид впадет в депрессию Потому что ты начнешь решать задачи за час до дедлайна без гугла и форумов Подпишись на Точка PHP и: 🟢прорешай реальные задачи с собеседований IT компаний 🟢изучи PHP библиотеки, которыми пользуются IT-гиганты 🟢получи доступ к современным Backend технологиям в одном канале Перестань трястись на собеседованиях — подпишись и будь уверен в своих знаниях

Как быстро найти команду в истории Наверняка вы знаете, что предыдущие команды консоли можно перебирать стрелками вверх-вниз. Но если вам нужно найти давнишнюю команду только по каким-то обрывкам слов, нажмите Ctrl + R и введите в консоль часть слова, чтобы вывести последнюю команду с искомым вхождением этой строки. Каждое последующее нажатие ищет следующую команду в истории.

Парсниг JSON в консоли Если вам требуется просто спарсить единственное поле объекта JSON, полученного например из API-эндпоинта, тогда вы можете обойтись sed. Если же нужно, предположим, выбрать определенный ключ массива вложенного в глубину объекта, используйте утилиту jq (документация). Как минимум, jq выведет ваш JSON отформатированно и в цвете.

Зачем нужна комбинация && С помощью && можно объединить выполнение нескольких команд. Но выполнение прервется, если какая-то команда завершится неудачно. Например, вам требуется скачать файл-установщик и выполнить его. Выполнение не будет иметь смысла, если скачивание прервется.
curl -sS https://url-to-installer.com/installer.sh -o /tmp/installer.sh && /tmp/installer.sh
git commit -m "Fix" && git push

Как выполнить команду под другим пользователем Команда sudo позволяет выполнять команды от имени другого пользователя системы. Добавьте флаг -u и укажите юзернейм необходимого пользователя, или опустите его, чтобы выполнить команду под root. Это может быть полезно, например, если вам требуется подключиться к локальной БД или выполнить команду приложения из под веб-сервера.
sudo -u postgres psql
sudo -u www-data php artisan:warm-cache
sudo mv secret.txt /root/secret.txt