Работа с командной строкой для чайников windows

В данной статье будут рассмотрены основы командной строки Windows, а именно:

  • Понятие командной строки;
  • Справочник по командам командной оболочки;
  • Последовательность событий при выполнение команды;
  • Создание сценариев командной строки;
  • Управление отображением текста и команд;
  • Команды для изучение системной информации;
  • Команды для использования реестра;
  • Управление системными службами;
  • Перезагрузка и выключение систем из командной строки;
  • Управление приложениями и  процессами из командной строки.

Содержание

  1. Понятие командной строки
  2. Краткий справочник по командам командной оболочки (Cmd.exe)
  3. Последовательность событий при выполнение команды
  4. Создание сценариев командной строки
  5. Управление отображением текста и команд
  6. Изучение системной информации
  7. Команды для использования реестра
  8. Управление системными службами
  9. Перезагрузка и выключение систем из командной строки
  10. Управление приложениями, процессами и производительностью

Понятие командной строки

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

Однако опытные администраторы Windows, квалифицированные специалисты по технической поддержке и «продвинутые» пользователи не могут обойтись без командной строки. Зная, как правильно применять командную строку, в частности, какие средства командной строки выбрать, как и когда их использовать, чтобы они работали эффективно, можно избежать многочисленных проблем и добиться четкого выполнения операций. Если вы занимаетесь поддержкой нескольких доменов или сетей, то для автоматизации ежедневных операций не только важно, но и необходимо иметь представление об экономящих время способах работы с командной строкой.

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

Среду командной оболочки Windows запускают разными способами, в частности указывая параметры при запуске Cmd.exe или используя собственный стартовый файл, хранящийся в каталоге %SystemRoot%\System32.

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

Работая с командной строкой Windows, Вы должны понимать, откуда берутся используемые Вами команды. «Родные» команды (встроенные в операционную систему) бывают двух видов:

  • Внутренние – существуют внутри командной оболочки, у них нет отдельных исполняемых файлов;
  • Внешние — реализованы в отдельных исполняемых файлах, которые обычно хранятся в каталоге %SystemRoot% \System32.

Краткий справочник по командам командной оболочки (Cmd.exe)

  • assoc — выводит или изменяет сопоставления (associations) типов файлов;
  • break — задает точки останова при отладке
  • call — вызывает из сценария процедуру или другой сценарий;
  • cd (chdir) — показывает имя текущего каталога или выполняет смену текущего каталога;
  • cls — очищает окно командной строки и буфер экрана;
  • color — задает цвета текста и фона окна командной оболочки;
  • сору — копирует файлы или выполняет конкатенацию файлов;
  • date — показывает или устанавливает текущую дату;
  • del (erase) — удаляет заданный файл, группу файлов или каталог;
  • dir — показывает список подкаталогов и файлов в текущем или заданном каталоге;
  • echo — выводит текст в окно командной строки или задает, надо ли отображать команды на экране (on|off);
  • endlocal — отмечает конец локализации (локальной области видимости) переменных;
  • exit — выход из оболочки командной строки;
  • for — выполняет заданную команду для каждого файла в наборе;
  • ftype выводит или изменяет текущие типы файлов в сопоставлениях расширений файлов с программами;
  • goto — указывает, что интерпретатор команд должен перейти на строку с заданной меткой в пакетном сценарии;
  • if — выполняет команды по условию;
  • md (mkdir) — создает подкаталог в текущем или заданном каталоге;
  • move — перемещает файл или группу файлов из текущего или заданного исходного каталога в указанный каталог. Также может переименовывать каталог;
  • path — показывает или задает путь к командам, используемый операционной системой при поиске исполняемых файлов и сценариев;
  • pause — останавливает выполнение пакетного файла и ожидает ввода с клавиатуры;
  • popd — делает текущим каталог, имя которого было сохранено командой PUSHD;
  • prompt — указывает, какой текст должен показываться в строке приглашения;
  • pushd — сохраняет имя текущего каталога и при необходимости делает текущим заданный каталог;
  • rd (rmdir) — удаляет каталог или каталог вместе с его подкаталогами;
  • rem — помечает комментарии в пакетном сценарии или Config.nt;
  • ren (rename) — Переименовывает файл или группу файлов;
  • set — показывает текущие переменные окружения или задает временные переменные для текущей командной оболочки;
  • setlocal — отмечает начало локализации (локальной области видимости) переменных в пакетных сценариях;
  • shift — сдвигает позицию замещаемых параметров в пакетных сценариях;
  • start — запускает заданную программу или команду в отдельном окне;
  • time — показывает или устанавливает системное время;
  • title — задает заголовок окна командной оболочки;
  • type — показывает содержимое текстового файла;
  • verify — включает режим проверки файлов после записи на диск;
  • vol — показывает метку и серийный номер дискового тома.

Синтаксис любой внутренней команды (и большинства внешних) можно получить, введя в командной строке имя команды и /?, например:

   
   copy /?

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

Последовательность событий при выполнение команды

  • Командная оболочка заменяет любые переменные, введенные в тексте команд, их текущими — значениями;
  • Если введена группа или цепочка из нескольких команд, строка разбивается на отдельные команды, которые в свою очередь разбиваются на имя и аргументы команды. Далее команды обрабатываются по отдельности;
  • Если в имени команды указан путь, командная оболочка ищет команду по этому пути. Если в указанном каталоге такой команды нет, командная оболочка возвращает ошибку;
  • Если в имени команды не задан путь, командная оболочка сначала пытается разрешить имя команды на внутреннем уровне. Если найдена внутренняя команда с таким именем, значит, вызвана внутренняя команда, которую сразу же можно выполнить. Если внутренней команды с таким именем нет, командная оболочка сначала ищет исполняемый файл команды в текущем каталоге, а затем в каталогах, перечне в переменной окружения PATH. Если файла команды нет ни в одном из этих каталогов, командная оболочка возвращает ошибку;
  • Если команда найдена, она выполняется с заданными аргументами и при необходимости ввод считывается из источника, указанного в этих аргументах. Вывод и ошибки команд показываются в окне командной строки или направляются заданному приемнику вывода и ошибок.
  • Как видите, на выполнение команд влияют многие факторы, в том числе пути к командам, перенаправление ввода-вывода, группирование или создание цепочек команд.

При работе с командной оболочкой Вы, вероятно, запускали ее, открывая меню Start (Пуск) и выбирая Programs (Программы) или All Programs (Все программы), затем Accessories (Стандартные) и Command Prompt (Командная строка). Другие способы запуска командной строки — диалоговое окно Run (Запуск программы) или ввод cmd в другом, уже открытом окне командной оболочки. Эти способы позволяют при запуске командной строки указывать аргументы: ключи, управляющие работой командной строки, и параметры, инициирующие выполнение дополнительных команд. Например, можно запустить командную оболочку в «молчаливом» режиме (т. е. отключить эхо-вывод) командой cmd /q или сделать так, чтобы командная оболочка выполнила заданную команду и завершила свою работу, — для этого нужно ввести cmd /с, а затем текст команды в кавычках.

В следующем примере командная оболочка запускается, выполняет команду ipconfig с выводом результатов в файл и завершается:

   
   cmd /c "ipconfig > c:\ipconfig.txt"

Создание сценариев командной строки

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

Поскольку сценарии состоят из стандартных текстовых символов, их можно создавать и редактировать в любом стандартном текстовом редакторе, скажем, в Notepad (блокнот). Вводя команды, убедитесь, что каждая команда или группа команд, которые должны выполняться совместно, разметаются с новой строки. Это обеспечит их корректное выполнение. Закончив создание сценария командной строки, сохраните файл сценария с расширением .bat или .cmd. Оба расширения работают одинаково. Например, если вам надо создать сценарий для вывода имени системы, версии Windows и конфигурации IP, включите в файл SysInfo.bat или SysInfo.cmd следующие три команды:

  
  hostname
  ver
  ipconfig -all

Управление отображением текста и команд

Команда ECHO служит двум целям: для записи текста в вывод (например, в окно командной оболочки или текстовый файл) и для включения/выключения эхо-отображения команд. Обычно при выполнении команд сценария сами команды и вывод этих команд отображаются в консольном окне. Это называется эхо-отображением команд (comand echoing).

Чтобы использовать команду ECHO для отображения текста, введите echo и текст, который надо вывести:

  
  echo The system host name Is: hostname

Чтобы с помощью ECHO управлять эхо-отображением команд, введите echo off или echo on, например:

  
  echo off
  echo The system host name is:
  hostname

Чтобы направить вывод в файл, а не в окно командной оболочки, используйте перенаправление вывода, например:

  
  echo off
  echo The system host name is: > current.txt
  hostname » current.txt

Теперь посмотрим, как подавляется эхо-отображение команд. Запустите командную оболочку, введите echo off, затем другие команды. Вы увидите, что приглашение командной строки больше не выводится. Вместо него появляется только то, что набирается в консольном окне, и вывод выполненных команд. В сценариях команда ECHO OFF отключает эхо-отображение команд и приглашение командной строки. Добавляя в свои сценарии команду ECHO OFF, вы предотвращаете загромождение окна командной оболочки или файла текстом команд, если Вас интересует лишь вывод от этих команд.

Изучение системной информации

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

  • NOW — отображает текущую системную дату и время в 24-часовом формате, например Sal May 9 12:30:45 2003. Доступна только в Windows Server 2003 Resource Kit;
  • WHOAMI — сообщает имя пользователя, зарегистрированного в системе на данный момент, например adatum\admi-nistrator;
  • WHERE — выполняет поиск файлов по шаблону поиска (search pattern) и возвращает список совпавших результатов.

Чтобы использовать NOW или WHOAMI, просто введите команду в окне командной оболочки и нажмите Enter. Наиболее распространенный синтаксис для WHERE выглядит так:

  
  where /r базовый_каталог_имя_файла

Здесь параметр /r указан для рекурсивного поиска, начиная от указанного каталога (базовый_каталог) и включая все его подкаталоги, а имя_файла — полное или частичное имя искомого файла, которое может включать символы подстановки (wildcards): знак ? заменяет один символ, а знак * — группу символов, например data???.txt или data*.*. В следующем примере в каталоге С:\ и всех его подкаталогах выполняется поиск всех текстовых файлов, имена которых начинаются с data.

   
  where /r C:\ data*.txt

Также можно найти файлы всех типов, имена которых начинаются с data:

   
  where /r C:\ data*.*

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

  • DRIVERQUERY — выводит список всех установленных драйверов устройств и их свойства, в том числе имя модуля (module name), отображаемое имя (display name), тип драйвера и дату сборки (driver link date). В режиме отображения всей информации (/V) сообщается статус (status) и состояние (state) драйвера, режим запуска, сведения об использовании памяти и путь в файловой системе. Параметр /V также включает вывод детальной информации обо всех неподписанных драйверах.
  • SYSTEMINFO — выдает подробную информацию о конфигурации системы, в том числе сведения о версии, типе и изготовителе операционной системы, процессоре, версии BIOS, объеме памяти, региональных стандартах, часовом поясе и конфигурации сетевого адаптера.
  • NLSINFO — отображает подробную информацию о региональных стандартах, включая язык по умолчанию (default language), кодовую страницу Windows, форматы отображения времени и чисел, часовой пояс и установленные кодовые страницы. Эта команда доступна лишь в Windows Server 2003 Resource Kit.

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

Команды для использования реестра

Реестр Windows хранит конфигурационную информацию операционной системы, приложений, пользователей и оборудования. Эти данные содержатся в разделах (keys) и параметрах (values) реестра, которые размещаются в определенном корневом разделе (root key), который контролирует, как и когда используются разделы и параметры.

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

  • REG add — добавляет в реестр новый подраздел или элемент;
  • REG delete — удаляет из реестра подраздел или элемент;
  • REG query — выводит список элементов раздела и имена подразделов (если они есть);
  • REG compare — сравнивает подразделы или элементы реестра;
  • REG сору — копирует элемент реестра по указанному пути раздела на локальной или удаленной системе;
  • REG restore — записывает в реестр ранее сохраненные подразделы, элементы и параметры;
  • REG save — сохраняет копию указанных подразделов, элементов и параметров реестра в файл.

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

Службы обеспечивают ключевые функции рабочих станций и серверов. Для управления системными службами на локальных и удаленных системах используется команда контроллера служб (service controller command) SC, имеющая набор подкоманд, ниже описывается лишь их часть:

  • SC config — настройка учетных записей регистрации и запуска служб;
  • SC query — вывод списка всех служб, настроенных на компьютере;
  • SC qc — отображение конфигурации определенной службы;
  • SC start — запуск служб;
  • SC stop — остановка служб;
  • SC pause — приостановка работы служб;
  • SC continue — возобновление работы служб;
  • SC failure — задание действий, выполняемых при сбое службы;
  • SC qfailure — просмотр действий, выполняемых при сбое службы.

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

  
  sc ИмяСервера Подкоманда

Перезагрузка и выключение систем из командной строки

Системы нередко приходится перезагружать или выключать. Один из способов — использовать для этого утилиту Shutdown, которая позволяет работать с локальной и удаленными системами. Другой способ управлять выключением или перезагрузкой системы — назначить задание для выключения. Здесь можно использовать Schtasks, чтобы указать время выключения, или создать сценарий со списком команд выключения для индивидуальных систем.

Управлять перезагрузкой и выключением локальной системы позволяют следующие команды.

Выключение локальной системы:

  
  shutdown /s /t ЗадержкаВыключения /1 /f

Перезагрузка локальной системы:

  
  shutdown /r /t ЗадержкаВыключения /1 /f

Управление приложениями, процессами и производительностью

Всякий раз, когда операционная система или пользователь запускает службу, приложение или команду, Microsoft Windows запускает один или более процессов для управления соответствующей программой. Несколько утилит командной строки упростят вам мониторинг программ и управление ими. К этим утилитам относятся:

  • Pmon (Process Resource Manager) — показывает статистические данные по производительности, включая использование памяти и процессора, а также список всех процессов, выполняемых в локальной системе. Позволяет получать детальные «снимки» задействованных ресурсов и выполняемых процессов. Pmon поставляется с Windows Resource Kit;
  • Tasklist (Task List) — перечисляет все выполняемые процессы по имени и идентификатору процесса, сообщает информацию о сеансе пользователя и занимаемой памяти;
  • Taskkill (Task Kill) — останавливает выполнение процесса, заданного по имени или идентификатору. С помощью фильтров можно останавливать процессы в зависимости от их состояния, номера сеанса, процессорного времени, занимаемой памяти, имени пользователя и других параметров.

Вот в принципе все, что я хотел рассказать об основах командной строки Windows.

Этот урок переехал в мой гитхаб: https://github.com/codedokode/pasta/blob/master/soft/cli.md

Ниже — старая, неактуальная версия.


Как начать пользоваться командной строкой

Я не знаю, ты пользуешься Линуксом или Уиндоузом (обычно туториалы рассчитаны на линуксоидов и макосников, уиндоуз не модный среди молодежи). В макоси все практически так же как и в линуксе, в windows пошли своим путем и сделали все как в DOS.

Думаю, что в данном случае тебе поможет не рыба, а удочка, так что держи пасту. Если после прочтения у тебя будут какие-то вопросы, или по-прежнему непонятно, почему команды не работают, пиши в наш уютный тред, разберемся.

Краткий мануал чайника по командной строке:

Как попасть в командную строку?

  • Windows XP: Пуск — Выполнить — набрать cmd — нажать [enter]
  • Windows7: Пуск — набрать cmd — наждать [enter]
  • MacOS: Запустить приложение Терминал (его можно найти поиском в той фигне которая справа вверху экрана)
  • Ubuntu: Запустить приложение Терминал или нажать Alt + Ctrl + F1 (ааа как вернуться назад? Ctrl + F7)
  • Linux: если ты линуксоид, ты и так знаешь

Во всех операционных системах

↑,↓ — стрелки вверх и вниз в командной строке позволяют смотреть предыдущие введенные команды, чтобы 2 раза не набирать. В Windows при закрытии окошка консоли вся история теряется, в других ОС — сохраняется.

[tab] — автодополняет имена файлов и команды. Если в текущем каталоге есть файл file.txt, ты наберешь fi и нажмешь [tab] то он автодополнит имя файла (или предложит варианты, если таких файлов несколько).

[ctrl+c] — прерывает выполнение команды, например, если она долго тупит

Важно: клавиша Esc не работает в командной строке. Клавиши Ctrl + C, V, X не работают как «копировать/вырезать/вставить» (иногда для вставки можно использовать Shift + Ins). Клавиша Ctrl + Q не работает как «выход».

Линукс и мак

В линуксе и маке, [ctrl+l] очищает экран, [ctrl+k] и [ctrl+u] удаляют все перед или после курсора, [ctrl+w] удаляет слово перед курсором, [ctrl+r] делает поиск по истории команд (для отмены поиска нажми [ctrl+c], escape в командной строке не работает, для завершения поиска нажми стрелку вправо/влево), [ctrl+d] завершает работу и закрывает консоль.

Еще в линуксе и маке иногда не работают Home и End, используй [ctrl+a] чтобы перейти в начала строки и [ctrl+e], чтобы в конец. [alt + b] (back) и [alt + f] (forward) двигают курсор на 1 слово назад/вперед.

Буфер обмена

В командной строке не работает ctrl+v,c,x для вставки, копирования и вырезания текста. Иногда (зависит от настроек системы) вставить текст можно через [shift+ins], иногда правой кнопкой мыши. Скопировать текст можно, выделив мышью (в Windows надо разрешить выделение текста сначала в настройках окна и нажать Enter после выделения).

Текущий каталог

В командной строке результат выполнения команд зависит от того, в каком каталоге и на каком диске ты находишься. Какой каталог текущий, в Windows написано в подсказке, а в linux можно узнать командой pwd (print working directory)

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

cd /  — перейти в корневой каталог (в линукс нет букв дисков, и корневой каталог один на всю систему)
cd /etc/apache — перейти в каталог /etc/apache
cd files — переходит в каталог files внутри текущего
cd .. — переходит в родительский кталог
cd ../.. — переходит на 2 уровня выше
cd ~ — перейти в свой домашний каталог (/home/anon например)
cd ~/test — перейти в /home/anon/test

В Windows, сначала надо перейти на нужный диск командой c:, d:, e: и так далее. Потом использовать cd или chdir:

d:   - перейти на диск d:
cd \ — перейти в корневой каталог
cd \windows\system32
cd ..
cd ..\..

Обрати внимание, windows и linux используют разные виды слешей. Обрати внимание, .. обозначает «родительский каталог». Обрати внимание, только в линукс и мак ~ обозначает «домашний каталог» (это /home/username или /Users/username). . (одна точка) обозначает текущий каталог и cd . никуда не перейдет. / (линукс) или \ (Windows) обозначает корневой каталог.

Очистка экрана

В linux — команда clear или клавиша [ctrl+L], в windows — команда cls (clear screen).

Список файлов

Посмотреть, какие файлы есть в текущем каталоге, можно командой dir в Windows и командой ls в линуксе (ls -a — показывает все файлы, включая скрытые, ls -l — показывает не только имена, но и размер, дату создания файла, права на него).

Посмотреть права на файл в Линукс можно либо командой ls -l, либо stat file.txt

Команды и оболочка

Оболочка — это cmd.exe в Windows и bash в линукс, это та программа, которая собственно мигает курсором и выполняет твои команды. Ты набираешь команды, а она их выполняет. Команда обычно состоит из имени команды, и, иногда, дополнительных параметров, отделенных пробелом, вроде:

ls — показать список файлов в линукс
ls -l — показать файлы с подробностями
dir — показать список файлов в windows с подробностями
dir /b — показать только имена файлов, без подробностей

Подсказка

Почти у любой команды есть подсказки. Чтобы их увидеть, добавь к имени команды параметр (--help или /?):

В линукс: ls --help — выведет справку по команде ls

В линукс: man bash — выведет подробную длинную справку по команде bash (для выхода жми q,
для прокрутки используй стрелки и PgUp/PgDn)

В Windows: dir /? — выведет справку по команде dir

В Windows: help выведет подсказку по основным командам

Виды команд

Команды бывают внутренние (это маленький список команд, встроенных в оболочку). Встроенные команды — это, например, cd в линукс или exit в Windows. Их мало.

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

В линуксе: echo $PATH

В windows: echo %PATH%

В linux PATH — это папки /bin, /usr/bin, /usr/local/bin, /sbin, /usr/sbin, именно в них в Линуксе хранятся почти все программы. В текущем каталоге програмы не ищутся, если это не указать явно.

В Windows PATH — это всякие системные папки вроде c:\windows и так далее + текущий каталог, в котором ты находишься. Заметь, что папки вроде c:\program files\autocad в PATH не добавлены и в Windows таким образом, из командной строки обычные программы и игры, установленные в Program Files, не запустить. Только то, что положено в системные папки.

Таким образом: если ты под линуксом, и ты набираешь команду php, то скорее всего файл php лежит в одной из *bin папок и эта команда запустит php. Если ты под Windows установил php допустим в c:\php, и не прописал этот путь в PATH, то набрав php, оболочка не найдет файл php.exe и ничего не запустит. И ты скажешь «что за кривой мануал, ничего не работает, ну его нафиг».

Печалька.

Что же делать? 1) добавить папку с php в PATH через мой компьютер — свойства и перезалогиниться в систему 2) писать вместо php полный путь c:\php\php.exe

Продолжаем. Допустим, ты хочешь запустить в командной строке файл my.php , который находится в текущем каталоге:

Линукс: php my.php
Windows: c:\php\php.exe my.php

Допустим, ты хочешь запустить php-файл не из текущего каталога. Тогда надо написать путь к нему:

Линукс: php /some/dir/my.php
Windows: c:\php\php.exe d:\files\my.php

В общем, проще запускать файлы из текущег каталога, чем мучаться с путями.

Больше команд — linux

Попрактиковаться в линукс в командной строке можно на таких командах:

Создать текстовый файл: cat > file.txt [enter] ввести текст [enter][ctrl+d] — и файл создан
Просмотреть текстовый файл: cat file.txt
Просмотреть огромный текстовый файл, который не влеазает на экран: cat file.txt | less 
В просмотрщике работают стрелки и q для выхода (escape не работает).
Удалить файл: rm file.txt
Скопировать файл: cp file.txt copy.txt
Переместить/переименовать файл: mv file.txt copy.txt
Скопировать в другую папку: cp file.txt /some/other/directory
Запустить команду и сохранить ее вывод в файл: ls -la > file.txt (эта команда выведет список файлов, но не на экран, а сохранит в файл. Бывает иногда полезно).
Вывести файл, но не весь, а только первые 10 строк: cat file.txt | head -10
Вывести последние 10 строк файла:  cat file.txt | tail -10
Вывести только строки файла, содержащие слово «dog»: cat file.txt | grep dog
Найти файлы, в имени которых есть «dog», в каталоге /tmp: find /tmp -iname '*dog*'
Узнать текущее время: date
Создать папку: mkdir folder
Удалить папку: rm -r folder
Померять, сколько времени выполнялась команда: time [команда]
Узнать свой id пользователя: id
Показать список запущенных процессов: ps -lax
Показать что-то вроде диспетчера задач: top (для выхода q)
Запустить редактор, из которого хрен выйдешь, так как никакие привычные кнопки не работают: vi

Подробнее о работе команд можно узнать с помощью параметра --help, дописанного после команды.

Больше команд — Windows

Попрактиковаться в комнадной строке в Windows можно так:

help — выводит список полезных команд
dir — выводит файлы в каталоге
Создать текстовый файл: copy con file.txt[enter]ввести текст[enter][ctrl+z][enter] — файл создан
Просмотреть текстовый файл: type file.txt
Просмотреть огромный текстовый файл: type file.txt | more (enter — прокрутка, q — выход)
Удалить файл: del file.txt
Скопировать файл: copy /b file.txt copy.txt
Переименовать файл: ren file.txt copy.txt
Запустить команду и сохранить вывод в файл: dir /? > file.txt
Создать текстовый  файл с одной строкой текста: echo lalala lololo > file.txt
Дописать строчку в конец файла: echo boom >> file.txt
Создать папку: mkdir folder
Удалить папку: rmdir folder
Узнать текущее время: time и date (ctrl+с для выхода)

Подробнее о работе команд можно узнать с помощью параметра /?, дописанного после команды.

Команды для работы с сетью Интернет

В линукс показать информацию о настройке сети: ifconfig (или /sbin/ifconfig если у
тебя в PATH нет /sbin)

В Windows показать информацию о сети: ipconfig

Пропинговать (проверить связь) с сервером: ping google.com

Узнать IP по имени домена: nslookup yandex.ru

Показать список открытых с компьютера соединений: netstat (в подсказке по команде указаны также параметры, с помощью которых, например, можно вывести какая программа установила это соединение)
Проверить путь до какого-то сервера или узла сети:

  • в Windows: tracert google.com
  • в linux: traceroute google.com (не работает? пиши /usr/sbin/traceroute или пропиши уже себе sbin в PATH)

Больше информации

Используй ключи --help и /?

Гугли мануал по командной строке windows/linux в интернете.

http://archive-ipq-co.narod.ru

Работа с командной строкой¶

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

В разделе перечислены базовые приемы работы в командной строке Windows.

Запуск командной строки¶

Для запуска командной строки воспользуйтесь одним из следующих способов:

  • «Пуск → Выполнить» (или клавиши Win+R) введите cmd и нажмите клавишу Enter;
  • «Пуск → Все программы → Стандартные → Командная строка»;
  • «Пуск → Поиск → Командная строка».

Ввод команд¶

Команды вводятся посредством ввода с клавиатуры. Простейшая команда help выводит список всех доступных команд. Также вы можете просмотреть полный перечень команд в статье Список команд Windows ( Windows CMD ).

Для вывода справки по конкретной команде введите help название_команды, например:

Перечень основных команд и примеры их использования приведены в разделе Основные команды данного руководства.

Автодополнение путей файлов¶

Чтобы не набирать вручную весь путь к файлам используется клавиша Tab на клавиатуре. Она автодополняет названия директорий и файлов, например, чтобы ввести название папки User, достаточно ввести первую букву и нажать клавишу Tab, будет подставлено соответствующее значение.

Если на букву U начинается несколько директорий или файлов, то при каждом последующем нажатии Tab будет происходить перебор названий. Чтобы произвести перебор в обратном порядке, нажимайте Tab c зайжатой клавишей Shift.

Если папка состоит из нескольких слов, разделенных пробелом или из кириллических символов, то весь путь берется в кавычки, например, cd "C:\Documents and Settings"

Копирование текста в/из командной строки¶

По умолчанию копирование текста из командной строки отключено. Чтобы его включить необходимо:

  1. Нажать правой кнопкой мыши на заголовок окна командной строки и выбрать пункт «Свойства»;
  2. Установить галочки напротив «Выделение мышью» и «Быстрая вставка»;

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

Вывод информации в текстовый файл и перенаправление данных¶

Информацию, выводимую программами в командную строку, можно перенаправить в файл. Делается это с помощью символа >, например, systeminfo > C:\Users\mazhartsev\Desktop\test.txt.

Если файл не существует, то он будет создан. Если существует, то он будет перезаписан. Чтобы записать данные в конец файла, необходимо воспользоваться командой >>, например: systeminfo >> C:\Users\mazhartsev\Desktop\test.txt

Данные команды называются операторами перенаправления.

Операторы перенаправления

Описание Оператор перенаправления
> Записывает данные на выходе команды вместо командной строки в файл или на устройство, например, на принтер.
< Читает поток входных данных команды из файла, а не с клавиатуры.
>> Добавляет выходные данные команды в конец файла, не удаляя при этом существующей информации из файла.
>& Считывает данные на выходе одного дескриптора как входные данные для другого дескриптора.
<& Считывает входные данные одного дескриптора как выходные данные другого дескриптора.
| Считывает выходные данные одной команды и записывает их на вход другой команды. Эта процедура известна под названием «канал».

На чтение 5 мин Просмотров 1.9к. Опубликовано

Содержание

  1. Введение в командную строку Windows
  2. Основы использования командной строки Windows
  3. Запуск командной строки
  4. Навигация по директориям в командной строке Windows
  5. Команда «cd»
  6. Как изменить диск в командной строке Windows
  7. Команда «dir»
  8. Очистка командной строки Windows
  9. Что дальше?

Введение в командную строку Windows

Командная строка Windows, также известная как командный интерпретатор или консоль, является важным инструментом для любого программиста. Она позволяет выполнять операции на компьютере, такие как копирование, переименование и удаление файлов, осуществлять навигацию по директориям и запускать программы, используя простые текстовые команды.

Командная строка Windows может быть очень полезной для начинающих программистов Python по нескольким причинам. Во-первых, она позволяет эффективно управлять файлами и директориями, что очень важно при разработке программ. Во-вторых, многими инструментами для разработки Python, такими как virtualenv и pip, можно управлять только через командную строку. Научившись использовать командную строку Windows, начинающие программисты Python смогут быстрее и эффективнее работать со своими проектами.

В этой статье мы рассмотрим основы использования командной строки Windows.

Основы использования командной строки Windows

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

Запуск командной строки

Для начала работы с командной строкой, естественно, её сначала необходимо запустить. Рассмотрим основные способы запуска:

  • Запуск через меню Пуск:
    • Нажмите кнопку Пуск, которая находится в левом нижнем углу экрана
    • Найдите пункт «Командная строка» или «cmd» в списке программ
    • Нажмите на пункт «Командная строка» или «cmd» для запуска.
  • Запуск через диспетчер задач:
    • Нажмите Ctrl + Shift + Esc, чтобы открыть диспетчер задач
    • Нажмите на кнопку «Файл» в верхнем левом углу и выберите «Новый задачи»
    • В поле «Открыть» наберите «cmd» и нажмите Enter.
  • Запуск через Run:
    • Нажмите клавишу Windows + R
    • В появившемся окне введите «cmd» и нажмите Enter

После чего вы должны увидеть примерно следующее окно:

Как выглядит командная строка Windows

Навигация по директориям в командной строке Windows

Первое чему, нам необходимо научиться, это навигация по директориям в командной строке Windows. Для перехода в другую директорию используется команда «cd», а для просмотра содержимого директории используется команда «dir». Стоит отметить, что в командной строке можно использовать абсолютные и относительные пути, чтобы осуществлять навигацию по файловой системе.

Команда «cd»

Рассмотрим более подробно команду «cd»:

  • Введя в командной строке просто команду «cd» вы сможете узнать в какой директории вы сейчас находитесь:
C:\Users\Admin>cd
C:\Users\Admin
  • С помощью команды «cd» вы можете осуществлять навигацию использую относительные пути (т.е. указывать путь относительно той директории, где вы сейчас находитесь). Например перейдём в папку Documents, которая находится в директории C:\Users\Admin . Так как мы видим, что мы уже и так находимся в этой директории, то нам достаточно ввести команду «cd» и указать папку, в которую мы хотим перейти.
C:\Users\Admin>cd Documents
C:\Users\Admin\Documents>

Кнопка Tab в командной строке Windows может быть использована для автоматической заполнение имени файла или директории при использовании команды cd. Например, если вы начинаете вводить имя директории, а затем нажимаете клавишу Tab, то командная строка автоматически заполнит имя директории до первого уникального совпадения. Это может ускорить работу в командной строке и уменьшить вероятность ошибок при вводе имен.

  • Если вам необходимо переместиться на уровень выше вашей текущей директории, вы можете использовать команду «cd ..»:
C:\Users\Admin\Documents>cd ..
C:\Users\Admin>
  • Для перехода в корневую директорию диска вы можете использовать команду следующего вида  «cd с:/». В этом случае мы указываем абсолютный путь до директории. Рассмотрим примеры:
c:\Users\Admin>cd c:/
c:\>cd c:/users/admin/documents
c:\Users\Admin\Documents>

В первой строке мы пишем команду «cd с:/» и переходим в корневую директорию диска С. После чего мы используем команду «cd c:/users/admin/documents» и сразу переходим в соответствующую директорию.

Как изменить диск в командной строке Windows

Команда «cd» в командной строке Windows предназначена для навигации по директориям. Она не позволяет изменять диск, а только текущую директорию на определенный путь внутри текущего диска. Для смены диска в командной строке, необходимо ввести его имя вместе с символом «:», например «D:», и нажать Enter. Это переключит текущий диск на выбранный.

Команда «dir»

Команда «dir» в командной строке Windows позволяет просматривать содержимое текущей директории. Она выводит список файлов и папок, находящихся в текущей директории. Используя эту команду, вы можете узнать, какие файлы и папки у вас есть в данный момент. Это полезно, когда вы хотите найти какой-то конкретный файл или папку.

C:\Users\Admin\Documents>dir

Содержимое папки C:\Users\Admin\Documents

24.05.2022  15:53            22 394 Screenshot_1.jpg
21.06.2022  14:20            12 074 Screenshot_10.jpg
21.06.2022  14:32            39 541 Screenshot_11.jpg
21.06.2022  18:12            14 790 Screenshot_12.jpg

Как видите команда «dir» выводит не только список файлов и поддиректорий, которые находятся в текущей директории, но и дату последнего изменения файлов и их размеры.

Очистка командной строки Windows

Команда «cls» в командной строке Windows позволяет очистить экран. Это очень удобно, если вы выполнили какую либо задачу и теперь хотите очистить историю, а после приступить к следующей задаче. Вы можете использовать команду «cls» в любой момент, чтобы очистить экран, просто введите «cls» в командную строку и нажмите Enter.

Что дальше?

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

Работа с терминалом может пугать тех, кто привык работать с графическими пользовательскими интерфейсами (GUI). Тем не менее, это важный инструмент, к работе с которым разработчику Python нужно привыкнуть. И как только вы улучшите свои навыки по работе с терминалом, он станет чрезвычайно мощным инструментом в вашем арсенале. С помощью всего нескольких команд в терминале вы можете выполнять задачи, которые невозможно или, по крайней мере, очень утомительно выполнять в графическом интерфейсе.

В этом уроке вы узнаете, как:

  • Найти терминал в операционной системе
  • Открыть терминал
  • Осуществить навигацию по файловой системе с помощью основных команд
  • Создать файлы и папки с помощью терминала
  • Управлять пакетами с помощью pip-команд
  • Отслеживать файлы с помощью Git в терминале

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

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

Установите и откройте терминал

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

Примечание

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

  1. Оболочка — это программа, с которой вы взаимодействуете при выполнении команд в терминале.
  2. Интерфейс командной строки (CLI) — это программа, предназначенная для запуска в оболочке внутри терминала.

Другими словами, оболочка предоставляет команды, которые вы используете в интерфейсе командной строки, а терминал — это приложение, которое вы запускаете для доступа к оболочке.

Если вы используете компьютер с Linux или macOS, то терминал уже встроен. Вы можете начать использовать его прямо сейчас.

В Windows у вас также есть доступ к приложениям командной строки, таким как Command Prompt. Однако при работе с данным руководством и работы с терминалом в целом вместо этого следует использовать приложение терминала Windows.

Далее вы узнаете, как установить и открыть терминал в Windows и как найти терминал в Linux и macOS.

Терминал Windows — это современное и многофункциональное приложение, которое дает вам доступ к командной строке, нескольким оболочкам и расширенным параметрам настройки. Если у вас Windows 11 или выше, есть вероятность, что терминал Windows уже присутствует на вашем компьютере. В противном случае вы можете скачать приложение из Microsoft Store или из официального репозитория GitHub.

Прежде чем продолжить работу с этим учебным пособием, вам необходимо настроить терминал на вашем компьютере с Windows. Вы можете ознакомиться с документом «Your Python Coding Environment on Windows: Setup Guide», чтобы узнать, как установить терминал Windows.

После установки терминала Windows вы найдете его в меню «Пуск» в разделе Terminal. При запуске приложения вы должны увидеть окно, которое выглядит следующим образом:

⌨️ Терминал для начинающих: полезные команды для работы в командной строке Windows, Linux и MacOS

Данное изображение и все последующие взяты отсюда.

Для удобства вы можете создать ярлык на рабочем столе для терминала или закрепить приложение на панели задач для быстрого доступа.

Linux

Вы можете найти терминальное приложение в меню приложений вашего дистрибутива Linux. Кроме того, вы можете нажать Ctrl+ Alt + T на клавиатуре или использовать панель запуска приложений и выполнить поиск по слову Terminal.

После открытия терминала вы должны увидеть нечто похожее:

⌨️ Терминал для начинающих: полезные команды для работы в командной строке Windows, Linux и MacOS

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

macOS

Обычный способ открыть приложение терминала в macOS — открыть Spotlight Search и выполнить поиск Terminal. Вы также можете найти приложение терминала в папке приложения внутри Finder.

Когда вы открываете терминал, вы видите окно, похожее на изображение ниже:

⌨️ Терминал для начинающих: полезные команды для работы в командной строке Windows, Linux и MacOS

После запуска терминального приложения вы увидите окно, ожидающее команд. Это похоже на взаимодействие со скриптом Python, который ожидает ввода данных пользователем.

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

Изучите основные команды терминала

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

В зависимости от вашей операционной системы вы будете запускать команды терминала в определенной оболочке. Для Linux это, скорее всего, Bash, для более новых версий macOS — Zsh , а для Windows — PowerShell. Эти оболочки различаются по своим функциям, но у них общие основные команды.

Примечание

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

В этом разделе вы познакомитесь с наиболее часто используемыми командами терминала. Чтобы ознакомиться с ними, выберите свою операционную систему в переключателе платформ ниже:

Вот команды Windows, которые вы рассмотрите:

⌨️ Терминал для начинающих: полезные команды для работы в командной строке Windows, Linux и MacOS

Linux + macOS:

⌨️ Терминал для начинающих: полезные команды для работы в командной строке Windows, Linux и MacOS

Слова, написанные прописными буквами, являются ссылками на аргументы, допускаемые командами.

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

Навигация по вашей файловой системе

Файловая система — это иерархическая структура каталогов и файлов на компьютере. Обычно это то, что вы видите, когда открываете приложение файловой системы с графическим интерфейсом, такое как проводник Windows или Finder в macOS. Это также отличное место для начала вашего путешествия по терминалу, но опять же, вы просто знакомитесь со всеми возможностями терминала.

Папка, которую вы сейчас открыли в файловой системе, является текущим рабочим каталогом (current working directory, cwd). Как вы заметите, вы используете рабочий каталог в качестве точки отсчета для многих операций с файловой системой. Понимание устройства файловой системы и текущего рабочего каталога важно для эффективной навигации и управления файлами и каталогами в терминале.

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

Чтобы начать работу, узнайте свой текущий рабочий каталог:

        $ pwd
/Users/realpython
    

Команда pwd (расшифровывается как print working directory) используется для определения вашего текущего местоположения в файловой системе. Здесь pwd показывает, что текущим рабочим каталогом является /Users/realpython.

Рабочий каталог — это текущий каталог, в котором вы работаете. Здесь по умолчанию будут выполняться команды.

Подробнее о текущем рабочем каталоге

Есть два термина, которые стоит изучить в контексте текущего рабочего каталога:

  1. Переменные среды
  2. PATH (путь)

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

PATH — это переменная среды, в которой хранится список каталогов. Чтобы увидеть, какие пути находятся в вашем PATH, вызовите следующую команду:

Windows

        PS> (cat ENV:Path) -Split ";"

    

Linux + macOS

        $ echo "${PATH//:/\n}"

    

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

Чтобы увидеть, какие файлы и папки содержатся в директории /Users/realpython, вы можете использовать ls (сокращение от list):

        $ ls
Applications          Movies
Desktop               Music
Documents             Pictures
Downloads             Public
Library
    

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

Вы также можете использовать флаг -a с командой ls, которая являет сокращением от all. Флаг -a покажет вам все элементы в текущем рабочем каталоге, включая скрытые элементы.

Другой флаг, который вы можете использовать, это -l, сокращение от long. Когда вы используете этот флаг вместе с ls, команда показывает вам подробную информацию об элементах в текущем рабочем каталоге.

Вы также можете комбинировать эти флаги, чтобы показать подробную информацию обо всех элементах, включая скрытые, с помощью ls -al:

        $ ls -al
total 80
drwxr-xr-x+  25 realpython  staff    800 Nov 26 11:51 .
drwxr-xr-x    6 root        admin    192 Nov  7 13:22 ..
-rw-r--r--@   1 realpython  staff  14340 Nov  7 16:04 .DS_Store
drwx------  134 realpython  staff   4288 Nov  8 18:37 .Trash
drwx------@   3 realpython  staff     96 Dec  3  2021 Applications
drwx------@  22 realpython  staff    704 Nov  7 16:00 Desktop
drwx------+   4 realpython  staff    128 Nov 17  2021 Documents
drwx------+   3 realpython  staff     96 Nov  1  2021 Downloads
drwx------@  86 realpython  staff   2752 Nov  7 21:08 Library
drwx------    6 realpython  staff    192 Jul 12 14:53 Movies
drwx------+   4 realpython  staff    128 Nov 26  2021 Music
drwx------+   4 realpython  staff    128 Nov  1  2021 Pictures
drwxr-xr-x+   4 realpython  staff    128 Nov  1  2021 Public
    

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

Примечание

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

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

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

        drwx------@  22 realpython  staff    704 Nov  7 16:00 Desktop

    

Эта строка дает вам ценную информацию об элементе. Там есть каталог с именем Desktop. Дата последнего изменения — 7 ноября в 16:00, размер — 704 байта.

Кроме того, вы можете увидеть информацию о правах владельца и группы. Если вы хотите узнать больше о нотации разрешений файловой системы, вы можете ознакомиться с notation of traditional Unix permissions.

Каждая папка в выводе ls представляет собой подпапку внутри вашего текущего рабочего каталога. Чтобы изменить текущий рабочий каталог на Desktop/подпапку, используйте команду cd от change directory (смена директории):

        $ pwd
/Users/realpython
$ cd Desktop
$ pwd
/Users/realpython/Desktop
    

Когда вы сначала вводите cd, а затем имя каталога, текущий рабочий каталог будет изменен на указанный. После запуска команды cd Desktop текущий рабочий каталог изменится на /Users/realpython/Desktop.

Обратите внимание, что вы не указываете слеш / или индикатор диска, как C:\, в начале Desktop. Вызов такого пути указывает на то, что вы хотите перейти по пути, относящемуся к каталогу, в котором вы сейчас находитесь.

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

  • Windows
        PS> cd C:\Users\realpython\Desktop
PS> pwd
C:\Users\realpython\Desktop
    

В этом случае cd команда изменяет текущий рабочий каталог на каталог C:\Users\realpython\Desktop, независимо от его предыдущего местоположения.

  • Linux + macOS
        $ cd /Users/realpython/Desktop
$ pwd
/Users/realpython/Desktop
    

В этом случае cd команда изменяет текущий рабочий каталог на каталог /Users/realpython/Desktop, независимо от его предыдущего местоположения.

Если вы используете для команды cd несуществующий путь, терминал выдаст ошибку. Вскоре вы узнаете, как создавать новые каталоги. Перед этим сделайте заключительное действие в вашей файловой системе.

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

        $ cd ..
$ pwd
/Users/realpython
    

Две точки ( ..) представляют родительский каталог текущего каталога. Использование cd ..перемещает вас на один каталог вверх в иерархии файловой системы.

В приложении файловой системы с графическим интерфейсом, таком как Windows Explorer или macOS Finder, вы должны щелкать маленькие значки папок курсором мыши. В терминальном приложении вы используете команды для выполнения задач — например, cd для перемещения между папками и ls для получения обзора элементов в каталоге.

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

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

Благодаря знаниям из этого раздела, вы сможете создавать и организовывать свои проекты в терминале.

Сначала убедитесь, что вашим текущим рабочим каталогом является Desktop. Затем используйте mkdir для создания новой папки с именем rp_terminal:

Windows

        PS> cd C:\Users\realpython\Desktop
PS> pwd
C:\Users\realpython\Desktop
PS> mkdir rp_terminal
    

Linux + macOS

        $ cd /Users/realpython/Desktop
$ pwd
/Users/realpython/Desktop
$ mkdir rp_terminal
    

Вы используете команду mkdir для создания нового каталога. Команда расшифровывается как make directory. Здесь вы создаете новый каталог rp_terminal.

Затем перейдите в rp_terminal/ и создайте новый файл с именем hello_terminal.py. Выберите свою операционную систему ниже и используйте соответствующую команду для конкретной платформы:

Windows

        PS> cd rp_terminal
PS> ni hello_terminal.py
    

Linux + macOS

        $ cd rp_terminal
$ touch hello_terminal.py
    

Когда вы запускаете команду touch, вы создаете пустой файл с заданным именем. В данном случае файл представляет собой скрипт Python с именем hello_terminal.py.

Если файл с указанным именем уже существует, то использование touch обновляет временную метку файла до текущей даты и времени, но не изменяет его содержимое. Команда touch также обновляет время доступа и модификации файла, даже если его содержимое остается неизменным.

Используйте ls, чтобы убедиться, что вы успешно создали файл:

        $ ls -l
total 0
-rw-r--r--@ 1 realpython  staff  0 Nov 27 12:09 hello_terminal.py
    

Между 0 и временной меткой написано, что hello_terminal.py в настоящее время пуст. Прежде чем вы начнете использовать команду echo для добавления содержания в hello_terminal.py, посмотрите, что происходит, когда вы вводите echo с некоторым текстом:

        $ echo 'print("Hello, terminal!")'
print("Hello, terminal!")
    

Как разработчик Python, вы знаете, что текст, который вы только что передали в echo, является вызовом функции print(). Точнее, команда echo отправляет строку в стандартный поток вывода (stdout).

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

        $ echo 'print("Hello, terminal!")' > hello_terminal.py
    

Опять же, вы используете echo для вывода заданной строки. Но на этот раз вы используете символ вставки > для отправки вывода в hello_terminal.py.

Примечание

Будьте осторожны при перенаправлении stdout на существующие файлы. Любое содержимое файла будет перезаписано без предупреждения.

Когда вы перенаправляете вывод команды echo в несуществующий файл, вы создаете файл на том же шаге.

Один из способов проверить, сработала ли команда, — снова просмотреть содержимое вашей папки:

        $ ls -l
total 8
-rw-r--r--@ 1 realpython  staff  26 Nov 27 12:12 hello_terminal.py
    

Отлично, сейчас размер hello_terminal.py 26 байт. Чтобы убедиться, что он содержит вызов функции print(), вы можете использовать команду cat:

        $ cat hello_terminal.py
print("Hello, terminal!")
    

К сожалению, команде cat не связана с кошками. Это сокращение от concatenate.

Когда вы используете cat с несколькими файлами в качестве аргументов, вы можете объединить их и отображать содержимое один за другим. Если вы используете cat только с одним файлом, то cat – это удобный способ отображения содержимого файла в терминале.

Теперь, когда вы знаете, что hello_terminal.py содержит допустимый код Python, вы можете запустить скрипт Python:

        $ python hello_terminal.py
Hello, terminal!

    

Когда вы используете команду python, терминал ищет исполняемый файл Python в вашем PATH.

Если вы запустите команду python без каких-либо аргументов, вы запустите интерактивный интерпретатор Python, также известный как REPL. Когда вы запускаете команду с файлом скрипта в качестве аргумента, Python запускает предоставленный скрипт.

В этом случае вы выполняете hello_terminal.py и видите результат своей функции print() непосредственно в терминале. Это работает, потому что print() использует stdout по умолчанию.

Примечание

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

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

Благодаря знаниям, полученным в этом разделе, вы теперь можете создавать, редактировать и проверять файлы Python в терминале. Теперь вы хорошо подготовлены для перехода к работе с инструментом командной строки, который необходим на вашем пути в качестве разработчика Python. Он называется pip, и он позволяет вам добавлять внешние пакеты в ваши проекты Python.

Управление пакетами с помощью pip

Менеджер пакетов pip — важный инструмент для управления пакетами Python. Чтобы избежать установки пакетов непосредственно в вашу системную установку Python, вы можете использовать виртуальную среду.

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

Создайте виртуальную среду

Python имеет встроенный venv модуль для создания виртуальных сред. Этот модуль помогает создавать виртуальные среды с помощью изолированной установки Python. После того как вы активировали виртуальную среду, вы можете устанавливать в нее пакеты. Пакеты, которые вы устанавливаете в одну виртуальную среду, изолированы от всех других сред в вашей системе.

Вы можете выполнить следующие шаги, чтобы создать и активировать виртуальную среду с именем venv:

Windows

        PS> python -m venv venv
PS> venv\Scripts\activate
(venv) PS>
    

Linux + macOS

        Linux + macOS
    

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

Примечание

Когда вы закончите работу с этой виртуальной средой, вы можете деактивировать ее, выполнив команду deactivate.

Когда вы активируете виртуальную среду с помощью модуля Python venv, вы добавляете новую запись в PATH переменную среды. Новая запись указывает на расположение исполняемого файла Python виртуальной среды. Это гарант того, что когда вы запускаете команды или сценарии Python, они будут использовать этот конкретный исполняемый файл Python вместо любой другой версии Python, которая может быть установлена ​​в вашей системе.

Устанавливаем пакет

В этом разделе вы установите Rich library Уилла Макгугана, которая позволит вам создавать красочные текстовые приложения пользовательского интерфейса (TUI) для терминала.

Перед установкой rich проверьте, какие пакеты Python в настоящее время установлены в вашей виртуальной среде:

        (venv) $ python -m pip list
Package    Version
---------- -------
pip        22.3
setuptools 65.5.0
    

Выполнение команды python -m pip list выводит список всех пакетов, установленных в текущей среде. И pip, и setuptools – это пакеты по умолчанию, которые вы найдете при запуске новой виртуальной среды.

Для установки rich используйте следующую команду:

        (venv) $ python -m pip install rich
Collecting rich
  ...
Installing collected packages: commonmark, pygments, rich
Successfully installed commonmark-0.9.1 pygments-2.14.0 rich-13.0.1
    

Кроме rich, вы также установили некоторые другие зависимости, которые вам понадобятся, когда вы захотите их использовать с rich. Чтобы проверить все установленные на данный момент пакеты, вы можете запустить python -m pip list еще раз:

        (venv) $ python -m pip list
Package    Version
---------- -------
commonmark 0.9.1
pip        22.3
Pygments   2.14.0
rich       13.0.1
setuptools 65.5.0
    

Чтобы увидеть предлагаемые возможности rich, запустите rich без каких-либо аргументов:

        (venv) $ python -m rich
    

В зависимости от возможностей вашего терминала вы должны увидеть такие примеры:

⌨️ Терминал для начинающих: полезные команды для работы в командной строке Windows, Linux и MacOS

На скриншоте выше вы можете получить представление о том, что вы можете делать с библиотекой rich. В конце концов, терминал не обязательно должен быть темным!

Теперь, когда ваш экран заполнен сверху вниз, вы можете снова очистить окно терминала. Для этого можно использовать clear команду:

        (venv) $ clear
    

Вы используете clear команду для очистки экрана терминала. Он удаляет весь текст и содержимое, отображаемые в данный момент на терминале, оставляя пустой экран. Например, вы можете очистить экран терминала перед запуском новых команд.

В некоторых терминалах вы можете использовать Ctrl + L или Cmd + L в качестве сочетаний клавиш для очистки экрана.

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

Если вы хотите узнать больше о виртуальных средах и pip, вы можете ознакомиться с учебником Real Python по виртуальным средам Python и учебным пособием о том, как использовать Python pip для управления зависимостями ваших проектов. Оба являются важными инструментами, которые облегчат вашу жизнь как разработчика Python.

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

Взаимодействие с Git

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

В этом разделе вы узнаете, как взаимодействовать с Git непосредственно из терминала. Вы будете инициализировать репозиторий Git, отслеживать файлы и создавать коммиты.

Для Git существует множество клиентов с графическим интерфейсом. Они могут быть удобны в использовании и помогут вам лучше понять логику Git.

Тем не менее, изучить основы взаимодействия с Git в терминале все же стоит. Изучение основных команд терминала Git поможет вам понять, как работает Git внутри.

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

Первым шагом в использовании Git является инициализация репозитория. Репозиторий — это контейнер, в котором хранятся все файлы вашего проекта, папки и метаданные.

Создайте новый репозиторий Git с помощью следующей команды:

        $ git init
Initialized empty Git repository in
⮑ /Users/realpython/Desktop/rp_terminal/.git/
    

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

После инициализации репозитория вы можете проверить статус вашего репозитория:

        $ git status
On branch main

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
    hello_terminal.py
    venv/

nothing added to commit but untracked files present (use "git add" to track)
    

Команда git status показывает текущий статус вашего репозитория: на какой ветке вы находитесь и есть ли какие-либо коммиты.

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

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

Кроме того, git status показывает, какие файлы Git не отслеживает. Вы можете игнорировать определенные файлы и папки, например, папку venv/, чтобы Git не отслеживал их.

Какие файлы игнорировать

Общее правило – игнорировать любые файлы, которые специфичны для вашей локальной среды разработки или файлы, которые генерируются вашим процессом сборки. Некоторые примеры файлов, которые обычно следует игнорировать, включают:

  • Файлы, содержащие конфиденциальную информацию, например, пароли или закрытые ключи.
  • Двоичные файлы, создаваемые процессом сборки, например, скомпилированные исполняемые файлы или файлы объектов.
  • Файлы, специфичные для вашей локальной среды разработки, такие как файлы виртуальной среды или файлы конфигурации редактора, специфичные для пользователя
  • Временные файлы или файлы, созданные вашей операционной системой, такие как .DS_Store в macOS или Thumbs.db в Windows
  • Логи или другие файлы, которые генерируются вашим приложением во время выполнения.

Просмотрите GitHub’s collection of .gitignore templates, чтобы получить представление о наиболее часто встречающихся файлах .gitignore. Там же вы найдете Python specific .gitignore example.

Вы можете игнорировать файлы в Git, создав файл .gitignore и указав в нем файлы и папки, которые вы хотите игнорировать:

        $ echo "venv" > .gitignore
    

Как вы узнали ранее, эта команда создает новый файл с именем .gitignore и записывает venv в него. Проверьте текущие элементы в вашем репозитории Git, используя другую команду, которую вы уже знаете:

        $ ls -a
.          .git          hello_terminal.py
..         .gitignore    venv
    

Теперь у вас есть .gitignore файл рядом с вашим hello_terminal.py файлом, вашей venv/папкой и .git/папкой. Чтобы проверить, игнорирует ли Git venv/папку, запустите git status еще раз:

        $ git status
On branch main

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
    .gitignore
    hello_terminal.py

nothing added to commit but untracked files present (use "git add" to track)
    

Отлично, Git теперь показывает только файлы .gitignore и hello_terminal.py как неотслеживаемые файлы. Git знает, что файлы есть, но вы еще не добавили их в репозиторий.

Отслеживание файлов с помощью Git

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

Вы используете git add команду, чтобы сообщить Git, какие файлы вы хотите отслеживать:

        $ git add .
    

Помните точку . в списке каталогов раньше? Точка указывает на текущий каталог. Использование . в конце команды git add указывает Git отслеживать все файлы в текущем каталоге. После того, как вы добавили файлы в репозиторий, вы можете проверить статус ваших файлов с помощью git status команды:

        $ git status
On branch main

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
    new file:   .gitignore
    new file:   hello_terminal.py
    

В выводе видно, что файлы hello_terminal.py и .gitignore добавлены и готовы к фиксации:

        $ git commit -m "Initiate git repository"
[main (root-commit) 7b20833] Initiate git repository
 2 files changed, 2 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 hello_terminal.py
    

С помощью команды git commit вы делаете снимок текущего состояния ваших файлов и сохраняете его в истории репозитория. Флаг -m добавляет сообщение с описанием ваших изменений. Вывод показывает ветку, в которой вы находитесь, и количество измененных файлов.

После того, как вы зафиксируете какие-либо изменения, рекомендуется снова проверить состояние вашего репозитория Git:

        $ git status
On branch main
nothing to commit, working tree clean
    

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

Рабочий процесс, который вы использовали в этом разделе, является типичным при использовании Git в терминале. Вы используете команду git add, чтобы сообщить Git, какие файлы отслеживать. Затем вы используете git commit для создания снимка текущего состояния ваших файлов и сохраняете его в истории репозитория.

Кроме того, рекомендуется часто использовать git status для проверки текущего состояния вашего репозитория.

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

Следующие шаги

Чем больше вы пользуетесь терминалом, тем привычнее вам будет. Интересный способ внедрить терминал в свои рабочие процессы в качестве разработчика Python — создать скрипты Python с интерфейсами командной строки. Например, вы можете создать:

  • Приложение-викторина с Python
  • Средство проверки подключения к сайту в Python
  • Приложение To-Do из командной строки с Python и Typer
  • Генератор дерева каталогов Python для командной строки
  • Приложение Weather CLI с Python
  • Wordle Clone с Python и Rich

Помимо использования pip и Git для управления вашими проектами Python, есть еще больше примеров с использованием терминала:

  • Интерфейсы командной строки. Многие популярные библиотеки и фреймворки Python, такие как Django , Flask и Poetry, включают в себя интерфейсы командной строки, которые позволяют выполнять такие задачи, как создание новых проектов, запуск серверов разработки и управление базами данных.
  • Автоматизация и сценарии. Терминал позволяет автоматизировать повторяющиеся задачи и создавать сценарии для управления рабочим процессом разработки, например, для запуска тестов или развертывания приложения.
  • Отладка. Терминал может быть полезен для отладки вашего кода. Например, вы можете использовать print()или logging in Python, чтобы вывести что-либо в терминале и понять, что происходит в вашем коде. Вы также можете использовать pdb для отладки кода Python.
  • Производительность. Многие инструменты командной строки работают быстрее, чем их аналоги с графическим интерфейсом, и идеально подходят для работы с большими наборами данных или выполнения сложных задач, таких как обработка и анализ данных.

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

Заключение

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

В этом уроке вы узнали, как:

  • Найти терминал в операционной системе
  • Открыть терминал
  • Осуществить навигацию по файловой системе с помощью основных команд
  • Создать файлы и папки с помощью терминала
  • Управлять пакетами с помощью pip команд
  • Отслеживать файлы с помощью Git в терминале

Вы улучшили свои навыки программирования, научившись выполнять три действительно важные задачи в терминале: перемещаться по файловой системе, управлять пакетами Python с помощью pip и делать коммиты в Git. Изучение команд терминала — отличная инвестиция для вас как для Python-разработчика. Просто не торопитесь и постепенно знакомьтесь с этим мощным инструментом. Достаточно скоро он станет важным инструментом, без которого вы не сможете жить.

***

***

Материалы по теме

  • 🐧 Терминал для тестировщика: консольные команды Unix/Linux, которые нужно знать наизусть
  • Терминал Linux: видеокурс по работе на примере Ubuntu
  • 6 команд терминала и пара комбинаций, полезных для начинающих разработчиков

  • Работа с ком портом windows
  • Работа с обновлениями windows 10 не выключайте компьютер
  • Работа с утилитами операционной системы windows
  • Работа с обновлениями windows 10 как отменить
  • Работа с журналом событий windows