Práce se Soubory a S adresáři
Přehled
Výuka: 30 min
Cvičení: 20 minOtázky
Jak mohu vytvářet, kopírovat a mazat soubory a adresáře?
Jak mohu upravovat soubory?
cíle
Vytvořte hierarchii adresářů, která odpovídá danému diagramu.
vytvářejte soubory v této hierarchii pomocí editoru nebo kopírováním a přejmenováním existujících souborů.
Smazat, kopírovat a přesouvat zadané soubory a / nebo adresáře.
Vytváření adresářů
nyní víme, jak prozkoumat soubory a adresáře,ale jak jsme se vytvořit jim v první řadě?
Krok: podívejte se, kde jsme a co již máme
vraťme se k naší data-shell adresář na Desktopand používání ls -F vidět, co to obsahuje:
$ pwd
/Users/nelle/Desktop/data-shell
$ ls -F
creatures/ data/ molecules/ north-pacific-gyre/ notes.txt pizza.cfg solar.pdf writing/
Vytvořit adresář
Pojďme vytvořit nový adresář s názvem thesis pomocí příkazu mkdir thesis(který nemá žádný výstup):
$ mkdir thesis
Jak asi tušíte z jeho názvu,mkdir znamená ‚označte adresář‘.Protože thesis je relativní cesta (tj. nemá přední lomítko, jako /what/ever/thesis),nový adresář se vytvoří v aktuálním pracovním adresáři:
$ ls -F
creatures/ data/ molecules/ north-pacific-gyre/ notes.txt pizza.cfg solar.pdf thesis/ writing/
co jsme právě vytvořili, thesis adresáře, tam je nic v něm ale přesto:
$ ls -F thesis
Všimněte si, že mkdir není omezen pouze na vytváření jednotného adresáře jeden po druhém. -p umožňuje mkdir vytvořte adresář s libovolným počtem vnořených podadresářů v jedné operaci:
$ mkdir -p thesis/chapter_1/section_1/subsection_1
-R možnost ls příkaz zobrazí seznam všech vnořených podadresářů v adresáři. Pojďme použít ls -FR rekurzivně vypsat nový adresář hierarchie jsme právě vytvořili pod thesis adresář:
$ ls -FR thesischapter_1/thesis/chapter_1:section_1/thesis/chapter_1/section_1:subsection_1/thesis/chapter_1/section_1/subsection_1:
Dva způsoby, jak dělat to samé
Pomocí shell vytvořit adresář není nic jiného než použití file explorer.Pokud otevřete aktuální adresář pomocí grafického Průzkumníka souborů operačního systému, zobrazí se zde také adresář
thesis.Zatímco shell a průzkumník souborů jsou dva různé způsoby interakce se soubory, samotné soubory a adresáře jsou stejné.
Dobrá jména pro souborů a adresářů
Komplikované názvy souborů a adresářů, můžete vytvořit svůj život painfulwhen pracuje na příkazovém řádku. Zde uvádíme několik užitečnýchtipy pro názvy vašich souborů.
nepoužívejte mezery.
Prostory mohou udělat jméno smysluplnější,ale protože prostory se používají k oddělení argumentů na příkazovém linkuto je lepší se jim vyhnout v názvech souborů a adresářů.Místo toho můžete použít
-nebo_(např.north-pacific-gyre/spíše nežnorth pacific gyre/).nezačínejte název
-(dash).příkazy považují názvy začínající
-za volby.Hůl s písmeny, čísly,
.(období nebo ‚tečka‘),-(pomlčka) a_(podtržítko).mnoho dalších znaků má na příkazovém řádku zvláštní význam.O některých z nich se dozvíme během této lekce.Existují speciální znaky, které mohou způsobit, že váš příkaz nebude fungovat jakočekané a mohou dokonce vést ke ztrátě dat.
Pokud potřebujete odkazovat na názvy souborů nebo adresářů, které mají spacesor jiné speciální znaky, měli byste obklopují jméno v uvozovkách (
"").
Vytvoření textového souboru
Pojďme změnit náš pracovní adresář na thesis pomocí cd,spusťte textový editor nazvaný Nano vytvořit soubor s názvem draft.txt:
$ cd thesis$ nano draft.txt
, Které Editor?
Když říkáme, ‚
nanoje textový editor se máme opravdu na mysli „text“: to canonly práce s prostý charakter dat, ne tabulky, obrázky, nebo jakýkoliv otherhuman-friendly media. Používáme jej v příkladech, protože je jedním z nejsložitějších textových editorů. Kvůli této vlastnosti to však můženebude dostatečně výkonný nebo dostatečně flexibilní pro práci, kterou musíte udělat po tomto Workshopu. Na Unixových systémů (jako je Linux a macOS),mnoho programátorů používat Emacs orVim (z nichž oba vyžadují více času se učit),nebo grafickém editoru, jako je asGedit. V systému Windows můžete přátpoužijte Poznámkový blok++. Windows má také vestavěný-ineditor nazývánotepad, které lze spustit z příkazového řádku v stejným způsobem jakonanopro účely této lekce.bez ohledu na to, jaký editor používáte, budete potřebovat vědět, kde vyhledává a ukládá soubory. Pokud jej spustíte z shellu, bude (pravděpodobně)používat váš aktuální pracovní adresář jako výchozí umístění. Používáte-li nabídku start vašeho počítače, může místo toho ukládat soubory do adresáře ordocuments na ploše. Můžete to změnit navigací do jiného adresáře při prvním uložení jako …
zadejte několik řádků textu.Jakmile jsme spokojeni s naší textu, můžeme stisknout kombinaci kláves Ctrl+O(stiskněte kombinaci kláves Ctrl nebo ctrl a, whileholding to dolů, stiskněte tlačítko O tlačítko) psát naše data na disk(budeme dotázáni jaký soubor chceme uložit na:stisknutím tlačítka Návrat do přijmout navrhl, default draft.txt).

Jakmile se náš soubor je uložen, můžeme použít Ctrl+X ukončete editor andreturn do shellu.
ovládání, Ctrl nebo ^ klíč
Ovládací klíč se také nazývá klávesa „Ctrl“. Existují různé způsobyve kterém lze pomocí ovládacího tlačítka popsat. Například můžetePodívejte se na pokyn ke stisknutí ovládacího tlačítka a při jeho přidržení stiskněte klávesu X, která je popsána jako kterákoli z:
Control-XControl+XCtrl-XCtrl+X^XC-xV nano, podél dolní části obrazovky uvidíte
^G Get Help ^O WriteOut.To znamená, že můžete použítControl-Gjak získat pomoc aControl-Ouložit yourfile.
nano nedává žádný výstup na obrazovku poté, co opustí,ale ls nyní se ukazuje, že máme vytvořený soubor s názvem draft.txt:
$ ls
draft.txt
Vytváření Souborů jiným Způsobem
Jsme viděli, jak vytvořit textové soubory pomocí
nanoeditor.Nyní zkuste následující příkaz:$ touch my_file.txt
Co
touchpříkaz?Když se podíváte na aktuální adresář pomocí Průzkumníka souborů GUI, zobrazí se soubor?pro kontrolu souborů použijte
ls -l. Jak velký jemy_file.txt?kdy chcete vytvořit soubor tímto způsobem?
Řešení
touchpříkaz vytvoří nový soubor s názvemmy_file.txtve vašem aktuálním adresáři. Můžete sledovat tento nově vygenerovaný soubor zadánímlsna příkazový řádek.my_file.txtlze také zobrazit v Průzkumníku souborů yourGUI.Když si zkontrolujte, zda soubor s
ls -lvšimněte si, že velikostmy_file.txtje 0 bajtů. Jinými slovy, neobsahuje žádná data.Pokud otevřetemy_file.txtpomocí textového editoru, je prázdný.některé programy nevytvářejí výstupní soubory samy, alemísto toho vyžadují, aby prázdné soubory již byly vygenerovány.Když je program spuštěn, vyhledá existující souborpopulovat s jeho výstupem. Příkaz touch vám umožňujeefektivně vygenerovat prázdný textový soubor, který bude použit takovýmprogramy.
Co je V Názvu?
možná Jste si všimli, že všechny Nelle soubory jsou pojmenovány něco dotsomething‘, a v této části lekce jsme se vždy používá příponu
.txt. Toto je jen konvence: můžeme volat soubormythesisnebotéměř cokoli jiného chceme. Většina lidí však používá dvoudílná jménavětšinu času, aby jim pomohla (a jejich programům) rozeznat různé druhy souborů od sebe. Druhá část tohoto názvu se nazývá thefilename rozšíření, a indicateswhat typ dat soubor obsahuje:.txtsignály, prostý textový soubor,.cfgje konfigurační soubor, plný parametersfor nějaký program, nebo jiný,.pngje PNG obrázek, a tak dále.Toto je jen konvence, i když důležitá. Soubory containbytes: je na nás a našich programech, abychom je interpretovali podle pravidel pro prosté textové soubory, dokumenty PDF, konfigurační soubory, obrázky atd.
Pojmenování PNG obrázek velryby jako
whale.mp3nemá somehowmagically proměnit nahrávání whalesong, i když to mightcause operační systém, aby se pokusili otevřít s hudební playerwhen někdo poklepe.
Přesouvání souborů a adresářů
Návrat k data-shell adresář,
cd ~/Desktop/data-shell/
V thesis adresáři máme soubor draft.txt, který není zvláště poučné jméno,tak se pojďme změnit název souboru pomocí mv,což je zkratka pro „tah“:
$ mv thesis/draft.txt thesis/quotes.txt
první argument říká, mv co jsme to „stěhování“, zatímco druhá je, kde to má jít.V tomto případě přesuneme thesis/draft.txt na thesis/quotes.txt, což má stejný účinek jako přejmenování souboru.Určitě dost,ls ukazuje nám, že thesis nyní obsahuje jeden soubor s názvem quotes.txt:
$ ls thesis
quotes.txt
člověk musí být opatrný, když specifikovat cílový název souboru, jelikož mv willsilently přepsat existující soubor se stejným názvem, který couldlead ke ztrátě dat. Další možnost, mv -i (nebo mv --interactive),mohou být použity, aby se mv vás požádat o potvrzení před přepsáním.
Všimněte si, že mv funguje také na adresářích.
přesuneme quotes.txt do aktuálního pracovního adresáře.Používáme mv ještě jednou,ale tentokrát použijeme jen název adresáře jako druhý argumentto říct, mv, že chceme udržet názvem,ale dát soubor na nové místo.(Proto se příkaz nazývá „move“.) V tomto případě je název adresáře, který používáme, speciální název adresáře ., který jsme zmínili dříve.
$ mv thesis/quotes.txt .
účinek je přesunout soubor z adresáře to bylo v aktuální pracovní adresář.ls nyní nám ukazuje, že thesis je prázdný:
$ ls thesis
Dalšíls s názvem souboru nebo název adresáře jako argument uvádí pouze, že soubor nebo adresář.Můžeme to použít, abychom viděli, že quotes.txt je stále v našem aktuálním adresáři:
$ ls quotes.txt
quotes.txt
Přesouvání Souborů do nové složky
Po spuštění následující příkazy Jamie si uvědomí, že ona dát soubory
sucrose.datmaltose.datdo špatné složky. Soubory měly být umístěny do složkyraw.$ ls -F analyzed/ raw/$ ls -F analyzedfructose.dat glucose.dat maltose.dat sucrose.dat$ cd analyzedVyplnit prázdná místa, aby se tyto soubory přesunout do
raw/složku(tj. jeden zapomněla dát je v)$ mv sucrose.dat maltose.dat ____/____Řešení
$ mv sucrose.dat maltose.dat ../rawvzpomeňte si, že
..odkazuje na nadřazený adresář (tj. nad aktuální adresář), a že.označuje aktuální adresář.
Kopírování souborů a adresářů
cp příkaz funguje velmi podobně jako mv,až na to, že kopie souboru místo přesunutí.Můžeme zkontrolovat, že udělal správnou věc pomocí lsdvě cesty, jak argumenty — jako většina Unixových příkazů,ls může být dána více cest najednou:
$ cp quotes.txt thesis/quotations.txt$ ls quotes.txt thesis/quotations.txt
quotes.txt thesis/quotations.txt
můžeme také zkopírovat adresář a celý jeho obsah pomocí therecursive možnost -r,např. pro zálohování adresáře:
$ cp -r thesis thesis_backup
můžeme zkontrolovat výsledek pomocí výpisu obsahu jak thesisthesis_backup adresář:
$ ls thesis thesis_backup
thesis:quotations.txtthesis_backup:quotations.txt
Přejmenování Souborů
Předpokládejme, že jste vytvořili prostý-textový soubor v aktuálním adresáři obsahuje seznam thestatistical testy budete muset udělat, aby analyzovat vaše data, a to s názvem:
statstics.txtPo vytvoření a uložení tohoto souboru si uvědomíte, že jste chybně názvem! Chceteopravit chybu, který z následujících příkazů byste k tomu mohli použít?
cp statstics.txt statistics.txtmv statstics.txt statistics.txtmv statstics.txt .cp statstics.txt .Řešení
- Ne. I když by to vytvořilo soubor se správným názvem, nesprávně pojmenovaný soubor stále existuje v directoryand by musel být odstraněn.
- Ano, To by fungovalo přejmenovat soubor.
- ne, tečka(.) označuje, kam přesunout soubor, ale neposkytuje nový název souboru; identické názvy souborůnemůže být vytvořen.
- ne, tečka(.) označuje, kam soubor zkopírovat, ale neposkytuje nový název souboru; identické názvy souborůnemůže být vytvořen.
Přesouvání a Kopírování
Jaká je výstupní uzavírací
lspříkaz v pořadí uvedeném na obrázku níže?$ pwd/Users/jamie/data$ lsproteins.dat$ mkdir recombined$ mv proteins.dat recombined/$ cp recombined/proteins.dat ../proteins-saved.dat$ ls
proteins-saved.dat recombinedrecombinedproteins.dat recombinedproteins-saved.datSolution
We start in the
/Users/jamie/datadirectory, and create a new folder calledrecombined.Druhý řádek přesune (mv) souborproteins.datdo nové složky (recombined).Třetí řádek vytvoří kopii souboru, který jsme právě přesunuli. Choulostivá část je, kde byl soubor zkopírován. Připomeňme si, že..znamená ‚jít o úroveň výš, takže zkopírovaný soubor je nyní v/Users/jamie.Všimněte si, že..je interpretován s ohledem na aktuální workingdirectory, nikoli s ohledem na umístění kopírovaného souboru.Takže, jediná věc, která bude zobrazovat pomocí ls (v/Users/jamie/data) je rekombinované složky.
- ne, viz vysvětlení výše.
proteins-saved.datse nachází v/Users/jamie- Ano
- Ne, viz vysvětlení výše.
proteins.datse nachází na/Users/jamie/data/recombined- ne, viz vysvětlení výše.
proteins-saved.datse nachází v/Users/jamie
Odstraňování souborů a adresářů
Návrat k data-shell adresář,pojďme uklidit tento adresář odstraněním quotes.txt soubor, který jsme vytvořili.Unix příkaz použijeme pro to je rm (zkratka pro „odstranit“):
$ rm quotes.txt
můžeme potvrdit, že soubor je pryč pomocí ls:
$ ls quotes.txt
ls: cannot access 'quotes.txt': No such file or directory
Mazání Je Navždy
Unix shell nemá koše, že můžeme obnovit deletedfiles z (i když většina grafických rozhraní pro Unix). Místo toho, když odstraníme soubory, jsou odpojeny ze systému souborů, takže jejich úložný prostor na disku lze recyklovat. Nástroje pro nalezení a obnovení odstraněných souborů existují, ale neexistuje žádná záruka, že budou pracovat v jakékoli konkrétní situaci, protože počítač může okamžitě recyklovat místo na disku.
Použití rm Bezpečně
Co se stane, když provádíme
rm -i thesis_backup/quotations.txt?Proč bychom chtěli tuto ochranu při použitírm?Řešení
$ rm: remove regular file 'thesis_backup/quotations.txt'? y
-imožnost vyzve před (každý) odstranění (využití Y pro potvrzení vymazání nebo N, aby soubor).Unix shell nemá koše, takže všechny soubory odstraněny zmizí forever.By pomocí-imožnost, máme možnost zkontrolovat, že můžeme odstranit pouze ty soubory, které chceme odstranit.
Pokud se budeme snažit odstranit thesis adresář pomocí rm thesis,dostaneme chybová zpráva:
$ rm thesis
rm: cannot remove `thesis': Is a directory
To se děje proto, rm ve výchozím nastavení funguje pouze na soubory, nikoliv adresáře.
rm můžete odstranit adresář a celý jeho obsah pokud budeme používat therecursive možnost -r, a bude tak činit bez potvrzení výzvy:
$ rm -r thesis
Vzhledem k tomu, že neexistuje žádný způsob, jak obnovit smazané soubory pomocí shell,rm -r by měl být používán s velkou opatrností (můžete zvážit přidání interaktivních možností rm -r -i).
operace s více soubory a adresáři
často je třeba kopírovat nebo přesouvat několik souborů najednou. To lze provést poskytnutím seznamu jednotlivých názvů souborů nebo zadáním vzoru pojmenování pomocí zástupných znaků.
Kopírovat s Více názvy Souborů
Pro toto cvičení, můžete vyzkoušet příkazy v
data-shell/dataadresář.v níže uvedeném příkladu, co dělá
cp, když je uvedeno několik názvů souborů a název adresáře?$ mkdir backup$ cp amino-acids.txt animals.txt backup/V příkladu, co znamená
cpdělat, když dal tři nebo více názvů souborů?$ ls -Famino-acids.txt animals.txt backup/ elements/ morse.txt pdb/ planets.txt salmon.txt sunspot.txt$ cp amino-acids.txt animals.txt morse.txtŘešení
Pokud je uveden více než jeden název souboru, následuje název adresáře (tj. cílové adresáře musí být poslední argument),
cpzkopíruje soubory na zadaný adresář.Pokud dané tři názvy souborů,
cpvyvolá chybu, jako ten níže, protože je čeká directoryname jako poslední argument.cp: target ‘morse.txt’ is not a directory
Using wildcards for accessing multiple files at once
Wildcards
*is a wildcard, which matches zero or more characters.Let’s consider thedata-shell/moleculesdirectory:*.pdbmatchesethane.pdbpropane.pdb, and everyfile that ends with ‘.pdb’. Na druhou stranu,p*.pdbodpovídá pouzepentane.pdbpropane.pdb, protože “ p „na přední onlymatches názvy souborů, které začínají písmenem „p“.
?je také divoká karta, ale to odpovídá právě jeden znak.?ethane.pdbby zápasmethane.pdbvzhledem k tomu*ethane.pdbzápasyethane.pdbmethane.pdb.zástupné znaky lze použít ve vzájemné kombinaci.g.
???ane.pdbzápasů tři znaky následujeane.pdb,přičemžcubane.pdb ethane.pdb octane.pdb.Když shell vidí zástupný znak, rozšiřuje zástupný vytvořit seznam odpovídajících názvů souborů před spuštěním příkazu, který wasasked pro. Výjimečně, pokud se výraz zástupných znaků neshodujekaždý soubor, Bash předá výraz jako argument příkazujak to je. Například zadáním
ls *.pdfmoleculesadresáři(který obsahuje pouze soubory s názvy končící.pdb) výsledky inan chybová zpráva, že není žádný soubor s názvemwcalsviz seznamy názvů souborů odpovídajících těmto výrazům, ale ne wildcardsthemselves. Jedná se o shell, ne o jiné programy, které se zabývajírozšiřování zástupných znaků a toto je další příklad ortogonálního designu.
Seznam souborů, odpovídající vzor
Při spuštění
moleculesadresář, kdelspříkaz(y) ohlásí tento výstup?
ethane.pdb methane.pdb
ls *t*ane.pdbls *t?ne.*ls *t??ne.pdbls ethane.*Solution
The solution is
shows all files whose names contain zero or more characters (*) followed by the lettert, then zero or more characters (*) followed byane.pdb. To dáváethane.pdb methane.pdb octane.pdb pentane.pdb.
zobrazuje všechny soubory, jejichž jména začínají s nula nebo více znaků (*) následuje písmenot, pak jeden znak (?ne.následované nula nebo více znaků (*). To nám dáoctane.pdbpentane.pdb, ale neodpovídá nic, co končí vthane.pdb.
řeší problémy varianta 2 odpovídající dva znaky (??) mezitne. Toto je řešení.
zobrazuje pouze soubory začínajícíethane..
Více na Zástupné znaky
Sam má adresář obsahující kalibračních dat, datových souborů, a popisy z datových souborů:
.├── 2015-10-23-calibration.txt├── 2015-10-23-dataset1.txt├── 2015-10-23-dataset2.txt├── 2015-10-23-dataset_overview.txt├── 2015-10-26-calibration.txt├── 2015-10-26-dataset1.txt├── 2015-10-26-dataset2.txt├── 2015-10-26-dataset_overview.txt├── 2015-11-23-calibration.txt├── 2015-11-23-dataset1.txt├── 2015-11-23-dataset2.txt├── 2015-11-23-dataset_overview.txt├── backup│ ├── calibration│ └── datasets└── send_to_bob ├── all_datasets_created_on_a_23rd └── all_november_filesNež se vydáte na další výlet, chce zálohovat data aposílat některé soubory dat, k její kolega Bob. Sam používá následující commandsto získat práci:
$ cp *dataset* backup/datasets$ cp ____calibration____ backup/calibration$ cp 2015-____-____ send_to_bob/all_november_files/$ cp ____ send_to_bob/all_datasets_created_on_a_23rd/Nápověda Sam vyplněním prázdná místa.
výsledná adresářová struktura by měla vypadat takhle.
.├── 2015-10-23-calibration.txt├── 2015-10-23-dataset1.txt├── 2015-10-23-dataset2.txt├── 2015-10-23-dataset_overview.txt├── 2015-10-26-calibration.txt├── 2015-10-26-dataset1.txt├── 2015-10-26-dataset2.txt├── 2015-10-26-dataset_overview.txt├── 2015-11-23-calibration.txt├── 2015-11-23-dataset1.txt├── 2015-11-23-dataset2.txt├── 2015-11-23-dataset_overview.txt├── backup│ ├── calibration│ │ ├── 2015-10-23-calibration.txt│ │ ├── 2015-10-26-calibration.txt│ │ └── 2015-11-23-calibration.txt│ └── datasets│ ├── 2015-10-23-dataset1.txt│ ├── 2015-10-23-dataset2.txt│ ├── 2015-10-23-dataset_overview.txt│ ├── 2015-10-26-dataset1.txt│ ├── 2015-10-26-dataset2.txt│ ├── 2015-10-26-dataset_overview.txt│ ├── 2015-11-23-dataset1.txt│ ├── 2015-11-23-dataset2.txt│ └── 2015-11-23-dataset_overview.txt└── send_to_bob ├── all_datasets_created_on_a_23rd │ ├── 2015-10-23-dataset1.txt │ ├── 2015-10-23-dataset2.txt │ ├── 2015-10-23-dataset_overview.txt │ ├── 2015-11-23-dataset1.txt │ ├── 2015-11-23-dataset2.txt │ └── 2015-11-23-dataset_overview.txt └── all_november_files ├── 2015-11-23-calibration.txt ├── 2015-11-23-dataset1.txt ├── 2015-11-23-dataset2.txt └── 2015-11-23-dataset_overview.txtŘešení
$ cp *calibration.txt backup/calibration$ cp 2015-11-* send_to_bob/all_november_files/$ cp *-23-dataset* send_to_bob/all_datasets_created_on_a_23rd/
Organizování Adresářů a Souborů
Jamie pracuje na projektu, a vidí, že její soubory nejsou velmi, velmi dobře organizovanou:
$ ls -Fanalyzed/ fructose.dat raw/ sucrose.dat
fructose.datsucrose.datsoubory obsahují výstup z ní dataanalysis. Jaký příkaz (y) zahrnutý v této lekci musí spustit, aby níže uvedené příkazy vytvořily zobrazený výstup?$ ls -Fanalyzed/ raw/$ ls analyzedfructose.dat sucrose.datSolution
mv *.dat analyzedJamie needs to move her files
fructose.datandsucrose.datto theanalyzeddirectory.The shell will expand *.dat to match all .dat files in the current directory.Themvcommand then moves the list of .soubory dat do adresáře „analyzed“.
Reprodukovat strukturu složek
začínáš nový experiment, a rád bych, aby duplicitní directorystructure z předchozího experimentu, takže můžete přidat nová data.
Předpokládejme, že předchozí experiment je ve složce s názvem ‚2016-05-18‘,která obsahuje
datasložka, která obsahuje složky s názvemrawprocessed, které obsahují datové soubory. Cílem je zkopírovat složku structureof2016-05-18-datasložky do složky s názvem2016-05-20tak, aby vaše konečné adresářová struktura vypadá takto:2016-05-20/└── data ├── processed └── rawKterý z následujících sadu příkazů by dosažení tohoto cíle?Co by dělaly ostatní příkazy?
$ mkdir 2016-05-20$ mkdir 2016-05-20/data$ mkdir 2016-05-20/data/processed$ mkdir 2016-05-20/data/raw$ mkdir 2016-05-20$ cd 2016-05-20$ mkdir data$ cd data$ mkdir raw processed$ mkdir 2016-05-20/data/raw$ mkdir 2016-05-20/data/processed$ mkdir -p 2016-05-20/data/raw$ mkdir -p 2016-05-20/data/processed$ mkdir 2016-05-20$ cd 2016-05-20$ mkdir data$ mkdir raw processedŘešení
první dvě sady příkazů dosažení tohoto cíle.První sada používá relativní cesty k vytvoření adresáře nejvyšší úrovně před podadresáře.
třetí sada příkazů bude mít za následek chybu, protože výchozí chování
mkdirnebude vytvořit subdirectoryof na neexistující adresář: středně pokročilé úrovni složky musí být vytvořena jako první.čtvrtá sada příkazů tohoto cíle dosáhne. Nezapomeňte, že volba
-p, následovaná cestou jednoho nebo více adresářů, způsobí, žemkdirvytvoří libovolné podadresáře podle potřeby.konečná sada příkazů generuje adresáře “ raw “ a „zpracované“ na stejné úrovni jako adresář „data“.
Klíčové Body
cpkopie souboru.
mkdirvytvoří nový adresář.
mvpřesune (přejmenuje) soubor nebo adresář.
rmodstraní (odstraní) soubor.
*odpovídá nula nebo více znaků v souboru, takže*.txtzápasů všechny soubory, které končí v.txt.
?jeden libovolný znak v souboru, takže?.txtzápasya.txtany.txt.Použití Kontrolní klíč může být popsán v mnoha ohledech, včetně
Ctrl-XControl-X^X.shell nemá koš: jakmile je něco odstraněno, je to opravdu pryč.
názvy většiny souborů jsou
something.extension. Přípona není vyžadována a nic nezaručuje, ale obvykle se používá k označení typu dat v souboru.V závislosti na typu práce, kterou děláte, možná budete potřebovat výkonnější textový editor než Nano.
Leave a Reply