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

В ней вы найдете основные команды для работы в терминале Windows, Linux и macOS. Также описаны базовые команды по работе с Systemctl, VirtualEnv и Git.

Основные команды

Удаление папки

Windows:

rmdir /s /q папка_для_удаления

Linux и macOS:

rm -rf папка_для_удаления

Создание папки

Windows:

mkdir новая_папка

Linux и macOS:

mkdir новая_папка

Создание виртуального окружения python через venv

Windows:

python -m venv venv

Linux и macOS:

python3 -m venv venv

Виртуальное окружение python через venv

venv на Windows идет "из коробки". Для установки на Linux и macOS возможно потребуется ввести команды:

sudo apt install -y python3-venv
sudo apt install -y build-essential libssl-dev libffi-dev python3-dev

Активация на Windows:

venv\Scripts\activate

Активация на Linux и macOS:

source venv/bin/activate

Деактивация (Linux, macOS и Windows):

deactivate

Команды Git

Инициация Git репозитория

git init

Привязка удаленного репозитория

git remote add origin ссылка_на_репозиторий

Отвязываем репозиторий

git remote rm origin ссылка_на_репозиторий

Привязываем другой репозиторий

git remote set-url origin git@github.com:username/projectname.git

Установка ветки по умолчанию

git config --global init.defaultBranch main

Клонирование репозитория

git clone ссылка_на_репозиторий

Просмотр состояния репозитория

git status

Добавление файлов в индекс

git add имя_файла_или_папки

Коммит изменений

git commit -m "сообщение коммита"

Обновление локального репозитория (pull)

git pull origin main

Отправка изменений в удаленный репозиторий (push)

git push origin main

Создание новой ветки и переключение на нее

git checkout -b новая_ветка

Просмотр списка веток

git branch

Переключение на существующую ветку

git checkout имя_ветки

Слияние веток

git merge имя_ветки

Создание репозитория на GitHub через командную строку

Для этого нужно использовать GitHub CLI. Сначала установите его, а затем выполните следующие команды:

Установка GitHub CLI

Windows (через winget):

winget install --id GitHub.cli

macOS (через Homebrew):

brew install gh

Linux (через пакетный менеджер):

Пример для Ubuntu:

sudo apt install gh

Авторизация в GitHub CLI

gh auth login

Создание репозитория

Публичный репозиторий:

gh repo create имя_репозитория --public

Приватный репозиторий:

gh repo create имя_репозитория --private

Другие полезные команды для Shell

Просмотр содержимого текущей директории

Windows:

dir

Linux и macOS:

ls

Переключение директории

cd путь_к_папке

Копирование файлов

Windows:

copy исходный_файл целевой_файл

Linux и macOS:

cp исходный_файл целевой_файл

Перемещение файлов

Windows:

move исходный_файл целевой_файл

Linux и macOS:

mv исходный_файл целевой_файл

Вывод содержимого файла

Windows:

type имя_файла

Linux и macOS:

cat имя_файла

Создание и редактирование файлов

Windows:

echo текст > имя_файла
notepad имя_файла

Linux и macOS:

echo "текст" > имя_файла
nano имя_файла

Блок терминальных команд для Ubuntu (использую чаще всего)

Обновление и установка программного обеспечения

  1. Обновление списка пакетов

    sudo apt update

    Эта команда обновляет список доступных пакетов и их версий, но не устанавливает и не обновляет никаких пакетов.

  2. Обновление установленных пакетов

    sudo apt upgrade

    Эта команда обновляет все установленные пакеты до самых новых версий, которые доступны в репозиториях.

  3. Установка пакетов

    sudo apt install <имя_пакета>

    Эта команда устанавливает указанный пакет. Например, чтобы установить браузер Firefox, выполните:

    sudo apt install firefox
  4. Удаление пакетов

    sudo apt remove <имя_пакета>

    Эта команда удаляет указанный пакет, но сохраняет его конфигурационные файлы.

  5. Полное удаление пакетов

    sudo apt purge <имя_пакета>

    Эта команда удаляет указанный пакет вместе с его конфигурационными файлами.

  6. Очистка ненужных пакетов

    sudo apt autoremove

    Эта команда удаляет ненужные пакеты, которые были установлены как зависимости и больше не требуются.

Управление системными службами

  1. Запуск службы

    sudo systemctl start <имя_службы>

    Эта команда запускает указанную службу. Например:

    sudo systemctl start apache2
  2. Остановка службы

    sudo systemctl stop <имя_службы>
  3. Перезапуск службы

    sudo systemctl restart <имя_службы>
  4. Проверка статуса службы

    sudo systemctl status <имя_службы>
  5. Включение службы при загрузке

    sudo systemctl enable <имя_службы>
  6. Отключение службы при загрузке

    sudo systemctl disable <имя_службы>

Не забудьте добавить эту шпаргалку в закладки и оценить ее лайком, если она оказалась полезной для вас.

Комментарии (13)


  1. fliberd
    22.06.2024 03:53
    +4

    Шпора хорошая, но она подходит только для начинающих. Лично у меня все команды находятся в мышечной памяти.


    1. rdp
      22.06.2024 03:53

      Начинающим rmdir /s /q лучше в руки не давать.


  1. milssky
    22.06.2024 03:53

    А в винде какой терминал-то?


    1. igorts
      22.06.2024 03:53

      cmd, powershell - корректнее было написать не терминал, а оболочка командной строки


    1. ZimM
      22.06.2024 03:53

      Windows Terminal


  1. Octabun
    22.06.2024 03:53
    +6

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

    Комманды достаточно примитивны и их мало, поэтому больше чем на два балла опасность шпаргалки оценить не могу. Подумаешь, нет ключей которые не надо набирать по ошибке или не понятно что будет делать клиент когда потребуется не приведённая в ней комманда (ИМХО самое страшное - ему не придёт в голову что она есть потому что должна быть).

    Поэтому случайно выбранные замечания по тексту.

    mkdir новая_папка

    python3 -m venv venv

    Единство стиля - враг?

    venv на Windows идет "из коробки". Для установки на Linux и macOS возможно потребуется ввести команды:

    И они возможно (в принципе - обязаны) не сработают если Python установлен как часть системы.

    ls

    И это всё?! Не видно же ничего. Тогда уж либо ls -l либо, что явно по духу инструкции много лучше, mc.

    И чисто для личного удовольствия а не пользы читающего ради: вместо

    echo "текст" > имя_файла

    nano имя_файла

    должно быть просто

    hx имя_файла


    1. garbagecollected
      22.06.2024 03:53

       ls -l 

      А вы забыли про $LS_COLORS упомянуть: vivid.

      А есть еще exa и lsd с блекджеком уже из коробки.


  1. LuchS-lynx
    22.06.2024 03:53
    +2

    краткий справочник по всем командам Линукс

    https://habr.com/ru/companies/lanit/articles/683638/


  1. psynix
    22.06.2024 03:53

    Это уже даже не "пишу на хабру за зачот"...


  1. G0tem
    22.06.2024 03:53
    +1

    пробежался по базе чтобы напомнить. Последнее время если что-то забыл - gpt напомнит)


  1. Andthe
    22.06.2024 03:53
    +1

    Приветствую вас инопланетяне! Земляне рады вас видеть.


  1. NoGotnu
    22.06.2024 03:53

    Всю статью можно заменить одной ссылкой ss64.com


  1. sergey-kuznetsov
    22.06.2024 03:53

    Вы сравниваете на самом деле не Windows и Linux/macOS, а оболочки cmd/pwsh и bash/zsh. Они не привязаны к операционным системам и вполне себе кроссплатформенные. Мы же можем использовать Bash в Windows? Или PowerShell в юниксовых системах.