Moduł 10

Materiały do zajęć z Systemów operacyjnych prowadzonych na Wydziale Matematyki i Informatyki Uniwersytetu im. Adama Mickiewicza w Poznaniu.

« Wróć do spisu materiałów

Kilka nowych poleceń

Do wyczyszczenia zawartości okna wiersza poleceń służy polecenie cls.

Sprawdź działanie polecenia cls.

Do zarządzania bieżącą datą i godziną systemową służą polecenia date oraz time. Jeśli są wywołane bez argumentów, wyświetlają bieżącą datę/godzinę i pytają o nową, chyba że wywołano je z przełącznikiem /T.

Pomoc polecenia date mówi: If Command Extensions are enabled the DATE command supports the /T switch (...). Dowiedz się, czym są Command Extensions. Jak myślisz, dlaczego zastosowano taki mechanizm?

Zobacz odpowiedź

Wyłączenie Command Extensions pozwala zachować zgodność z bardzo starymi skryptami wiersza poleceń.

Do uruchamiania nowych poleceń w osobnym oknie służy polecenie wewnętrzne start. Argumentem polecenia start jest polecenie, które ma zostać wywołane. Pośród najpopularniejszych przełączników należy wymienić:

/minuruchom nowe okno zminimalizowane
/lowuruchom program z najniższym priorytetem wykonania
/waitwymuś zawieszenie polecenia start do czasu, gdy wywołane polecenie zakończy się

Uwaga. Polecenie start pozwala na podanie nazwy okna, w którym ma zostać uruchomione wskazane polecenie. Nazwa okna jest pierwszym argumentem i powinna być ujęta w cudzysłowy.

Porównaj efekty wykonania następujących poleceń w dowolnym katalogu:

> start dir
> start "OKNO" dir
> start /min dir
> start /min "OKNO" dir
> start /min /wait "OKNO" dir
> start "OKNO" /min dir

Do zmiany nazwy bieżącego okna wiersza poleceń służy polecenie title. Przyjmuje ono jako argument ciąg znaków, który ma stanowić nową nazwę okna.

Wykonaj następujące polecenia:

> title ala
> title ala ma kota
> title "ala ma kota"

Jak zostało zinterpretowane trzecie polecenie? Czy możesz na tej podstawie wyciągnąć jakiś wniosek dotyczący tego, jak wiersz poleceń interpretuje argumenty ujęte w cudzysłowy?

Zobacz odpowiedź

W trzecim przypadku nazwa okna objęła także cudzysłowy. Wynika to z tego, że wiersz poleceń nie usuwa cudzysłowów w procesie przekazywania argumentów do programu.

Istnieje bardziej rozbudowana wersja polecenia copy o nazwie xcopy. Jest to pierwsze polecenie zewnętrzne, które poznajemy na tych zajęciach. Ogólna składnia jest taka sama, jak w przypadku polecenia copy, jednak liczba przełączników jest o wiele większa. Najważniejsze z nich to:

/Akopiuj tylko pliki z atrybutem archiwalny
/Mkopiuj tylko pliki z atrybutem archiwalny i zdejmuje ten atrybut ze skopiowanych plików
/Swłącz możliwość kopiowania katalogów (z wyjątkiem pustych)
/Ewłącz możliwość kopiowania katalogów (także pustych)
/Vwłącz weryfikację poprawności przekopiowanych plików
/Tpozwala utworzyć w miejscu docelowym identyczną strukturę katalogów, jednak bez kopiowania plików
/Ukopiuj tylko te pliki, które już istnieją w katalogu docelowym
/Kkopiuj pliki wraz z ich atrybutami
/Nmodyfikuje nazwy kopiowanych plików tak, by były postaci 8.3 (8 liter nazwy, trzy litery rozszerzenia)

Utwórz plik plik.txt oraz katalog katalog, a następnie wykonaj następujące polecenia:

> xcopy plik.txt katalog
> xcopy plik.txt katalog_nie_istnieje

Jak zachowuje się program xcopy, gdy element docelowy nie istnieje?

Zobacz odpowiedź

Jeśli element docelowy nie istnieje, to program xcopy pyta, czy ma go interpretować jako nazwę pliku czy katalogu i postępuje zgodnie z udzieloną odpowiedzią.

Operacje na procesach

W tej części odwołujemy się do mechanizmów w systemie operacyjnym Windows 10. W starszych wersjach systemu niektóre rzeczy mogą wyglądać inaczej.

Możliwości związane z zarządzaniem procesami w systemach z rodziny Windows nie są tak uporządkowane, jak w przypadku systemów uniksopodobnych. Nie mniej, systemy z rodziny Windows oferują dostęp do menedżera zadań, pozwalającego na podstawowe operacje na procesach. Aby uruchomić menedżer zadań, można:

Uruchom menedżer zadań i zapoznaj się z zawartością dostępnych zakładek.

Informacje o uruchomionych procesach dostępne są na zakładce Szczegóły. Tam też można wykonywać proste operacje na procesach.

Korzystając z opcji dostępnych w menu kontekstwoym dostępnym po kliknięciu prawym przyciskiem myszy na wybranym procesie na zakładce Szczegóły:

  • zakończ wybrany proces (dla bezpieczeństwa zakończ np. proces wiersza poleceń),
  • ustaw koligację wybranego procesu (co to znaczy?),
  • zmień priorytet wybranego procesu,
  • utwórz plik zrzutu wybranego procesu.

Firma Microsoft udostępnia dodatkowe (o wiele bardziej rozbudowane) narzędzie do zarządzania procesami, nazwane Process monitor, dostępne na stronie internetowej https://technet.microsoft.com/en-us/sysinternals/processmonitor.aspx.

Polecenia związane z operacjami na plikach tekstowych

Silną stroną systemów uniksopodobnych jest rozbudowana biblioteka narzędzi umożliwiających operowanie na standardowym wejściu oraz na plikach. Wiersz poleceń systemu Windows także udostępnia narzędzia służące temu celowi.

Windowsowym odpowiednikiem programu cat jest polecenie wewnętrzne type. Wypisuje ono na standardowym wyjściu zawartość wskazanych plików.

Przetestuj działanie programu type. Czy, podobnie jak cat, pozwala ono wywołać się z wieloma argumentami? Jak się wtedy zachowuje?

Zobacz odpowiedź

Tak, program type można wywołać z wieloma argumentami, ale wówczas rozdziela on zawartość kolejnych plików ich nazwą.

Do porównywania plików służy polecenie zewnętrzne fc (ang. file compare). Przyjmuje ono jako argumenty nazwy plików, które mają zostać porównane. Wśród najważniejszych przełączników należy wymienić:

/Bporównywanie binarne
/Cignoruj różnice w wielkości liter
/Uporównuj pliki z kodowaniem unicode

Dowiedz się, gdzie znajduje się program fc.exe.

Zobacz odpowiedź

C:\Windows\System32\fc.exe

Przetestuj działanie polecenia fc.

Pewnym prymitywnym odpowiednikiem uniksowego programu grep jest program find, który wypisuje na wyjściu tylko te wiersze ze standardowego wejścia, które zawierają wskazany jako argument ciąg znaków ujęty w cudzysłowy. Najważniejsze przełączniki to:

/Vwypisz te wiersze, które nie pasują do wzorca
/Nwyświetlaj numery wierszy
/Iignoruj różnice w wielkości liter
/Cwypisz liczbę wierszy pasujących do wzorca

Wykonaj następujące polecenia:

> dir | find /i "ab"
> type C:\Windows\system.ini | find [
> type C:\Windows\system.ini | find "["

Skąd kojarzysz symbol |? Czy jego interpretacja w wierszu poleceń systemu Windows jest taka sama jak w systemach uniksopodobnych?

Do sortowania wierszy standardowego wejścia służy polecenie zewnętrzne sort. Przyjmuje ono następujące przełączniki:

/+nignoruj pierwszych n-1 znaków w każdej linii
/Rodwróć porządek sortowania

Posortuj zawartość katalogu C:\Windows według godziny ostatniej modyfikacji. Nie przejmuj się nagłówkami.

Zobacz odpowiedź

dir C:\Windows | sort /+13

Windowsowym odpowiednikiem uniksowego programu more jest program o takiej samej nazwie. Dzieli on standardowe wejście na strony, umożliwiając ich przeglądanie. Najpopularniejsze przełączniki to:

/Cwyczyść ekran przed wyświetleniem pierwszej strony tekstu
/Społącz sąsiednie puste wiersze w jeden

Korzystając z programu more, przejrzyj zawartość dowolnego pliku. Czy program more przyjmuje jakieś argumenty?

Kilka poleceń związanych z obsługą sieci (i nie tylko)

Program ipconfig pozwala (w pewnym ograniczonym zakresie) zarządzać interfejsami sieciowymi komputera oraz wyświetlać informacje o ich statusach.

Zapoznaj się z pomocą programu ipconfig. Jakie operacje można wykonać za jego pomocą? Zwróć uwagę na fakt, że dostęp do pomocy nie jest możliwy z wykorzystaniem polecenia help. Skorzystaj więc z drugiej poznanej metody dostępu do niej.

Program ping pozwala wysłać do zdalnego hosta żądanie ECHO_REQUEST w ramach protokołu ICMP. Przydatne opcje:

-twyślij nieskończenie wiele żądań
-n Xwyślij X żądań
-i Xustaw wartość pola TTL na X
-w Xustaw odstęp pomiędzy kolejnymi żądaniami na X milisekund
-4wymuś korzystanie z protokołu IP w wersji 4
-6wymuś korzystanie z protokołu IP w wersji 6

Zwróć uwagę, że program ping oczekuje opcji poprzedzonych znakiem łącznika.

Wyślij do wybranego serwera 10 żądań ECHO_REQUEST w odstępach 2-sekundowych.

Program net to, wbrew pozorom, nie jest narzędzie do zarządzania siecią. Pozwala ono na kompleksowe zarządzanie systemem operacyjnym Windows, w tym na zarządzanie użytkownikami, grupami, uprawnieniami do plików, podstawowymi zasadami bezpieczeństwa itp.

Korzystając z progresywnej pomocy programu net, dowiedz się, jakie możliwości daje ten program. W tym celu możesz wykonać polecenia:

> net /?
> net accounts /?
> net computer /?

Czy ta pomoc jest przydatna?

Korzystając z zasobów udostępnianych w internecie przez firmę Microsoft, zapoznaj się z dokładnym opisem działania poszczególnych poleceń z grupy net.