Nie taki cmd straszny jak go malują



Po dłuższym oczekiwaniu nadarzyła się chwila wolnego czasu do przygotowania kolejnej publikacji. Następstwem tego było pytanie, o czym napisać tym razem? Stwierdziłem, że artykuły o windowsie sa w małej ilości. Kolejne pytanie... ok, będzie o windowsie, ale o czym dokładniej. Windows jest prosty, klikamy i dużej polityki w tym nie ma. Oczywiście są rzeczy zaawansowane, ale to dalej jest klikologia, na tyle prosta, że można samemu dojść do rozwiązania problemu. A może na warsztat warto wziąć wiersz poleceń? Wiem, że obecnie w powershellu można zrobić więcej niż w wierszu poleceń, ale jakby na to nie spojrzeć warto znać troche podstaw, które nie zawsze są tak analogiczne jak nam się by mogło wydawać. Prędzej czy później nadchodzi w naszym życiu także chwila, gdy musimy stworzyć naszego pierwszego bat'a i tu wiedza z zakresu command line'a się przydaje.


Windows command-line - co to takiego?

Wszystkim znany wiersz poleceń, czyli czarne okienko z jasnymi napisami w windowsie nosi miano command-line'a, czyli w skrócie cmd. Osoby pamiętające czasy DOS'a wiedzą, że cmd.exe to cos więcej :) Wtedy to był COMMAND.COM. Sam interpreter można znaleźć w katalogu C:\windows\system32 naszego systemu. Czyli w uniwersalnym %SystemRoot%\system32. Służy on nam do uruchamiania innych programów, poleceń, a nawet plików wsadowych z rozszerzeniem cmd oraz bat. W trybie awaryjnym także odgrywa istotną rolę. Windowsowy interpreter poleceń można także spotkać w starszych systemach IBM'a, np OS/2. Tutaj odsyłam do artykułu dotyczącym systemu IBM OS/2 i wspólnej historii IBM i Microsoft.


Historia poleceń

W porównaniu do powłok linuxowych cmd może wydawać się trochę upośledzony, ale jakby nie patrzeć jest mocno użyteczny. Uruchamiamy go klikając z wcześniej podanej ścieżli lub poprostu klikając Start i wpisując cmd.
Pierwszą sprawą, którą należy wiedzieć to to, że mamy tutaj historię poleceń. Z historii poleceń można skorzystać na trzy sposoby.

1. Strzałki na klawiaturze. Wciskając guziki w góre i w dół można przeskakiwac pomiędzy poleceniami.
2. Klawisz F7 wyświetla historie poleceń.


3. Polecenie doskey /history


Dopowiadanie poleceń

Tabulator to przydatna rzecz, zawsze warto sprawdzić, czy nie można go wykorzystać. Wpisujemy kilka liter polecenia i tabulatorem możemy dopowiedzieć resztę polecenia lub ścieżki. Kilka razy przyciśnięty przeskakuje pomiędzy kolejnymi podpowiedziami. Zdarza się, że windows umieszcza ścieżki w cudzysłowie, ale nie ma co się przejmować, dopiszcie kolejne literki, kliknijcie TAB i command-line sobie z tym poradzi.


Polecenia

Zamieszczę to tylko kilka podstawowych poleceń, które warto znać. Polecenia zamieszczam w ich podstawowych formach. Atrybuty i składnie poleceń znajdziecie w manualu poprzez wpisanie help. Polecenia moga mieć wiele atrybutów i przełaczników, tak więc zachęcam Was do zapoznania się z nimi przed uruchomieniem. Znakiem / odzieliłem równowazne polecenia.

Polecenie Opis
help <nazwa polecenia> wyświetla informację o danym poleceniu
attrib zmiana atrybutów plików
cd / chdir zmiana katalogu
cls oczyszczenie ekranu konsoli
del usuwa plik
dir listowanie zawartości katalogu
echo wypisz na ekran
find szuka ciągu znaków w pliku
ipconfig wyświetla konfiguracje interfejsów sieciowych
netstat wyświetla informację o interfejsach sieciowych, portach, itp.
ping sprawdza połaczenie sieciowe
rd / rmdir usuwa folder
rem komentarz
ren / rename zmiana nazwy pliku
tasklist informacja o procesach
tree graficzne wyświetlenie struktury katalogów
xcopy kopiowanie / backup plików i katalogów


Wildcard characters

Znaki uniwersalne, wieloznaczniki, maski, czy jak kolwiek nazywane symbole także tu mają rację bytu.
* - zastępuję dowolnej długości ciąg znaków, włączając w to długość zerową i NULL.
? - zastępuje dokładnie jeden znak.


Przekierowania i pipe'y

Wyniki zapytań / poleceń domyślnie wyrzucany jest na ekran. Strumień wyjściowy można także skierować do pliku za pomocą znaku przekierowania(większości) >. Działa to bardzo podobnie jak w bashu, można nadpisywać lub dopisywać zawartość (przekierowanie >>). W przypadku braku pliku, jest on tworzony. W poniższym przykładzie zaprezentowałem Wam jak działają obydwa przekierowania, warto zwrócić uwagę na rozmiar plików po powtórzeniu poleceń. W przypadku dopisywania zawartości rozmiar pliku zwiększa się dwukrotnie.


Mamy także możliwość korzystania z pipe'a, czyli znaku |. Działa to tak samo jak w bash'u i powershell'u. Czyli dostawiamy po pipe dodatkowe polecenie które wynik pierwszego polecenia potraktuje jak strumień wejściowy. Przykład poniżej.

more plik_z_dopisaniem.txt
...
...
rem Tu widzimy zawartość pliku
...
...
...
rem Kolejne polecenie poniżej.
plik_z_dopisaniem.txt | more
...
...
rem polecenie z efektem podobnym. Czasami system może Wam output wyrzucic w notatnik.
...
...


Zmiana rozmiaru okna

Jeszcze jedna ale wydaje mi się bardzo przydatna rzecz, to zmiana wielkości okna konsoli z poziomu wiersza poleceń. Jako, że jestem osobą bardziej piszącą niż klikającą to ta metoda wydaje mi się o wiele wygodniejsza i szybsza. Rozmiar okna można zmienić przy pomocy polecenia mode x, y. Gdzie x to jest szerokość(kolumny), a y to ilość linii. Mam nadzieję, że wskazówki będą pomocne i usprawnią pracę z wierszem poleceń, gdy będzie takowa wymagana.