Systemy operacyjne

Opis zajęć i zasad

Zajęcia 10

Ważne! Przed przystąpieniem do pracy na komputerach w laboratoriach wpisz w wierszu poleceń:

set PATH=c:\windows;c:\windows\system32;%PATH%

Komendy

start

Start służy do uruchamiania nowych programów/poleceń w osobnym oknie. Jeżeli jest to program, to uruchomi się ten program, jeżeli jest to plik, to uruchomi się program skojarzony w system Windows z rozszerzeniem danego pliku. Jeżeli jest to adres strony WWW, wówczas uruchomi się domyślna przeglądarka internetowa i załaduje daną stronę.

Parametry:

/min uruchom nowe okno w formie zminimalizowanej

/low uruchom program z najniższym priorytetem wykonania

/wait wymuś zawieszenie polecenia start do czasu, gdy wywołane polecenie zakończy się

Jeżeli start nie znajdzie pliku o rozszerzeniu .COM;.EXE;.BAT;.CMD który mógłby dopasować do danej nazwy wtedy szuka katalogu o takiej nazwie, jeżeli go znajdzie otwiera Explorer.exe w tym katalogu.

Przykłady:

start dir
start "Nazwa Okna" dir
mkdir kat
start kat
start /wait dir
start /min "Okno" dir
start "Okno" /max dir

title

Zmienia tytuł wiersza poleceń.

start "Nowe okno"
start Nowsze okno

xcopy

Kopiuje pliki i katalogi łącznie z podkatalogami

Parametry:

/w Wyświetla następujący komunikat i oczekuje na odpowiedź użytkownika przed rozpoczęciem kopiowania plików:Press any key to begin copying file(s).

/f Wyświetla podczas kopiowania nazwy plików źródłowych i docelowych.

/e Kopiuje wszystkie podkatalogi, nawet jeżeli są puste.

/l Wyświetla listę plików, które należy skopiować.

/t Kopiuje tylko strukturę podkatalogów (czyli drzewo), a nie pliki.

/r Kopiuje pliki tylko do odczytu

/h Kopiuje pliki z atrybutami ukryty i systemowy. Polecenie xcopy domyślnie nie kopiuje plików ukrytych lub systemowych

/u Kopiuje tylko te pliki, które istnieją w katalogu docelowym

Przykłady:

mkdir a\b\c\d
mkdir z
xcopy a z
xcopy a z /e
xcopy a new /e
xcopy *.txt a
xcopy a z \l

Przetwarzanie potokowe

Komunikaty wyświetlane przez każdą komendę mogą stanowić dane wejściowe do innego polecenia, tak zwanego filtru. Służy do tego mechanizm potoków, który działa analogicznie do systemów z rodziny Unix i wykorzystuje ten sam symbol |. Pozwala to na porządkowanie i wyszukiwanie danych wyjściowych. Dostępne w wierszu poleceń Windows filtry to:

  • more

  • sort

  • find

more

Zatrzymuje wyświetlanie na wyjściu po zapełnieniu pełnego ekranu, i czeka na naciśnięcie dowolnego klawisza. Po wciśnięciu spacji wyświetla następny pełny ekran. Najważniejsze opcje:

/C czyści ekran przed wyświetleniem strony

/S łączy sąsiednie puste wiersze w jeden wiersz

+n zaczyna wyświetlanie od wiersza n

Przykład:

help | more

help | more /S /C +10

w trybie more wpisanie

ENTER wyświetla nową linię,

q powoduje wyjście z trybu

= pokazuje numer bieżącej linii

p <N> pokazuje N kolejnych linii

s <N> pomija N kolejnych linii

More możemy wykorzystywać jako filtr i jako program działający na pliku.

dir > a.txt

more < a.txt

type a.txt | more

sort

Sortuje dane wejściowe.

Najważniejsze Opcje:

/R odwraca porządek sortowania

/O określa plik, w którym mają zostać zapisane dane posortowane

/+n określa numer znaku, od którego na się rozpocząć każde porównywanie. Wiersze krótsze niż n znaków są sortowane przed innymi wierszami

Przykład:

dir | sort /+6
dir | sort /R
dir | sort /O a.txt

find

Wyszukuje ciąg znaków w strumieniu danych.

Najważniejsze opcje:

/V wyświetla wszystkie wiersze nie zawierające podanego ciągu

/C wyświetla tylko liczbę wierszy zawierających szukany ciąg

/N wyświetla wiersze i ich numery

/I nie rozróżnia wielkich i małych liter

Przykład:

dir > a.txt
find "a" a.txt
:: ciąg musi być w cudzysłowiu inaczej traktowany jest jak nazwa pliku
dir | find a.txt
dir | find "a.txt"
::jest case sensitive
dir | find "A.txt"
dir | find "A.txt" /N /I
dir | find "a.txt" /C
dir | find "a.txt" /C /V
::nie zadziała * i ? w find
dir | find "a*" /C /V

fc

Porównuje dwa pliki i wyświetla różnice między nimi. Składnia fc nazwa_pliku1 nazwa_pliku2

Parametry:

/b Porównuje pliki w trybie binarnym bajt po bajcie. Jest to domyślny tryb porównywania plików o następujących rozszerzeniach: .exe, .com, .sys, .obj, .lib, lub .bin.

/c ignoruje wielkość liter

/n wypisuje numery wierszy

/w kompresuje ciągi białych znaków do jednej spacji

W parametrach nazwa_pliku1 i nazwa_pliku2 można używać symboli wieloznacznych (tzn. * i ?). Jeżeli symbol wieloznaczny jest używany w parametrze nazwa_pliku1, polecenie fc porównuje wszystkie określone pliki z plikiem określonym przez parametr nazwa_pliku1. Jeżeli symbol wieloznaczny jest używany w parametrze nazwa_pliku2, polecenie fc używa odpowiedniej wartości z parametru nazwa_pliku1.

Przykład:

dir > a.txt
dir | more +5 > b.txt
fc a.txt b.txt
fc a.txt b.txt /n
fc a.txt b.txt /b
fc *.txt b.txt
fc a.txt b.*
fc a.txt b.?

Procesy

W systemie Windows wykonywalne pliki programów mają rozszerzenie .exe. Do plików o takim rozszerzeniu możemy się odwoływać z jego pominięciem. Dla tego w oknie Uruchamianie możemy napisać cmd zamiast cmd.exe.

W uproszczeniu można przyjąć, że proces to uruchomiony program. Każda aplikacja czy usługa w systemie Windows działa pod postacią procesu. Proces zawiera kod uruchomionej aplikacji oraz struktury danych niezbędne do jej funkcjonowania: stos, wskaźnik instrukcji, a także informacje o przyporządkowanych jej zasobach (takie, jak: czas procesora, pamięć, dostęp do urządzeń wejścia-wyjścia).

Podstawowym narzędziem umożliwiającym wgląd w zestaw działających procesów jest wbudowany w system Menedżer zadań Windows. Najprościej uruchomić go skrótem klawiszowym [Ctrl]+[Shift]+[Esc].

Lista działających w systemie procesów w standardowej konfiguracji systemu zawiera jedynie pięć parametrów wymienionych w kolejnych kolumnach: Nazwa obrazu, Nazwa użytkownika, Procesor CPU, Pamięć (prywatny zestaw roboczy) oraz Opis.

Nazwa obrazu - jak nazwa procesu.

Nazwa użytkownika - każdy program działający w systemie Windows, a zatem każdy istniejący proces, działa w kontekście konta użytkownika, który go uruchomił.

Procesor i pamięć - pokazują wartości, które w bardzo przybliżony sposób pozwalają ocenić, ile zasobów zużywa dany proces Wyjątkiem jest Proces bezczynności systemu - nie jest on obrazem jakiegokolwiek programu, lecz systemowym wskaźnikiem ilustrującym, jaki procent mocy obliczeniowej jest niewykorzystany.

Informacje o uruchomionych procesach dostępne są na zakładce Szczegóły. Tam też można wykonywać proste operacje na procesach. Jeżeli mamy komputer z wielordzeniowym procesorem i chcemy przeprowadzić operację, która wymaga maksymalnego zużycia wydajności procesora (np. kompresja archiwum danych), a tym samym potrzebujemy komputera do wykonania innej czynności (np. grania w grę), to możemy skorzystać z opcji koligacji, czyli przyporządkowania danej czynności odpowiedniemu rdzeniowi procesora. Plik małego zrzutu pamięci zawiera najmniejszą ilość użytecznych informacji, które mogą pomóc w zidentyfikowaniu przyczyn awarii komputera, powstają automatycznie po błędzie aplikacji albo można je wygenerować z poziomu menedżera procesów.

tasklist

Wyświetla listę procesów (taką samą jak manadżer aplikacji po włączeniu [CRT] + [ALT] + [DEL]).

tasklist

Parametr

/fi filtr, określa typy procesów, które mają być dołączone lub wykluczone z kwerendy.

Przykłady filtrów:

Status (eq, ne) RUNNING | NOT RESPONDING | UNKNOWN

PID (eq, ne, gt, lt, ge, le) Dowolna prawidłowa dodatnia liczba całkowita.

Session (eq, ne, gt, lt, ge, le) Dowolny prawidłowy numer sesji.

Memusage (eq, ne, gt, lt, ge, le) Dowolna prawidłowa liczba całkowita.

Username (eq, ne) Dowolna prawidłowa nazwa użytkownika ([domena]użytkownik).

::lista uruchomionych procesów
tasklist /fi "STATUS eq running"
::lista zamrożonych/nieodpowiadających aplikacji
tasklist /fi "STATUS eq not responding"
tasklist /fi "PID gt 1000"

taskkill

Wysyła sygnal terminate do procesu.

taskkill / PID 123
taskkill /im firefox.exe

W taskkill możemy używać filtrów w taki sam sposób jak w tasklist.

Zadania

  1. Korzystając z filtru find wyświetlić wszystkie katalogi znajdujące się w katalogu C: (po wydaniu polecenia dir katalog jest oznaczony poprzez <DIR>).

  2. Korzystając z filtrów find oraz sort z przełącznikiem /+n wyświetlić wszystkie katalogi znajdujące się w katalogu C:posortowane po nazwach w odwrotnej kolejności.

  3. 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,

    • zmień priorytet wybranego procesu,

    • utwórz plik zrzutu wybranego procesu.

*

Wykorzystano materiały z:

http://www.ee.pw.edu.pl/~tomzdun/zajecia/soisk_l/1.%20DOS%20-%20Linia%20komend.pdf

https://bap.faculty.wmi.amu.edu.pl/wp-content/uploads/2015/07/SOP_2015SZ_LAB_11.pdf

https://technet.microsoft.com/en-us/library/cc770297.aspx#BKMK_examples

http://pclab.pl/tip/Zarz%C4%85dzanie.procesami.w.Windows.7.czyli.rzecz.nie.tylko.dla.admin%C3%B3w,48588/4