mtools(1) General Commands Manual mtools(1) Nazwa mtools - narzedzia dostepu do dyskow DOS w Uniksie Wstep Mtools jest zbiorem narzedzi pozwalajacych systemom uniksowym na operowanie plikami systemu MS-DOS: odczyt, zapis i przemieszczanie plikow polozonych na systemie plikow MS-DOS (zwykle dyskietce). Gdy jest to uzasadnione, kazdy z programow usiluje emulowac odpowiednie polecenie MS-DOS. Nie sa jednak emulowane zbedne ograniczenia i osobliwosci DOS-u. Na przyklad, mozliwe jest przesuwanie podkatalogow z jednego podkatalogu do innego. Mtools wystarczaja do zapewnienia dostepu do systemow plikowych MS-DOS. Na przyklad, polecenia takie jak mdir a: dzialaja na napedzie a: bez uprzedniego montowania (dolaczania) czy inicjacji (zakladajac, ze na maszynie dziala domyslny plik `/etc/mtools.conf'. Przy pomocy mtools mozna zmieniac dyskietki bez potrzeby ich dolaczania i odlaczania. Skad wziac mtools Mtools mozna znalezc w nastepujacych miejscach (i ich mirrorach): http://ftp.gnu.org/gnu/mtools/mtools-4.0.43.tar.gz Laty maja nazwy mtools-wersja-ddmm.taz, gdzie wersja oznacza wersje podstawowa, dd - dzien, a mm - miesiac. Z powodu braku miejsca zwykle pozostawiam jedynie najnowsza late. There is an mtools mailing list at info-mtools @ gnu.org . Please send all bug reports to this list. You may subscribe to the list at https://lists.gnu.org/mailman/listinfo/info-mtools. (N.B. Please remove the spaces around the "@". I left them there in order to fool spambots.) Announcements of new mtools versions will also be sent to the list, in addition to the Linux announce newsgroups. The mailing list is archived at http://lists.gnu.org/pipermail/info-mtools/ Wspolne cechy wszystkich polecen mtools Opcje i nazwy plikow Nazwy plikow MS-DOS skladaja sie z litery napedu, po ktorej nastepuje dwukropek, podkatalog i nazwa pliku. Tylko nazwa pliku jest obowiazkowa, litera napedu i podkatalog sa opcjonalne. Nazwy plikow bez litery napedu odnosza sie do plikow unixowych. Nazwy podkatalogow moga uzywac zarowno separatora \ jak i \. Uzycie separatora \ lub znakow uogolniajacych wymaga otoczenia nazw znakami cytowania (apostrofami, cudzyslowami) dla ochrony przed ich interpretacja przez powloke. Jednakze znaki uogolniajace w nazwach plikow unixowych nie powinny byc cytowane, gdyz chcemy by powloka je rozwinela. Procedury "wyszukiwania wzorcow" wyrazen regularnych stosuja sie do regul uniksowych. Na przyklad, * oznacza wszystkie pliki DOSowe (zamiast *.*). Bity okreslajace atrybuty pliku (archiwalny, ukryty, tylko-do-odczytu, systemowy) podczas wyszukiwania wzorca sa ignorowane. Wszystkie opcje uzywaja znaku - (minus) jako pierwszego znaku, nie zas / (ukosnika), jak moglbys sie spodziewac w DOSie. Wiekszosc polecen mtools pozwala na uzycie wielu nazw plikow jako parametrow, co nie jest zgodne z konwencjami DOSu, ale jest przyjazniejsze dla uzytkownika. Most mtools commands allow options that instruct them how to handle file name clashes. See section name clashes, for more details on these. All commands accept the -i flag which allows to specify an image file (See section drive letters). All commands accept the -V flag which prints the version, and most accept the -v flag, which switches on verbose mode. In verbose mode, these commands print out the name of the MS-DOS files upon which they act, unless stated otherwise. See section Commands, for a description of the options which are specific to each command. Litery napedow Znaczenie liter napedow zalezy od konfiguracji sprzetowej. Przy wiekszosci konfiguracji jednak, naped A jest pierwszym napedem dyskietek, naped B drugim napedem dyskietek (jesli jest dostepny), naped J jest napedem Jaz (jesli dostepny), zas naped Z - napedem typu Zip (jesli dostepny). W systemach, gdzie nazwa urzadzenia pochodzi od identyfikatora SCSI, naped Jaz przyjmowany jest za 4 obiekt SCSI, a Zip za SCSI 5 (domyslne ustawienia fabryczne). W Linuksie, w przypadku obu tych napedow, przyjmuje sie, ze jest to drugi naped szyny SCSI (/dev/sdb). Ustawienia domyslne moga byc zmienione przez zmiane pliku konfiguracyjnego (patrz opis konfiguracji w mtools(5)). Litera dysku : (dwukropek) ma specjalne znaczenia. Jest uzywana do uzyskania dostepu do plikow, ktore sa wprost podane w linii polecen za pomoca opcji -i. Przyklad: mcopy -i my-image-file.bin ::file1 ::file2 . Kopiuje to file1 i file2 z pliku obrazu (my-image-file.bin) do katalogu /tmp. Mozna takze podac offset w pliku obrazu przez dodanie do nazwy pliku @@offset. Przyklad: mcopy -i my-image-file.bin@@1M ::file1 ::file2 . Powyzsze zaczyna szukac obrazu w pliku od offsetu 1M zamiast od poczatku pliku. Biezacy katalog roboczy Polecenie mcd jest uzywane do ustawienia urzadzenia i biezacego katalogu (odnoszacego sie do systemu plikowego MS-DOS). Jesli nie zostanie uzyte to domyslnym katalogiem jest A:/. Jednak w przeciwienstwie do MS-DOS-u, istnieje tylko jeden katalog roboczy dla wszystkich napedow, nie zas po jednym na naped. Dlugie nazwy plikow VFAT Niniejsza wersja mtools obsluguje dlugie nazwy plikow stosowane w VFAT. Jesli unixowa nazwa pliku jest zbyt dluga, by zmiescic sie w krotkiej nazwie DOSu, zachowywana jest jako dluga nazwa VFAT i tworzona jest towarzyszaca jej krotka nazwa. Te krotka nazwe widzisz sprawdzajac dysk DOSem w wersji wczesniejszej niz 7.0. Ponizsze zestawienie pokazuje kilka przykladow krotkich nazw: Dluga nazwa Nazwa MS_DOS Powod zmiany nazwy ----------- ------------ ----------------------- ToJestTest TOJEST~1 zbyt dluga nazwa pliku alain.knaff ALAIN~1.KNA za dlugie rozszerzenie prn.txt PRN~1.TXT PRN jest nazwa urzadzenia .abc ABC~1 pusta nazwa pliku hot+cold HOT_CO~1 niedozwolony znak Jak widac, w celu uzyskania krotkiej nazwy zastosowano nastepujace przeksztalcenia: * Niedozwolone znaki sa zastapione podkresleniem. Znakami zabronionymi sa: ;+=[]',\"*\<>/?:|. * Usuniete sa dodatkowe kropki, ktore nie moga byc zinterpretowane jako glowny separator nazwy/rozszerzenia. * Tworzony jest licznik dla przyrostka ~n, * Nazwa skracana jest tak, by spelnic ograniczenie 8+3. Poczatkowa, uniksowa nazwa pliku (dluga lub krotka) zwana jest rowniez nazwa pierwotna lub glowna (primary), zas pochodzaca od niej nazwa krotka zwana jest wtorna lub dodatkowa (secondary). Przyklad: mcopy /etc/motd a:Reallylongname Mtools utworza wpis w VFAT dla `DlugaNazwa' i uzyja `DLUGANAZ' jako nazwy krotkiej. `DlugaNazwa' jest tutaj nazwa glowna, zas `DLUGANAZ' nazwa dodatkowa. mcopy /etc/motd a:motd `motd' spelnia ograniczenia stawiane nazwom pliku DOS. Mtools nie musi tworzyc z niej innej nazwy. Nazwa pierwotna jest `motd', a nie ma nazwy wtornej. W skrocie: nazwa glowna jest dluga nazwa, jesli taka istnieje, lub krotka nazwa, jesli nie ma dlugiej nazwy. Mimo, iz VFAT jest duzo elastyczniejszy niz FAT, nawet w nim nadal istnieja niedopuszczalne nazwy plikow. Pozostaly jeszcze niektore niedozwolone znaki (\"*\<>/?:|), zas nazwy urzadzen w dalszym ciagu sa zarezerwowane. Nazwa uniksowa Dluga nazwa Powod zmiany ------------- ----------- ------------------------- prn prn-1 PRN jest nazwa urzadzenia ab:c ab_c-1 niedozwolony znak Jak widac, w przypadku niedozwolonej dlugiej nazwy, wykonywane sa nastepujace przeksztalcenia: * Niedozwolone znaki zastepowane sa podkresleniami, * Tworzony jest licznik dla przyrostka ~n, Kolizje nazw Podczas zapisu pliku na dysk, jego dluga lub krotka nazwa moze kolidowac z nazwa istniejacego pliku lub katalogu. Moze sie to zdarzyc dla kazdego z polecen tworzacych nowy katalog lub wpis w katalogu, takiemu jak mcopy, mmd, mren, mmove. W przypadku kolizji nazw polecenia mtools pytaja o sposob postepowania. Oferuja kilka mozliwosci: overwrite Nadpisuje istniejacy plik. Nie jest mozliwe nadpisanie katalogu plikiem. rename Zmienia nazwe nowo tworzonego pliku. Mtools pytaja o nowa nazwe pliku. autorename Zmienia nazwe nowo tworzonego pliku. Mtools wybieraja same nazwe, bez pytania. skip Pomin ten plik, zajmij sie nastepnym (jesli jest). By wybrac jedna z powyzszych akcji, po zachecie ze strony polecenia, wpisz jej pierwsza litere. Jesli uzyjesz malej litery, to akcja bedzie sie odnosic wylacznie do tego pliku; uzycie duzej litery spowoduje zastosowanie danej akcji do wszystkich plikow bez dalszych pytan. Mozna rowniez wybrac akcje (dla wszystkich plikow) w linii polecen, przy wywolaniu mtools: -D o Domyslnie nadpisuje nazwy pierwotne. -D O Domyslnie nadpisuje nazwy wtorne. -D r Domyslnie zmienia nazwe pierwotna. -D R Domyslnie zmienia nazwe wtorna. -D a Domyslnie automatycznie zmienia nazwe pierwotna. -D A Domyslnie automatycznie zmienia nazwe wtorna. -D s Domyslnie przeskocz nazwe pierwotna. -D S Domyslnie przeskocz nazwe wtorna. -D m Pytaj uzytkownika, co zrobic z nazwa pierwotna. -D M Pytaj uzytkownika, co zrobic z nazwa wtorna. Zauwaz, ze w linii polecen przelaczniki male/duze odrozniaja polecenia dla nazwy pierwotnej/wtornej, podczas gdy przy wyborze interakcyjnym male/duze roznicuja zakres: tym-razem/zawsze. Nazwa pierwotna jest nazwa wyswietlana w Windows 95 lub Windows NT, tj. nazwa dluga, jesli takowa istnieje, w przeciwnym razie krotka. Nazwa wtorna jest nazwa "ukryta", tj. nazwa krotka jesli istnieje dluga. Przy domyslnym sposobie dzialania mtools uzytkownik jest proszony o reakcje w przypadku kolizji nazw pierwotnych, zas nazwy wtorne zmieniane sa automatycznie. Jesli kolizja nazw zdarzy sie w katalogu Unixa, mtools pytaja tylko czy nadpisac plik, czy go pominac. Rozroznianie duzych i malych liter w systemie VFAT System plikow VFAT potrafi zapamietac wielkosc znakow (male/duze litery) w nazwach plikow. W tym samym katalogu nie moga jednak istniec pliki o nazwach rozniacych sie jedynie wielkoscia liter. Jesli na przyklad zapisano plik o nazwie DlugaNazwaPliku w systemie plikowym VFAT, mdir pokaze go jako DlugaNazwaPliku, a nie jako DlugaNazwapliku. Jednak polecenie odmowi dodania pliku DlugaNazwapliku do tego samego katalogu, gdyz wielkosc liter jest ignorowana przy sprawdzaniu kolizji. System VFAT umozliwia przechowywanie wielkosci liter nazwy pliku w bajcie atrybutu, jesli wszystkie litery tej nazwy sa duze (badz male) oraz wszystkie litery rozszerzenia tez sa duze (lub odpowiednio, male). Mtools uzywaja tej informacji do wyswietlania nazw plikow oraz tworzenia nazw uniksowych przy kopiowaniu (mcopy) do katalogu Unixa. Moze to dawac nieoczekiwane efekty w odniesieniu do plikow zapisanych przy uzyciu DOS w wersji wczesniejszej niz 7.0: nazwy takich plikow beda w calosci zamienione na duze litery. Zachowanie to rozni sie od poprzedniej wersji mtools, ktora tworzyla nazwy plikow uniksowych zlozone z malych liter. Formatowanie o duzej gestosci Mtools supports a number of formats which allow storage of more data on disk than usual. Due to different operating system abilities, these formats are not supported on all operating systems. Mtools recognizes these formats transparently where supported. W celu sformatowania takich dyskietek powinienes uzyc narzedzia odpowiedniego do systemu operacyjnego. Dla Linuksa, odpowiednie narzedzia obslugi dyskietek mozna znalezc w pakiecie fdutils w nastepujacych miejscach: http://www.fdutils.linux.lu/. Dalszych szczegolow szukaj w dokumentacji dolaczonej do tego pakietu. Nalezy uzyc superformat, by sformatowac dyskietke w dowolnym z formatow oprocz XDF, oraz xdfcopy do formatowania XDF. Wiecej sektorow Najstarsza metoda umieszczenia wiekszej ilosci danych na dyskietce jest uzycie wiekszej liczy sektorow i cylindrow. Mimo, ze standardowy format uzywa 80 cylindrow i 18 sektorow (na 3,5" dyskietkach duzej gestosci), to mozliwe jest uzycie do 83 cylindrow (na wiekszosci napedow) i do 21 sektorow. Metoda ta pozwala na zapisanie do 1743K na dyskietce 3,5"HD. Dyskietki o 21 sektorach sa jednak dwukrotnie wolniejsze od standardowych dyskietek o 18 sektorach, gdyz sektory sa upakowane tak blisko siebie, ze zachodzi potrzeba ich przeplotu. Problem ten nie istnieje przy formatach o 20 sektorach. Formaty te sa obslugiwane przez liczne shareware'owe DOSowe programy narzedziowe takie jak fdformat i vgacopy. W swej nieskonczonej arogancji Bill Gate$ wierzyl, ze to on to wynalazl i nazwal je "dyskami DMF" lub "Windows formatted disks". W rzeczywistosci, rozwiazanie to istnialo juz od lat! Mtools obsluguja te formaty w Linuksie, SunOS oraz DELL Unix PC. Wieksze sektory Uzycie wiekszych sektorow umozliwia przekroczenie pojemnosci mozliwej do uzyskania przy standardowych sektorach 512-bajtowych. Powodem jest naglowek sektora. Naglowek sektora ma taki sam rozmiar, niezaleznie od liczby bajtow danych w sektorze. Mozemy zatem zaoszczedzic nieco miejsca uzywajac mniejszej liczby wiekszych sektorow. Na przyklad, 1 sektor 4-kilobajtowy zabiera tylko jedno miejsce na naglowek, podczas gdy 8 sektorow po 512 bajtow ma 8 naglowkow, przy tej samej ilosci danych uzytkowych. Metoda ta umozliwia przechowanie do 1992K na dyskietkach 3,5HD. Mtools obsluguja te formaty tylko w Linuksie. 2m Format 2m zostal pierwotnie wynaleziony przez Ciriaco Garcia de Celis. On rowniez uzywa wiekszych niz zwykle sektorow, by pomiescic wiecej danych na dyskietce. Posluguje sie jednak standardowym formatem (18 sektorow po 512 bajtow kazdy) na pierwszym cylindrze, by ulatwic obsluge tych dyskietek w DOS-ie. Faktycznie, metoda ta pozwala na uzycie sektora startowego (bootsector) o standardowym rozmiarze, zawierajacego opis, jak powinna byc odczytana reszta dyskietki. Wada tego rozwiazania jest to, ze pierwszy cylinder moze pomiescic mniej danych niz pozostale. Niestety, DOS potrafi obslugiwac wylacznie dyskietki o tej samej ilosci danych na kazdej sciezce. A zatem 2m ukrywa fakt, iz pierwsza sciezka zawiera mniej danych przez uzycie shadow FAT. (Zwykle DOS przechowuje FAT w dwu identycznych kopiach, dla dodatkowego bezpieczenstwa. XDF przechowuje tylko jedna kopie, ale mowi DOS-owi, ze przechowuje dwie. W ten sposob oszczedzane jest miejsce, jakie byloby zajete przez druga kopie FAT). Oznacza to rowniez, ze nie powinno sie nigdy uzywac dyskietek 2m do zapisywania czegokolwiek innego niz system plikow DOS. Mtools obsluguja te formaty tylko w Linuksie. XDF XDF jest formatem duzej gestosci uzywanym przez OS/2. Umozliwia przechowywanie na dyskietce do 1840K. Jest to mniej niz najlepsze formaty 2m, ale jego glowna zaleta jest szybkosc: 600 milisekund na sciezke. Jest to szybciej niz dla formatu 21-sektorowego i prawie tak szybko jak dla standardowego formatu o 18 sektorach. Chcac zapewnic dostep do tych dyskietek, nalezy sprawdzic, ze mtools zostaly skompilowane z obsluga XDF i ustawic zmienna use_xdf dla napedu w pliku konfiguracyjnym. Szczegoly mozna znalezc w rozdzialach Kompilowanie mtools i Rozne zmienne. Szybki dostep XDF osiagalny jest przy jadrze Linuksa nowszym niz 1.1.34. Mtools obsluguje ten format tylko w Linuksie. Ostrzezenie / Uwaga dystrybutorzy: mtools skompilowane pod jadrem Linuksa nowszym niz 1.3.34 nie bedzie dzialac przy starszym jadrze. Skompilowane jednak na starszym jadrze dziala nadal na nowszym, z wyjatkiem tego, ze dostep XDF jest wolniejszy. Zaleca sie, by autorzy dystrybucji dolaczali binaria mtools skompilowane wylacznie pod jadrze starszym niz 1.3.34, az do ukazania sie 2.0. Po ukazaniu sie 2.0 moga (i powinny) byc rozpowszechniane binaria mtools kompilowane pod nowszymi jadrami. Binaria mtools kompilowane pod jadrami starszymi niz 1.3.24 nie beda dzialac przy zadnym z jader 2.1 lub pozniejszym. Kody zakonczenia Wszystkie polecenia mtools zwracaja 0 w przypadku powodzenia, 1 przy kompletnym niepowodzeniu lub 2 przy czesciowym. Wszystkie polecenia mtools przed praca dokonuja pewnych sprawdzen poprawnosci, by upewnic sie, ze dysk jest rzeczywiscie dyskiem MS-DOS (a nie, powiedzmy, dyskiem systemu ext2 czy MINIX). Kontrole te moga odrzucic dyski czesciowo uszkodzone, ktore mimo to moga byc czytelne. Mozna uniknac tych kontroli przez ustawienie zmiennej srodowiska MTOOLS_SKIP_CHECK lub odpowiedniej zmiennej pliku konfiguracyjnego (patrz rozdzial Zmienne globalne w mtools(5)). BLEDY Niefortunnym efektem ubocznym odgadywania poprawnego urzadzenia (przy obslugiwaniu wielu pojemnosci dyskietek) jest sporadyczny komunikat o bledzie ze sterownika urzadzenia. Moze byc on spokojnie zignorowany. Kod sprawdzajacy formatowanie zatyka sie na dyskietkach 1.72M formatowanych przy uzyciu mformat z mtools wersji wczesniejszych niz 2.0.7. Nalezy ustawic zmienna srodowiska MTOOLS_FAT_COMPATIBILITY (lub odpowiednia zmienna pliku konfiguracyjnego, patrz Zmienne globalne w mtools(5)), by pominac sprawdzanie fat. Zobacz takze floppyd_installtest mattrib mbadblocks mcd mcopy mdel mdeltree mdir mdu mformat minfo mkmanifest mlabel mmd mmount mmove mrd mren mshortname mshowfat mtoolstest mtype TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Robert Luberda Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . mtools-4.0.43 21 marca 2023 mtools(1)