ѕодпишитесь на наш Telegram-канал Ѕудьте в курсе последних новостей 👇 😉 ѕодписатьс€
ѕоддержим в трудное врем€ —пециальное предложение на техническую поддержку вашей »“ - инфраструктуры силами наших экспертов ѕодобрать тариф
ѕоставка оборудовани€ √аранти€ и помощь с настройкой. —кидка дл€ наших читателей по промокоду WIKIMERIONET  упить
»нтерфейс статистики Merion Mertics показывает ключевые диаграммы и графики по звонкам, а также историю звонков в формате, который легко поймет менеджер ѕопробовать бесплатно
¬недрение
офисной телефонии
Ўаг на пути к созданию доступных унифицированных коммуникаций в вашей компании ¬недрить
»нтеграци€ с CRM ѕомогаем навести пор€док с данными
и хранить их в единой экосистеме
ѕодключить
»“ Ѕезопастность ”мна€ информационна€ безопасность дл€ вашего бизнеса «аказать
ћерион Ќетворкс

6 минут чтени€

Ќет, в этой статье мы не будем рассматривать основные команды, такие как ls, rm и cd. ¬ы не должны быть шокированы, увидев эти команды. ¬озможно, вы даже хорошо знакомы с ними. ќсобенно, если вы хорошо разбираетесь в командной строке. Ёта стать€ дл€ тех из вас, кто имеет некоторый опыт работы с командной строкой и знаком с основными командами (а если не знакомы Ц то познакомитьс€ можно в нашей статье).

ѕродвинутые CLI команды дл€ разработчиков

Wget

¬ Unix-подобных операционных системах команда wget загружает файлы, обслуживаемые по HTTP, HTTPS или FTP, по сети. ѕо умолчанию он включен во все уважающие себ€ дистрибутивы Linux.

—амый простой способ использовать wget - указать местоположение файла дл€ загрузки по HTTP. —качать файл http://website.com/static/images/header.jpg с помощью wget можно с помощью следующей команды:

wget http://website.com/static/images/header.jpg

ќтличительной особенностью wget €вл€етс€ то, что он неинтерактивный, что означает, что он может работать в фоновом режиме, пока пользователь не вошел в систему. Ёто позвол€ет вам начать поиск и отключитьс€ от системы, позвол€€ wget завершить работу.


Scp

” вас когда-нибудь возникала проблема, когда вам нужно было получить файл с удаленного сервера на ваш локальный компьютер? Ќапример, получение файла, загруженного пользователем, который вызвал некоторые проблемы. ¬ы можете скачать этот файл через командную строку, использу€ команду scp. Scp - сокращение от secure copy, т.е. защищенна€ копи€. „то еще более важно, это то, что это удаленна€ защищенна€ копи€. Ёта команда похожа на команду cp, которую вы, веро€тно, уже знаете, но источник или цель наход€тс€ в другой системе.

—ледующа€ команда копирует файл foobar.txt с удаленного сервера в локальный каталог.

scp username@remotehost.com: /path/to/foobar.txt /some/local/directory

Ќо scp также можно использовать дл€ копировани€ файла из локального каталога на удаленный сервер.

scp /some/local/directory/foobar.txt 
username@remotehost.com: /destination/path/

“о же самое можно сделать с каталогами, использу€ опцию -r, котора€ рекурсивно копирует целые каталоги.


ssh-keygen

 оманда ssh-keygen используетс€ дл€ генерации новой пары ключей SSH. ќткрытый ключ SSH, сгенерированный этой командой, может использоватьс€ в Gitlab или Bitbucket дл€ установлени€ безопасного соединени€.

ѕосле того, как вы добавили свой SSH-ключ в Gitlab или Bitbucket, у вас не будет запрашиватьс€ пароль каждый раз, когда вы пытаетесь отправить файлы в удаленную ветку.

„тобы сгенерировать пару ключей SSH, используйте следующую команду:

ssh-keygen -t ed25519

ќбратите внимание, что в приведенном выше примере мы использовали алгоритм подписи ED25519. ’от€ ED25519 считаетс€ наилучшей практикой, вы всегда должны провести некоторое исследование в области различных доступных алгоритмов подписи.

√енераци€ пары ключей SSH и ее правильна€ настройка в Gitlab или Bitbucket обойдутс€ вам максимум в дес€ть минут, но они того сто€т!


CHMOD

¬ Unix и Unix-подобных операционных системах chmod - это командный и системный вызов, который используетс€ дл€ изменени€ прав доступа к объектам файловой системы (файлам и каталогам).

ћы все были в ситуации, когда у сервера не было доступа к определенному файлу из-за неправильной настройки прав доступа к файлу.

 оманда chmod сама по себе довольно проста, но предоставление необходимых прав доступа к файлам и каталогам - совершенно другое дело. ѕодробно о том как пользоватьс€ это командой можно прочитать в нашей статье

chmod 664 robots.txt
chmod 775 public/images

ѕервый пример дает права на чтение и запись пользователю и группе дл€ файла robots.txt. –азрешение на чтение предоставл€етс€ другим дл€ этого файла.

¬торой пример дает права на чтение, запись и выполнение пользователю и группе дл€ папки public/images. ƒругим предоставл€етс€ разрешение на чтение и выполнение дл€ этой папки.


Tar

Ёта команда используетс€ дл€ сбора множества файлов в один архивный файл. Tar €вл€етс€ наиболее широко используемой командой дл€ создани€ сжатых архивных файлов.

ƒавайте начнем с того, как вы можете создать архивный файл дл€ определенного каталога:

tar -cvf my-archive.tar /path/to/directory

Ёта команда приведет к созданию файла архива my-archive.tar, который содержит все файлы каталога /path/to/directory, созданного в текущем рабочем каталоге.

—оздание файла архива €вл€етс€ первой частью. ¬тора€ часть состоит в том, чтобы распаковать архивный файл, потому что в какой-то момент мы хотим использовать файлы в tar-файле. ¬ы можете распаковать файл в определенный каталог, введ€ следующую команду:

tar -xvf my-archive.tar -C /home/myfolder/

Alias

 аждый использует какие-то команды, которые слишком длинны или сложны, чтобы их можно было полностью запомнить.   счастью, вы можете создать псевдоним дл€ этой команды, чтобы вам не пришлось запоминать всю команду.

alias short-command = "¬аша обычна€ и очень длинна€ команда здесь"

’от€ создание псевдонима приводит к одной проблеме: этот псевдоним €вл€етс€ временным. ≈сли вы создадите псевдоним таким образом, он будет доступен только дл€ текущего сеанса терминала.

„тобы сохранить псевдонимы между сеансами, вы можете сохранить их в файле профил€ конфигурации оболочки вашего пользовател€. Ётот файл профил€, веро€тно, находитс€ в ~/.bashrc или ~/.zshrc, если вы используете Bash или ZSH соответственно.


—овет 1: Ќаправление вывода

—тандартным устройством вывода €вл€етс€ экран. Ќо иногда вы не хотите выводить все на экран. ¬ некоторых случа€х вы, веро€тно, предпочитаете выводить результаты некоторых команд в файл. ƒл€ целей регистрации, например.

„тобы перенаправить вывод, вы можете использовать">". ¬ следующей команде вывод ls -al перенаправл€етс€ в файл myfile, а не на экран.

ls -al> myfile

—овет 2: ќбъединение команд

ћожно запустить две или более команд одновременно. ќператор точки с зап€той " ; " позвол€ет вам сделать это. ¬ы можете выполнить несколько команд подр€д, независимо от того, будет ли успешной кажда€ предыдуща€ команда.

ls -al; pwd;

≈сли вы хотите, чтобы втора€ команда выполн€лась только в том случае, если перва€ команда выполнена успешно, разделите команды с помощью логического оператора », которым €вл€етс€ &&.

mkdir images && cd images

ћы хотим перейти в папку с изображени€ми, только если нам удалось создать эту папку.

» иногда вы можете захотеть выполнить вторую команду, только если перва€ команда не удалась. ƒл€ этого мы используем логический оператор »Ћ», который пишетс€ как ||.