четверг, 4 июня 2020 г.

Что такое cmd + основные команды для новичка

Cmd — это командная строка. Чтобы запустить командную строку на винде, есть 2 основных способа:

  • Пуск → cmd.exe
  • Run (кнопка с картинкой винды) + R → cmd




Второй способ быстрее.  Хотя кому как...

Когда вы открываете командную строку, то попадает в директорию C:\Windows\system32 (1 способ) или C:\Users\olgak (2 способ, вместо olgak будет ваше имя пользователя).

Что вы должны уметь тут делать? Разберем план-минимум
  • Перемещаться по папкам
  • Копировать файлики
  • Запускать приложение
  • Архивировать файлы
См также:
Основные linux-команды для новичка — тоже план-минимум, но уже по линуксу




Как перейти в другую директорию


Эта тема рассмотрена в статье «Как перемещаться в командной строке»:

  • перемещение по абсолютному пути;
  • по относительному пути;
  • с автодополнением;
  • как подняться наверх


Как перенести / скопировать файл


Допустим, у нас в директории D:\cmd находится картинка panda.jpg. А мы решили упорядочить наши файлы: картинки отдельно, текст отдельно... Поэтому создали рядом директорию pictures:




Как нам перенести картинку в нужное место, если нет графического интерфейса, только командная строка?


Скопировать файл

Команда:

copy что_копировать куда_копировать

Если мы находимся в директории D:\cmd:

copy panda.jpg pictures




Проверим в графическом интерфейсе:



Если в «куда копировать» файл с таким именем уже есть, система спросит, что с ним делать — перезаписать или нет?


Для ответа достаточно ввести первую букву вашего варианта, например «n» — «No». Тогда файл не будет перезатираться.


Команда для копирования получилась короткой потому, что мы использовали относительный путь. Можно указать абсолютный путь. Причем как для файла, который копируем, так и для директории, «куда копируем».

copy panda.jpg С:\folder_1\folder_2\folder_3\pictures → относительный путь к копируемому файлу, полный путь для конца маршрута. Это удобно, когда нам надо переместить файл вообще в другое место 
copy D:\cmd\panda.jpg D:\folder_1\folder_2\folder_3\pictures → оба пути прописали полностью. Такую команду можно вызвать отовсюду, хоть из диска C (а все манипуляции на D идут)

Если используем относительный путь, можно указывать ../ — если копируемый файл находится в директории выше.

cd D:\cmd\subfolder — погрузились в папку на уровень ниже нужной нам D:\cmd\, где лежит картинка 
copy ../panda.jpg С:\folder_1\folder_2\folder_3\pictures

Если в пути есть пробелы, берем его в кавычки.

copy D:\cmd\panda.jpg “D:\убогий путь с пробелами\finish”

Но мой вам совет — не используйте в названиях папок пробелы!!! Проблем потом не оберетесь. Используйте лучше snake_case при создании папок.

См также:
CamelCase, snake_case и другие регистры  — подробнее о разных регистрах



Скопировать директорию

Допустим, мы хотим скопировать не файл, а целую директорию! И перенести ее в другое место:

  • Что — D:\cmd\pictures
  • Куда — C:\pictures (и то, и другое — директории)

Можно использовать команду xcopy:

xcopy D:\cmd\pictures C:\pictures

А можно использовать команду robocopy

robocopy D:\cmd\pictures C:\pictures

Согласно википедии, Robocopy полностью идентичен Xcopy по функционалу, плюс в нем есть дополнительные опции.



См также:
How to copy a directory or folder  — подробнее про xcopy
Robocopy википедия
Robocopy описание майкрософта



Переместить файл

Если надо переместить файл, а не скопировать его, то вместо copy используем move:

copy panda.jpg pictures

move panda.jpg pictures

Можно использовать относительные и абсолютные пути:

move panda.jpg С:\folder_1\folder_2\folder_3\pictures → относительный путь к копируемому файлу, полный путь для конца маршрута.

move ../panda.jpg С:\folder_1 → если файл с пандой находится на уровень выше, чем мы сейчас

move D:\cmd\panda.jpg D:\folder_1\folder_2\folder_3\pictures → оба пути прописали полностью.

См также:
Команда MOVE — чуть подробнее о команде



Переместить директорию

Аналогично перемещению файлов, только указываем названия папок:

move folder1 folder2 — переименовать папку с именем folder1 в folder2 в текущем каталоге.

move С:\test\folder1 С:\test\folder2 — переименовать с указанием абсолютных путей.

Да, именно переименовать! Так работает эта команда для папок — меняет название папки.



Перемещать директорию на винде можно только внутри одного диска. С одного диск на другой можно перенести только файлы внутри папки:

move C:\folder1\*.* D:\folder2\ - переместить все файлы из каталога folder1 диска C: в каталог folder2 диска D:

В этом случае надо сначала создать на диске D папку, а потом перемещать туда файлики. Иначе никак, увы.

См также:
Команда MOVE  — чуть подробнее о команде


Как запустить приложение


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

cd test_app  ---  перешли в директорию
test.bat        ---  запустили файл test.bat 

См также:
Как запустить батник? — в том числе через графический интерфейс



Аналогично с exe файлами. Причем иногда даблклик на файле не прокатит, работать надо именно из командной строки. Например, инструмент для попарного тестирования Allpairs  — если просто дважды тыкнуть по иконке allpairs.exe, то откроется черное окно командной строки и закроется. Не работает, кошмар!

А на самом деле инструменту нужен параметр на входе — что обрабатывать то. А как задать параметр при запуске? Запустить через командную строку!

cd D:\Tools\pairs\Test
..\allpairs.exe Dadata.txt > result_dadata.txt

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

start C:\test  — откроет папку C:\test  в окне проводника.
start /min notepad.exe — запустит блокнот в свернутом окне.
start http://google.com — запустит браузер со страницей Google.

См также:
Команда START - запуск приложения в новом окне  — подробнее о команде и ее параметрах

Если же приложение запускается как сервис, то все еще проще:

net test start — запустить сервис под названием «test»
net test stop — остановить сервис


Как создать архив


Чтобы создать архив, нужно установить сторонние программы, например, 7zip или winrar. А потом уже используем нужную команду:

7z a -tzip -mx5 -r0 C:\test\archive.zip C:\test — запаковываем все содержимое папки C:\test

"c:\program files\winrar\rar.exe" a C:\test\archive.rar C:\test — аналогично, только другой командой. Обратите внимание, winrar мы запускаем просто через exe файл, указав ему параметры (что упаковать и куда, а также всякие степени сжатия и прочая)

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

См также:
Работа с 7zip из командной строки 
Консольные команды WinRAR – примеры 



А еще говорят, что в виндоус 10 по умолчанию входит PowerShell 5.0, а в нем появился модуль Microsoft.PowerShell.Archive, который позволяет создавать и распаковывать ZIP архивы из командной строки.

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

Compress-Archive -Path C:\test -DestinationPath C:\Archive\test.zip -CompressionLevel Optimal

Ну а подробнее о команде читайте на сайта майкрософта: Как создать ZIP архив с помощью PowerShell 


Как узнать IP компьютера


Вот, например, вы работаете из дома и надо подключиться к рабочей машине. Как это сделать? Нужно открыть «удаленный рабочий стол» и ввести туда ip своей машины. Как узнать IP?

С помощью команды ipconfig. Вводим ее и ищем там IPv4 Address:

ipconfig


Если у вас что-то сломалось и вы просите помощи админа, он тоже попросит подсказать ваш IP.

Или если вы развернули у себя на компьютере приложение и нашли баг — как разработчик может его увидеть? Дайте ему свой IP и он сможет сам воспроизвести ошибку.
В общем, полезная команда, стоит знать! ))

См также:
Как обновить свой IP адрес  — что еще можно сделать с помощью этой команды


По командной строке винды, пожалуй, все. А вот по линуксу команд будет побольше. См их в статье Основные linux-команды для новичка!

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

Комментариев нет:

Отправка комментария