Linux:Přehled základních příkazů: Porovnání verzí

Smazaný obsah Přidaný obsah
Woodcraft (diskuse | příspěvky)
Woodcraft (diskuse | příspěvky)
Řádek 252:
{{Příklad|1=
 
'''cp''' - ( z angl. '''''c'''o'''p'''y'' - vyrobit kopii ) vytváří duplicitní soubory. Prvním parametrem je cesta k originálu a druhým cíl do kterého má být kopie umístěna. Cesty mohou být zadány jak absolutně, tak relativně.
Příkazem '''cp''' kopírujeme soubory.
* Je-li cílem již existující soubor, tak [[Linux:cp|cp]] přepíše jeho obsah - název zůstane zachován
'''cp''' [''volby''] ''odkud kam''
* Je-li cílem adresář, tak [[Linux:cp|cp]] vloží kopii do něj, pod stejným názvem, jaký měl původní soubor
'''cp''' [''volby''] ''odkud ... adresář''
Volby:
['''-abdfilprsuvxPR'''] [-'''S'''''přípona''] [-'''V'''''typ_zálohování''] [--'''backup''']
[--'''no-dereference'''] [--'''force'''] [--'''interactive'''] [--'''one-file-system'''] [--'''preserve''']
[--'''recursive'''] [--'''update'''] [--'''verbose'''] [--'''sufix'''=''přípona'']
[--'''version-control'''=''typ_zálohy''] [--'''archive'''] [--'''parents'''] [--'''link'''] [--'''symbolic-link''']
 
Defaultně [[Linux:cp|cp]] kopíruje pouze soubory, nikoliv adresáře. Toto chování však lze potlačit přidáním volby '''-r''', která aktivuje [[Linux:Slovník#rekurzivní|rekurzivní]] kopírování
Podle zadaných argumentů rozlišujeme dva různé režimy činností. Jsou-li zadány dva argumenty a druhým je soubor, potomse kopíruje obsah prvního souboru do druhého souboru. Je-li posledním argumentem adresář, potom se kopírují soubory zadané prvním až předposledním argumentem. V tomto druhém případě nedochází ke změně jména souboru. Jiné kombinace(více než dva argumenty a poslední není adresář, méně než dva argumenty) jsou chybné. Vyskytne-li se adresář na místě prvního až předposledního argumentu, pak se v implicitní variantě ignoruje(implicitně se adresáře nekopírují).
Příkaz umí od přepisovaných souborů vytvářet ''záložní kopie''.
 
*'''-a''' nebo '''--archive'''
::Při kopírování se v co nejvyšší možné míře zachovávají v kopii atributy originaálu. Tato volba má stejný význam jako '''-dpR'''
*'''-b''' nebo '''--backup'''
::Od přepisováných nebo rušených souborů se vytváří záložní kopie(viz též volba '''-S''' a '''-V''').
*'''-d''' nebo '''--no-dereference'''
::Symbolické odkazy se kopírují jako takové a stejně tak se přenese struktura tvrdých odkazů mezi zdrojovými soubory do souborů cílových. Bez uvedení této volby se místo odkazu zkopíruje soubor, na který odkaz ukazuje.
*'''-f''' nebo '''--force'''
::Existující cílové soubory se zruší bez toho, aniž by si příkaz tuto operaci nechal potvrdit (implicitní varianta).
*'''-i''' nebo '''--interactive'''
::Před přepsáním existujícího cílového souboru si příkaz tuto operaci nechá uživatelem odsouhlasit.
*'''-l''' nebo '''--link'''
::Místo kopírování souborů (nevztahuje se na adresáře) se vytvoří tvrdé odkazy.
*'''-P''' nebo '''--parents'''
::Zdrojová cesta se připojí za cílový adresář. Cílový adresář musí existovat, případné další podadresáře se vytvoří.
::Např. příkazem:
:::cp --parents a/b/c adresar
::se vytvoří nový soubor ´adresar/a/b/c´. Adresáře ´a/b´se vytvoří (pokud již neexistují).
*'''-p''' nebo '''--preserve'''
::Při kopírování se zachovají následující údaje: vlastník, skupina vlastníků, přístupová práva a časové údaje.
*'''-r'''
::Rekurzivně se kopírují adresáře a obsahy podadresářů, všechny neadresářové položky se kopírují jako normální soubory.
*'''-s''' nebo '''--symbolic-link'''
::Místo kopírování souborů (ne adresářů) se vytvářejí symbolické odkazy. Pokud se cílové odkazy nenacházejí v běžném adresáři, musejí být zdrojové soubory zapsány absolutními jmény (jejich jméno začíná /).
*'''-u''' nebo '''--update'''
::Nekopírují se soubory, ke kterým před kopírováním existuje cílový soubor a tento má stejný nebo novější čas poslední modifikace obsahu. Volba se vztahuje pouze na neadresářové položky.
*'''-v''' nebo '''--verbose'''
::Před kopírováním každého souboru se vypíše jeho jméno.
*'''-x''' nebo '''--one-file-system'''
::Přeskakují se podadresáře, které se fyzicky nacházejí v jiném systému souborů než adresář, od kterého jsme kopírování odstartovali.
*'''-R''' nebo '''--recursive'''
::Rekurzivně se kopírují i podadresáře.
*'''-S'''''přípona'' nebo '''--suffix'''=''přípona''
::Volbou nastavujeme příponu jména souboru záložní kopie. Stejně tak příponu nastavujeme proměnnou SIMPLE_BACKUP_SUFFIX. Volba je však silnější. Nezadáme-li žádnou z možností, uplatní se implicitní přípona ´~´. Viz též '''-V'''.
*'''-V''' nebo '''--version-control'''={'''numbered''','''existing''','''simple'''}
::Volbou určujeme mechanismus tvorby jmen souborů se záložními kopiemi. Stejnou funkci má i proměnná prostředí VERSION_CONTROL, volba je však silnější. Nezadáme-li žádnou z variant, použije se implicitní '''existing'''. Možné varianty nastavení této volby a proměnné jsou:
:::'''t''' nebo '''numbered'''
::::vždy se vytvářejí číslované kopie
:::'''nil''' nebo '''existing''' implicitní varianta
::::Číslují se záložní kopie těch souborů, které už mají očíslovanou záložní kopii, jinak se vytváří pouze jednoduchá kopie (~) podle '''-S'''.
:::'''never''' nebo '''simple'''
::::Provádí se pouze jednoduchá kopie podle '''-S'''
 
'''rm''' - ( z angl. '''''r'''e'''m'''ove'' - odstranit ) je příkaz pro mazání souborů. Pokud mu při mazání předáme parametr ''-r'', tak smaže rekurzivně vše, včetně adresářů
'''dd''' je utilita pro kopírování souboru z jednoho zařízení na druhé
 
Syntaxe
 
'''dd''' [''arumenty'']
Souhrnné informace
 
:Obslužný program '''dd''' (device-to-device copy) kopíruje soubor z jednoho místa na jiné. Primárně se tento program používá ke kopírování souborů na zařízení nebo ze zařízení, jako je magnetopásková jednotka. Zpravidla se také používá k přenosu informací z jiných operačních systémů, když jiné metody selžou. Pomocí velkého množství voleb můžete přenos dat velmi přesně kontrolovat a řídit.
 
Argumenty
 
:Implicitně platí, že obslužný program '''dd''' kopíruje standardní vstup na standardní výstup.
 
*'''if'''=''filename'' ('''input file''')
:::Po zadání argumentu se místo standardního vstupu bude číst soubor ''filename''. Jako ''filename'' lze použít jméno zařízení.
 
*'''of'''=''filename'' ('''output file''')
:::Po zadání argumentu se místo standardního výstupu bude číst soubor ''filename''. Jako ''filename'' lze použít jméno zařízení.
 
*'''bs'''=''n'' ('''block size''')
:::Po zadání argumentu se bude zapisovat najednou ''n'' bajtů. Argument '''bs'''=''mn'' předefinuje argumenty '''ibs''' a '''obs'''.
 
*'''ibs'''=''n'' ('''input block size''')
:::Program '''dd''' bude najednou číst ''n'' bajtů.
 
*'''obs'''=''n'' ('''output block size''')
:::Program '''dd''' bude najednou zapisovat ''n'' bajtů.
 
*'''cbs'''=''n'' ('''conversion block size''')
:::Když se v průběhu přenosu dat ma provádět jejich konverze, bude se najednou konvertovat ''n'' bajtů.
 
*'''skip'''=''numblocks''
:::Před zahájením kopírování se přeskočí ''numblocks'' bloků ve vstupním souboru. Velikost každého bloku je dána argumentem '''ibs'''.
*'''seek'''=''numblocks''
:::Před zahájením kopírování se přeskočí ''numblocks'' bloků ve výstupním souboru. Velikost každého bloku je dána argumentem '''obs'''.
 
*'''count'''=''numblocks''
:::Počet bloků přenesených při kopírování se omezí na ''numblocks''. Velikost každého bloku je dána argumentem '''obs'''.
 
*'''conv'''=''type''[,''type...'']
:::Při kopírování bude program '''dd''' provádět konverzi dat podle typů a v pořadí, které se uvádí příkazovém řádku. Typy konverze uvádí následující tabulka.
 
{| class="wikitable" align="center" style="width:85%" border="1"
|-
!width="70"| Typ
! Význam
|-
| '''ascii'''
| Znaky kódované podle znakové sady EBCDIC se převedou na znaky kódované podle ASCII. Tak máte možnost číst pásky vytvořené na počítačích IBM.
|-
| '''block'''
| Pokaždé, když se načte řádek dat (ukončený znakem nového řádku), odešle se na výstup blok dat neobsahující znak nového řádku. Každý výstupní blok má velikost danou argumentem '''obs''' nebo '''bs'''. Záznam je doplněn na zadanou velikost bloku mezi mezerami.
|-
| '''ebcdic'''
| Znaky kódované podle znakové sady ASCII se převedou na znaky kódované podle EBCDIC. Tak máte možnost vytvářet pásky pro čtení na počítačích IBM.
|-
| '''unblock'''
| Při kopírování dat se bude provádět opačná transformace, než u typu ''block''.
|-
| '''lcase'''
| Všechna velká písmena se převedou na malá.
|-
| '''noerror'''
| Když se při kopírování narazí na chybu, program '''dd''' se normálně ukončí. Když zadáte typ konverze ''noerror'', bude kopírování pokračovat. Tento typ konverze je užitečný při pokusu obnovit data z poškozeného souboru nebo poškozeného magnetického média.
|-
| '''ucase'''
| Všechna malá písmena se převedou na velká.
|}
 
 
Příkazem '''mv''' přejmenováváme a přesouváme soubory a adresáře.
 
'''mv''' [''volby''] ''odkud kam''
'''mv''' [''volby''] ''odkud ... adresář''
Volby:
['''-bfiuv'''] [-'''S'''''přípona''] [-'''V'''''typ_zálohování''] [--'''backup'''] [--'''force'''] [--'''interactive''']
[--'''update'''] [--'''verbose'''] [--'''sufix'''=''přípona''] [--'''version-control'''=''typ_zálohování'']
 
Pokud je posledním argumentem existující adresář, potom příkaz mv do tohoto adresáře přesune pod stejným jménem všechny soubory a adresáře vyjmenované prvním až předposledním argumentem.
Uvedeme-li dva argumenty, potom se první soubor přesune do druhého. Pokud tuto operaci provádíme se soubory ve stejném adresáři, jde o přejmenování souboru. Stejným způsobem přejmenujeme i adresář.
Zadáme-li více než dva argumenty, přičemž poslením argumentem není adresář, jde o chybu.
Mezi různými systémy souborů (např. mezi různými disky) můžeme přesouvat pouze normální soubory.
Pokusíme-li se přesunout soubor do existujícího souboru, do kterého není povolen zápis a standardním vstupem je terminál, potom se příkaz '''mv''' dotáže, zda lez tuto operaci s tímto souborem provést. Pokud odpověď nezačíná znakem '''y''' nebo '''Y''', potom se soubor přeskočí. Dotazování obejdeme zadáním volby '''-f'''.
 
Příkaz mv rozpoznává tyto volby:
*'''-b''' nebo '''--backup'''
::Od souborů, které by se přesunutím jiného souboru zrušily, se budou vytvářet záložní kopie (viz též volby '''-S''' a '''-V''').
*'''-f''' nebo '''--force'''
::Existující cílové soubory se vytvořením stejnojmenného souboru zruší bez toho, aniž by si příkaz tuto operaci nechal potvrdit.
*'''-i''' nebo '''--interactive'''
::Před přepsáním existujícího cílového souboru si příkaz tuto operaci nechá uživatelem odsouhlasit. Pokud odpověď nezačíná písmeny '''y''' nebo '''Y''', potom se soubor přeskočí.
*'''-u''' nebo '''--update'''
::Nepřesouvají se soubory, ke kterým existuje cílový soubor a tento má stejný nebo novější čas poslední modifikace obsahu. Volba se vztahuje pouze na neadresářové položky.
*'''-v''' nebo '''--verbose'''
::Před přesunutím souboru se vypíše jméno zdrojového a cílového souboru.
*'''-S'''''přípona'' nebo '''--suffix'''=''přípona''
::Volbou nastavujeme příponu jména souboru záložní kopie. Stejně tak příponu nastavujeme proměnnou SIMPLE_BACKUP_SUFFIX. Volba je však silnější. Nezadáme-li žádnou z možností, uplatní se implicitní přípona ´~´. Viz též '''-V'''.
*'''-V''' nebo '''--version-control'''={'''numbered''','''existing''','''simple'''}
::Volbou určujeme mechanismus tvorby jmen souborů se záložními kopiemi. Stejnou funkci má i proměnná prostředí VERSION_CONTROL, volba je však silnější. Nezadáme-li žádnou z variant, použije se implicitní '''existing'''. Možné varianty nastavení této volby a proměnné jsou:
:::'''t''' nebo '''numbered'''
::::vždy se vytvářejí číslované kopie
:::'''nil''' nebo '''existing''' implicitní varianta
::::Číslují se záložní kopie těch souborů, které už mají očíslovanou záložní kopii, jinak se vytváří pouze jednoduchá kopie (~) podle '''-S'''.
:::'''never''' nebo '''simple'''
::::Provádí se pouze jednoduchá kopie podle '''-S'''
 
'''rm''' je příkaz pro mazání souborů. Pokud mu při mazání předáme parametr ''-r'', tak smaže rekurzivně vše, včetně adresářů
 
Chceme-li však smazat adresář, použijeme příkaz '''rmdir'''. Ten vyžaduje, aby byl odstraňovaný adresář prázný, tj. nesmí obsahovat žádné další soubory ani adresáře. Je to jakási pojistka, abychom něco nemohli smazat neúmyslně