Рубрики
Uncategorized

Кроссплатформенная командная строка

Командная строка может быть пугающей для многих. И все же это один из самых мощных инструментов, которые мы разработали … Теги с DevOps, начинающими, учебниками, производительностью.

Начало работы с DEVOPS (6 части серии)

Командная строка может быть пугающей для многих. И все же это один из самых мощных инструментов, которые у нас разработчики могут иметь. И это бесплатно!

Так что в этом эпизоде я хочу помочь вам комфортно использовать вашу командную строку. Вам не нужно много использовать, но есть несколько задач, которые были просто сделано для командной строки. Кроме того, это фундамент для написания сценариев для любой операционной системы.

Как часть моего Начало работы с DEVOPS Series Этот учебник является кроссплатформой. Мы будем использовать PowerShell на Окна и bash (или zsh, они совместимы) на Macos и Linux. .

Не стесняйтесь использовать эту статью в качестве ссылки на посмотреть команды позже:

  • Основы
  • Прочитайте руководство
  • Файловые операции
  • Подстановочный знак
  • Выполнение программ
  • Сделайте это весело использовать!
  • Thefuck (плагин)

Основы

Во-первых, начните двигателям.

  • Окна : Нажмите кнопку «Пуск» и найдите программу PowerShell Отказ
  • Macos : Использовать Прожектор запускать Terminal.app.
  • Linux : Поиск приложения под названием Терминал Отказ В Ubuntu вы также можете нажать Ctrl + Alt + T

Теперь первый вопрос ответит: где мы?

# print working directory
pwd

Это одна команда для Windows, MacOS и Linux. Как это может быть? Интерфейс командной строки в MacOS и Linux идентичны (Bash или другой совместимой оболочкой, такой как ZSH, Fish и т. Д.). Вы можете использовать большинство команд в обоих операционных системах. И во время Windows использует PowerShell, они встроенные псевдонимы для команд Unix. Выход часто отличается, но вы получаете почти ту же информацию.

Теперь давайте перемещаясь по вашей файловой системе со следующими командами:

# list files in directory
ls

# list all files in directory (includes hidden files)
ls -al # macOS and Linux
ls -Hidden #PowerShell

# change directory
cd 

# leave directory / move up
cd ..

# go back to your $HOME directory
cd ~

Таким образом, теперь мы можем ориентироваться по нашим файловым системам, но введя имен в папках. Время попробовать Tab-завершение Отказ Набирая что-нибудь в вашем терминале, вы часто можете нажать вкладку для автоматического завершения вашей команды, имени файла или каталога. Всего несколько примеров, чтобы начать:

# cd to directory "Documents"
cd Doc
# => cd Documents

# list hidden files in PowerShell
ls -Hi
# => ls -Hidden

Прочитайте руководство

Существует множество команд, приходящих вверх, и PowerShell, так и Bash/ZSH имеют руководства, которые вы можете прочитать в каждой команде. В конце концов, это только ваше начало;)

# Show manual in PowerShell
Get-Help  -Full

# Show only examples in PowerShell
Get-Help  -Examples

# Show manual in macOS/Linux
man 
# Scroll with arrow keys up/down
# Close with Q

Файловые операции

# Create a new file
touch 

# Display file contents
cat 

# list target directory contents
ls 
# e.g. ls ~/Documents

Так что теперь, когда мы можем перемещаться по нашей файловой системе, пришло время для некоторого взаимодействия. Создание, копирование, перемещение и удаление файлов — это три основных операции, которые я использую каждый день.

# Move a file 
mv  /
# e.g. mv Documents/photo.jpg Pictures/

# With the move command you can also rename files
mv  /
# e.g. mv Documents/photo.jpg Pictures/holiday-photo.jpg
# e.g. mv photo.jpg holiday-photo.jpg

# Remove a file
rm 

Теперь, когда мы знаем, как работать с файлами, мы можем немного изменить эти команды работать с каталогами.

# Move a directory 
mv  /
# e.g. mv Scanned-Pages ~/Documents/

# With the move command you can also rename directories
mv  
# e.g. mv Scanned-Pages Scans

# Remove an empty directory
rmdir 

# Remove a directory with all its contents (careful with this one!)
rm -rf 

Найдите некоторое время, чтобы комфортно с этими командами, прежде чем двигаться дальше. Прохладные вещи просто впереди.

Подстановочный знак

# Show the content of all .txt files
cat *.txt

# Move Photo-london.jpg, Photo-tokio.jpg, Photo-berlin.jpg etc to parent directory
mv Photo-*.jpg ../

Выполнение программ

Теперь последняя часть отсутствует: как я могу выполнить программу в командной строке? Конечно, глобально установленное программное обеспечение может быть запущено, просто выполняя команду. Но локальные файлы? Иногда им требуется разрешение на исполнение (MacOS и Linux только)

# Add execution permission to file on macOS/Linux
chmod +x 

# execute a local file
./
# Example: list connected devices with android developer tools
./adb list devices

Остерегайтесь, что приведенная выше команда устанавливает разрешения для выполнения всех пользователей на вашем компьютере. Если вы управляете разрешениями для файла за пределами вашего личного каталога или вообще хотите узнать больше о ваших разрешениях Unix/Linux, TutorialSpoint объясняет это хорошо.

Сделайте это весело использовать!

Теперь я хотел бы поделиться с помощью простого в настроек терминала, это действительно весело использовать. Включая колокольчики и свистки! Во-первых, давайте получим хороший эмулятор терминала, который поддерживает вкладки. Как и в моем браузере, я часто использую несколько клеммных вкладок (например, для работы в разных репозиториях Git)

Хорошо. Теперь, когда эмулятор терминала (окна) прост в богатых и предлагает вкладки, поддержку Ctrl + F/Cmd + F текстовый поиск, копировальный паст и многое другое, пришло время обновлять то, что находится внутри этого окна.

Встретить Звездоход Отказ

Starship — это загруженная функциональная команда командной строки, которая автоматически показывает следующую информацию и больше, не просим его:

  • Статус Git.
  • Текущий пользователь
  • Если последняя команда вернула ошибку
  • Текущий каталог NODEJS/Python/Ruby/Rust/Dotnet/Java/Etc версия
  • Текущие kubernetes/Azure/AWS/ETC Environment
  • Продолжительность команды

Просто проверьте GIF на своем сайте. Это показывает все это. Как мне также нравятся функции OH-My-ZSH приводит к столу, я использую ITERM2 + oh-my-zsh + Космический корабль , что очень похоже на звездохудение, но доступно только для ZSH. Если вы заинтересованы, я могу вписаться в подробности в моей личной настройке.

Thefuck (плагин)

Еще один плагин, который я люблю использовать это оздоровительный . Да, это его имя. И это делает то, что вы думаете, это делает: он добавляет поддержку для записи трахнуть, когда вы запутали свою последнюю команду.

# try to clone the bouncer repo
git clpne git@github.com:BrutalHack/Bouncer.git
# => git: 'clpne' is not a git command. See 'git --help'.

# The most similar command is
#  clone

# correct the previous command
fuck
# => git clone git@github.com:BrutalHack/Bouncer.git [enter/↑/↓/ctrl+c]

Мой самый распространенный случай: когда я создаю локальную ветку GIT и попробуйте Git push, Git говорит, что я должен сначала настроить новую ветку для отслеживания удаленной новой ветви. Я не знаю эту команду, но вместо этого напишу ебать, что затем предлагает правильную команду. Для тех из нас работают для клиентов, мы можем изменить слово «карп», «Мех» или что-то смешное.

# push new "my-branch" to the git repository
git push
# => fatal: The current branch new-branch has no upstream branch.
# To push the current branch and set the remote as upstream, use
#
#    git push --set-upstream origin my-branch

# correct the previous command
fuck
# => git push --set-upstream origin new-branch [enter/↑/↓/ctrl+c]

Дальнейшее чтение

Если бы это было немного сразу, никаких забот. Вы можете вернуться к этой статье в любое время и посмотреть команды.

Если вы хотите узнать больше о вашей командной строке, вот некоторые интересные ссылки:

Этот пост помог вам? У вас все еще есть вопросы? Я буду Kapp глаз на раздел комментариев ниже:)

Начало работы с DEVOPS (6 части серии)

Оригинал: «https://dev.to/justice/devops-ep-2-command-line-basics-50lp»