MS-DOS - pliki, katalogi, dyski
W systemie DOS dane przechowywane są w tzw. plikach (ang. file - zbiór danych). Plik może zawierać informację tekstową, obraz, zdjęcie, dane potrzebne do innego programu, sam również może być programem. Każdy plik posiada swoją nazwę, która składa się z nazwy podstawowej oraz rozszerzenia. Nazwa podstawowa może zawierać do 8 znaków, rozszerzenie do 3. Oba te człony w nazwie pliku oddziela się znakiem kropki, np. lista.txt, lipiec.kal, dane.01, zadanie Nazwy i rozszerzenia plików można budować z dowolnych znajków z wyjątkiem: <spacja> , . / \ < > ? * ! ¦ : ; ". Duże i małe litery w nazwie pliku są nierozróżnialne - z punktu widzenia systemu. Np. pliki o nazwach: lista.txt oraz Lista.TxT są takie same. Rozszerzenie pliku ma charakter opcjonalny, tzn. nazwa pliku może nie zawierać rozszerzenia - wówczas po nazwie podstawowej pliku nie podajemy znaku oddzielającego kropki. Niektóre rozszerzenia mają dla systemu kluczowe znaczenie i nie powinny być używane. Są to m. in. rozszerzenia: exe, com, sys, ini, pif, lnk. System DOS traktuje niektóre urządzenia na równi z plikami, umożliwiając dostęp do nich poprzez pliki specjalne. Do plików specjalnych należą:
Na dysku oprócz plików istnieją katalogi (zwane też folderami lub skoroszytami), które służą do segregacji plików. Nazwa katalogu podlega takim samym regułom jak nazwa pliku, przy czym na ogół w nazwach katalogów nie umieszcza się rozszerzenia. Katalog najczęściej zawiera pliki danych. W dowolnym katalogu można również utworzyć inny katalog i z koleji w nim umieścić pliki. Powstaje w ten sposób struktura zwana drzewem katalogów. Katalog utworzony wewnątrz innego katalogu nazywamy podkatalogiem lub katalogiem podrzędnym, katalog zawierający podkatalog nazywamy katalogiem nadrzędnym. Drzewo katalogów charakteryzują następujące cechy:
Podczas pracy z systemem operacyjnym MS-DOS zawsze aktywny jest jeden z dostępnych dysków, który nazywamy dyskiem bieżącym. Ponadto na każdym dysku aktywny jest jeden z katalogów - katalog ten również nazywamy katalogiem bieżącym. Polecenia odnoszące się do plików, a nie zawierające pełnejścieżki odnoszą się do danych znajdujących się w katalogu bieżącym na aktualnym dysku lub też do samego katalogu bieżącego na tym dyksu. W systemie oznaczane są literą i dwukropkiem. np. Z: Zazwyczaj:
Każdy plik posiada ściśle określone położenie w strukturze katalogów, które opisuje się przy pomocy ścieżki dostępu do pliku: [dysk]\[lista katalogów]\[nazwa pliku] Istnieje możliwość różnego zapisu ścieżki dostępu - powyższy schemat opisuje tzw. pełną ścieżkę dostępu, która rozpoczyna się od nazwy dysku i zawiera dokładne położenie zbioru w strukturze katalogów na wskazanym dysku, np.: C:\WINDOWS\WIN.COM C:\WINNT\PROFILES\1E12\user.dat Często używa się tzw. względnej ścieżki dostępu wyprowadzonej od katalogu głównego lub bieżącego. Pominięcie w ścieżce nazwy dysku spowoduje, że system operacyjny przyjmie, że odnosi się ona do dysku bieżącego, a pominięcie listy katalogów - katalogu bieżącego podanego dysku, np.: \WINDOWS\WIN.COM C:user.dat Zastępują nazwy plików przy kopiowaniu, usuwaniu itp. * (gwiazdka) - zastępuje dowolną liczbę dowolnych liter od miejsca wystąpienia do końca nazwy ? - zastępuje dokładnie 1 znak w nazwie Przykłady: *.* - oznacza wszystkie pliki, *.PAS - oznacza wszystkie pliki z rozszerzeniem PAS, PLIK.* - oznacza wszystkie pliki PLIK z dowolnym rozszerzeniem, A*.* - wszystkie pliki, których nazwa rozpoczyna się literą A z dowolnym rozszerzeniem, ?.EXE - wszystkie pliki o jednoliterowej nazwie i rozszerzeniu EXE, *.? - wszystkie pliki o dowolnej nazwie i jednoliterowym rozszerzeniu, ??*.* - plik o nazwie co najmniej 2-uznakowej. PRZETWARZANIE STRUMIENIOWE I POTOKOWE W systemie MS-DOS każdy uruchamiany program otrzymuje od systemu operacyjnego dwa pliki nazywane odpowiednio standardowy wejściem i wyjściem. Pliki te są wykorzystywane przez polecenie do odczytu i zapisu (wyprowadzania) danych. Schematycznie można przedstawić to w następujący sposób: Wejście -----> Polecenie -----> Wyjście Domyślnie przydzielane są pliki o nazwach CON i CON, przy czy pierwszy reprezentuje plik wejściowy, drugi plik wyjściowy i standardowo reprezentują odpowiednio klawiaturę oraz monitor: CON -----> Program -----> CON Najprostszym przykładem obrazującym wykorzystanie plików CON jest polecenie more, które wczytuje dane z podanego pliku i wypisuje je na ekranie, czyli standardowym wyjściu. Jeżeli jednak polecenie to wydamy bez argumentu, przyjmie ono, że dane należy odczytać z pliku CON, czyli standardowego wejścia. Po wydaniu polecenia more każda wpisana na klawiaturze linia będzie wyświetlana na ekranie monitora (wpisywanie należy zakończyć znakiem końca pliku ^Z = Ctrl+Z). Można dokonać zmiany standardowego wejścia programu CON za pomocą konstrukcji: polecenie < plik_wejściowy Podany po znaku mniejszości plik będzie potraktowany jako standardowy plik wejściowy. Zatem polecenia: more plik.txt more < plik.txt są równoważne. W podobny sposób konstrukcja: program > plik_wyjściowy zmienia standardowe wyjście programu z CON na podany plik. Wydanie polecenia dir > katalog.txt spowoduje zapisanie zawartości katalogu bieżącego do pliku o nazwie katalog.txt - polecenie dir niczego nie wyświetli na ekranie - wypisane przez nie informacje trafią do wskazanego pliku. Zmieniając standardowe wyjście programu należy pamiętać o czterech rzeczach:
Często zmieniając standardowe wyjście używamy wspomnianego wcześniej urządzenia pustego NUL. Niektóre polecenia wypisują informację, które niejednokrotnie nie są nam do niczego przydatne i chcielibyśmy, aby nie zaśmiecały niepotrzebnie ekranu. Np. polecenie copy po skopiowaniu pliku wyświetla komunikat o stanie zakończenia polecenia - komunikat ten możemy zignorować zmieniając standardowe wyjście polecenia na NUL: copy dane.txt dane.kop > NUL Plik NUL pełni w MS-DOS rolę kosza na śmieci - wszystko co zostanie w nim umieszczone jest bezpowrotnie tracone. Istnieje możliwość rożnoczesnej zmiany standardowego wejścia i wyjścia programu za pomocą konstrukcji: polecenie < plik_wejściowy > plik_wyjściowy UWAGA: Niektóre polecenia nie stosują się do obowiązujących reguł i wczytują dane zawsze z klawiatury lub wypisują dane zawsze na ekranie monitora omijając w ten sposób standardowe wejście i wyjście programu. Często również pomimo że program korzysta ze standardowego wyjścia pewne informacje wypisuje zawsze na ekranie monitora i podobnie w przypadku standardowego wejścia - program wczytuje dane w pliku CON, pewne jednak informacje są wczytywane z klawiatury.
program1 | program2 Po wydaniu polecenia: dir *.txt | find "00.09.01" > wynik.txt polecenie dir wyświetli listę plików i katalogów z rozszerzeniem txt kierując ją automatycznie na standardowe wejście polecenia find, które wyszuka i wypisze linie zawierające podany ciąg znaków - wyjście polecenia find kierowane jest przy tym do pliku o nazwie wynik.txt. Zatem wykonanie polecenia umieści w pliku wynik.txt listę zbiorów z rozszerzeniem txt utworzonych 1 września 2000r.
|