Naposledy sme si ukázali, ako môžeme skúmať obsah disku a presúvať sa na iné lokácie. Teraz je čas niečo s tými súbormi urobiť, nie? Naučíme sa ich premenovať, kopírovať, zmazávať a samozrejme aj vytvárať. Tieto operácie nám poslúžia v budúcnosti, keď si budeme vysvetľovať zložitejšie postupy. V rámci hesla ťažko na cvičisku, ľahko na bojisku, poďme urobiť niečo uletené, napríklad priečinok… Tvorba priečinku
Ako už bolo povedané, dnes budeme manipulovať so súbormi, a aby sme neohrozili naše dokumenty, urobíme si na ploche cvičný priečinok. Otvorme si Terminal (Applications/Utilities) a skúsme napísať:
mkdir adresa_noveho_neexistujuceho_priecinku
Príkaz mkdir (MaKe DIRectory) vytvorí na zadanej adrese priečinok, ktorého meno bude rovnaké ako posledné slovo za lomítkom. Takže ak chceme priečinok na pracovnej ploche, bude celý príkaz vyzerať asi takto:
mkdir /Users/Meno_uzivatela/Desktop/Folder
Vypisovanie adresy nie je vždy príliš pohodlné, zvlášť ak chcete vytvoriť priečinok hlboko vnorený do útrob vášho disku. Na tieto účely je tu výborný trik, v ktorom figuruje Finder a Drag & Drop spôsob práce, ktorý je na Macu veľmi obľúbený. Nad okno Terminálu môžte posunúť priečinok a v okne sa objaví jeho adresa. Rovnako to platí aj pre súbory. Môžte si to vyskúšať aj hneď, iba presuňte priečinok Desktop (vo vašom domovskom priečinku), po pustení sa napíše jeho adresa, a za ňu doplňte lomítko a meno nového priečinku, napríklad „Folder“. Potvrďte Enterom a na ploche sa zjaví priečinok s menom „Folder“.
Tvorba súborov
Máme nejaký priestor, ktorý sme si urobili v priečinku na ploche. Ako hračky nám poslúžia ľubovoľné súbory, ale my si doprajeme niečo špeciálne. Vytvoríme si v Terminale vlastný súbor, cez príkaz touch. Jeho použitie je veľmi podobné ako v predchádzajúcom úryvku o mkdir, iba namiesto priečinku sa vytvorí prázdny súbor, pre ktorý som osobne síce ešte v praxi miesto nenašiel, ale na testovacie účely je viac ako vhodný.
touch /Users/Meno_Uzivatela/Desktop/Folder/Subor
Ak si otvoríte „Folder“ cez Finder, mal by sa tam na vás usmievať Subor, ktorý štandardne otvoríte cez TextEdit. Ak sa vám to podarilo, pristúpime k druhej fáze.
Presúvanie
Presúvanie v Terminale je veľmi jednoduchý príkaz so zaujímavým využitím. Nie len že ním môžte premiestňovať súbor, ale aj premenovanie je s ním triviálne. Napíšte mv (MoVe) a posuňte si Subor nad okno Terminalu. Potom za medzeru napíšte nové umiestnenie súboru a potvrďte Enterom.
mv /Users/Meno_Uzivatela/Desktop/Folder/Subor /Users … /Desktop/Subor
Nepíšte však viac slovné mená, pretože Terminal sa nezmieri s medzerou v mene, v prípade potreby preto radšej skúste podtržník alebo pomlčku. Rovnako nepoužitelná je aj diakritika. Ak ste všetko urobili správne, náš cvičný priečinok bude prázdny a na ploche uvidíte starý dobrý Subor. Spomenul som však tiež, že príkaz mv je schopný súbor aj premenovať. Stačí, ak súbor presuniete na rovnakú lokáciu ale s iným menom.
mv /Users/Uzivatel/Desktop/Folder/Subor /Users … /Desktop/Folder/Meno
V skutočnosti sa súbor presunie, ale na to isté miesto a pod iným menom. Tieto poznatky môžete skombinovať a premenovať súbor „za letu“.
mv /Users/Meno_Uzivatela/Desktop/Folder/Subor /Users … /Desktop/Meno
Kopírovanie
Kopírovanie je opäť veľmi jednoduchou záležitosťou. Budeme používať príkaz cp (CoPy), ktorý sa používa podobne ako mv. V prípade, že chceme urobiť kópiu bežného súboru, napíšeme:
cp /Users/Meno_Uzivatela/Desktop/Folder/Subor /Users … /Desktop/Subor
V tomto konkrétnom príklade ste videli kopírovanie súboru z priečinku „Folder“ na ploche na plochu samotnú. Vytvárať kópie môžete aj do pôvodnej lokácie, v prípade, že to tak chcete, ale musíte zvoliť iné meno.
cp /Users/Meno_Uzivatela/Desktop/Subor /Users … /Desktop/Kopia
Ak meno nezmeníte, Terminal vás celkom pochopiteľne schladí oznámením, že kopírovanie neprebehne, lebo súbory sú identické. Ak si však vyskúšate kopírovať celý priečinok, narazíte na vážny problém. Narozdiel od príkazu mv, kopírovanie štandardne nespozná priečinok, a operácia neprebehne. Z minulého dielu si možno pamätáte, že veľa príkazov má svoje modifikátory, a príkaz cp na tom nie je inak. Jeden z modifikátorov nám tiež umožní kopírovať priečinok, preto privítajte -R.
cp -R /Users/Meno_Uzivatela/Desktop/Folder /Users … /Desktop/Kopia
Cieľová destinácia je samozrejme ľubovoľná, nie je nutné vytvárať kópie priamo vedľa seba a až následne ich presúvať pomocou mv.
Mazanie
Ak ste sa patrične vyšantili, je čas po sebe upratať. Na tento účel poslúži príkaz rm (ReMove), ktorý sa ovláda až podozrivo jednoducho. Stačí napísať príkaz samotný a zoznam súborov, ktoré už nepotrebujete.
rm /Users/Meno_Uzivatela/Desktop/File /Users … /Desktop/File2
Cez medzery môžete pridávať ľubovoľný počet objektov, ale pozor, rovnako ako pri cp, ani rm nepracuje s priečinkami. Ale opäť nám pomôže modifikátor, tento krát však -rf.
rm -rf /Users/Meno_Uzivatela/Desktop/Folder1 /Users … /Desktop/Folder2
Ale dávajte si pozor, aby ste si nezmazali niečo dôležité, lebo Terminal nepozná Kôš ani nič podobné. Ak niečo vymažete cez rm, už to navždy stratíte.
Záver
Väčšinu jednoduchých príkazov už máme za sebou. Základy práce so súbormi sú neoddeliteľnou súčasťou riešenia problémov pomocou Terminalu. Kopírovanie a premiestňovanie sa z praktického hľadiska naučíme využívať nabudúce, keď sa trochu posnažíme zrýchliť váš browser, nech už to bude Safari, Opera či FireFox. Dovtedy sa snažte nevymazať svoje dokumenty :-)
komentárov
Z vlastní zkušenosti: práce s adresáři je jednodužší a rychlejší v GUi než v terminálu, ale pro neznalé to může být zajímavé. Linux jsem používal téměř tři roky a tam se to občas hodilo, když nenaběhla Xka, ale u macu se si to nedovedu dost dobře představit.
Tak mě se to hodí, když chci třeba něco zabalit a neotravovat lidi s __MACOSX a .DS_Store :-) nebo při různé edistaci konfiguráků…
Konkrétně dnešní téma by se dalo uplatnit, když někdo pokazil profil a Finder se cyklicky restartoval. Tak jsem bootla single user mode a z příkazové řádky podezřelé soubory smazala. :-)
Význam práce so súbormi sa naplno ukáže až neskôr, veď sa časom presvedčíte. Pri mnohých operáciach je možnosť kopírovania a zmazávania pomerne dôležitá. Je však pravda, že samo o sebe to nie je dôležité, prečo inak by tu bolo grafické prostredie a Finder?
z vlastnej niekolkorocnej skusenosti viem, ze praca v terminali je omnoho rychlejsia nez v GUI. Ale k tomu, aby kazdy dospel k takemuto nazoru je nutne ovladat terminal rutinne.
no podla mna sa rychlejsie preklikam ku niecomu takemu ako je napr. v clanku /Users/Meno_Uzivatela/Desktop/File /Users… /Desktop/File2 ako by som to mal pisat preboha, nehovoriac o moznych preklepoch
MM: Existuje nejaky duvod proc pouzivat “cp” misto “ditto”?
peto: No prave ze jen podle Vas ;-) Prozradim Vam jedno klicove spojeni k dalsimu studiu: “auto complete”
PH: Ani nie, vybral som ho kvôli tomu, že sa ľahšie pamätá. Na druhej strane “ditto” vie štandardne kopírovať aj priečinky, čo môže niekomu uľahčiť život. Myslím si, že záleží na osobných preferenciách. Ja zvyknem používať “cp -R” lebo som sa to tak naučil, zvyk je totiž železná košeľa :-)
Peto: skus pri pisani nejakej cesty, pripadne, nazvu programu stlacit TAB raz, pripadne dvakrat :)
Ku kopirovaniu adresarov: cp je standardom v unixovom svete, ditto som doteraz ani nepoznal :).
> Ku kopirovaniu adresarov: cp je standardom v unixovom svete
Ja vim, ja jen myslel, ze tady jsme v Apple svete ;-)
Osobne jej pouzivam krom jinych vyhod i proto, ze drivejsi implementace cp nekopirovala se souborem resource forks a HFS metadata. Coz “ditto” vzdy. Umi to jiz cp?
Pojidaci hamburgeru: A ja som si myslel, ze “Mac OS X is UNIX” :)
ale iste… pokial pozadujes take veci ako preserving HFS metadat a jeho dalsie ine ficurie, tak urcite treba pouzit ditto.
vau sikovny tip s tym tabom, odskusal som ho len vo windows ale hodi sa diky.
No lenze aspon tu v oknach to funguje tak ze to napise priecinky co je sikovne ale este raz vravim, aspon tu (zatial neviem ako v mac) to nevypisuje (alebo neviem ako to funguje dalej) priecinky vnorene co je prva chyba a druha ze ked je tam 500 priecikov a moj sa vola zpriecinok tak to radsej napisem
alebo na napadol taky scenar z realneho zivota: stiahol som si par suborov v rare napr. ktore treba rozbalit, lenze nemam miesto a tak si v suborovom manazeri odklikam spaceom niekolkych potencialnych pozieracov miesta a niektore odstranim, zoradim si lave okno podla datumu aby som mal staihnute subory na ociach a niekde ich rozbalim, potom ich elegantne zmazem a je to. Naozaj je tu niekto taky borec ze by toto urobil rychlejsie v programe s ciernym pozadim a jednym riadkom na pisanie? Nehovoriac o technickych problemoch (zaheslovany rar, …)
Programy stylu Norton/Total/Disk Order/… maju dva okna, graficke rozhranie, klavesove skratky a scasti aj konzolu
Alebo taka banalita ako premenovat subor – f2 a je to, v terminali ako cez mv? tab netab ako to moze byt rychlejsie.
Nehovorim ze prikazovy riadok/terminal je zly, ma svoje uplatnenie v niektorych typoch uloch (ja napr. pouzivam makro na namapovanie ntfs disku) ale pchat ho vsade, no neviem.
peto: a kto ti pisal o tom, aby si to skusal vo windows? cmd vo windows je oproti terminalu v mac os x nieco ako slovenska ekonomika voci americkej.
ok,skusim aj v macu, inak tab funguje dalej aj vo windows,daval som zle / …ale ani v americkej ekonomike z hovna bic neupleties
.. a tu zase ked skusim vytvorit ten folder, tak mi napise, ze not such a directory. a samozerejme, ze na ploche sa mi ten folder neobjavi.
jediny rozdiel, co badam na vasich print screenoch a na mojom terminali je ten, ze ja tam za menom nemam % ale $. to je jediny rozdiel.
neviete mi poradit v com je chyba, ze ten terminal nereaguje?
dakujem.
pri kopirovani mi vyhodi toto:
The operation can’t be completed because an unexpected error occurred (error code 0).
preco?
Ako premenujem hociaky subor napr. na ploche? Nepiste mi prosim Vas skratky ako br sim3 a pod ale jednoducho mi to skuste vysvetlit ako cloveku co ma mac prvy krat v ruke. Dakujem