fájlok és könyvtárak kezelése
áttekintés
tanítás: 30 perc
gyakorlatok: 20 perckérdések
hogyan lehet fájlokat és könyvtárakat létrehozni, másolni és törölni?
hogyan lehet szerkeszteni a fájlokat?
célok
Hozzon létre egy könyvtári hierarchiát, amely megfelel egy adott diagramnak.
fájlok létrehozása a hierarchiában szerkesztővel vagy meglévő fájlok másolásával és átnevezésével.
meghatározott fájlok és/vagy könyvtárak törlése, másolása és áthelyezése.
könyvtárak létrehozása
most már tudjuk,hogyan kell felfedezni a fájlokat és könyvtárakat, de hogyan hozhatjuk létre őket először?
első lépés: nézze meg, hol vagyunk, és mi már van
menjünk vissza a
data-shellkönyvtár az Asztalonés használja als -Fhogy megnézze, mit tartalmaz:$ pwd/Users/nelle/Desktop/data-shell$ ls -Fcreatures/ data/ molecules/ north-pacific-gyre/ notes.txt pizza.cfg solar.pdf writing/hozz Létre egy könyvtárat
hozzunk létre egy új könyvtárat az úgynevezett
thesisparancs segítségévelmkdir thesis(amely nem kimeneti):$ mkdir thesisMint azt sejteni lehet a neve,
mkdirazt jelenti, hogy ‘mark könyvtár’.Mivelthesisa relatív útvonal(azaz nem egy vezető slash, mint a/what/ever/thesis),az új könyvtárat hoz létre az aktuális könyvtárban:$ ls -Fcreatures/ data/ molecules/ north-pacific-gyre/ notes.txt pizza.cfg solar.pdf thesis/ writing/Mivel már csak létre a
thesiskönyvtár, nincs benne még:$ ls -F thesisMegjegyezzük, hogy a
mkdirnem korlátozódik létrehozása egyes könyvtárak egy időben. A-popció lehetővé teszi amkdirkönyvtár létrehozását tetszőleges számú beágyazott alkönyvtárral egyetlen műveletben:$ mkdir -p thesis/chapter_1/section_1/subsection_1a
-Ralsparancs az összes beágyazott alkönyvtárat felsorolja egy könyvtáron belül. Használjuk als -FRrekurzívan felsorolni az új könyvtári hierarchiát, amelyet athesiskönyvtár alatt hoztunk létre:$ ls -FR thesischapter_1/thesis/chapter_1:section_1/thesis/chapter_1/section_1:subsection_1/thesis/chapter_1/section_1/subsection_1:ugyanazon dolog két módja
a shell használata egy könyvtár létrehozásához nem különbözik a fájlkezelő használatától.Ha az aktuális könyvtárat az operációs rendszer grafikus fájlkezelőjével nyitja meg, akkor ott is megjelenik a
thesiskönyvtár.Míg a shell és a file explorer két különböző módon kölcsönhatásba lépnek a fájlokat, a fájlok és könyvtárak maguk ugyanazok.A fájlok és könyvtárak jó nevei
a fájlok és könyvtárak bonyolult nevei fájdalmasakká tehetikamikor a parancssorban dolgozik. Itt adunk néhány hasznostippek a fájlok nevéhez.
ne használjon szóközöket.
a szóközök értelmesebbé tehetik a nevet, de mivel a szóközöket a parancssor argumentumainak elválasztására használják, jobb elkerülni őket a fájlok és könyvtárak nevében.A
-vagy_helyett (pl.north-pacific-gyre/helyettnorth pacific gyre/).ne kezdje a nevet
-(dash).parancsok a
-opciókkal kezdődő neveket kezelik.Stick with letters, numbers,
.(period or ‘full stop’),-(dash) and_(underscore).sok más karakternek különleges jelentése van a parancssorban.Ezek közül néhányat meg fogunk tanulni ebben a leckében.Vannak speciális karakterek, amelyek miatt a parancs nem működik asexpected, sőt adatvesztést is okozhat.
ha olyan fájlok vagy könyvtárak nevére kell hivatkozni, amelyeknek van helyükvagy más speciális karakterek, akkor a nevet idézőjelekben kell körülölelnie (
"").hozzon létre egy szöveges fájlt
változtassuk meg a munkakönyvtárunkat
thesis,majd futtasson egy nano nevű szövegszerkesztőt adraft.txt/ div > :$ cd thesis$ nano draft.txtmelyik szerkesztő?
amikor azt mondjuk, ”
nanoegy szövegszerkesztő “valójában” szöveget ” értünk: csak egyszerű karakteradatokkal, nem táblázatokkal, képekkel vagy bármely más emberbarát médiával működhet. Példákban használjuk, mert ez az egyikaz utolsó összetett szövegszerkesztők. Ennek a tulajdonságnak köszönhetően azonban lehetnem elég erős vagy rugalmas ahhoz a munkához, amelyet meg kell tennieez után a műhely után. Unix rendszereken (például Linuxon és macOS-on) sok programozó használja az Emacs orVim-et (mindkettő több időt igényel a tanuláshoz), vagy egy grafikus szerkesztőt, például a gedit-et. Windows rendszeren érdemes lehethasználja a Notepad++programot. A Windowsnak van egy beépített szerkesztője is, az úgynevezettnotepad, amely ugyanabból a parancssorból futtatható, mintnanoennek a leckének a céljából.függetlenül attól, hogy milyen szerkesztőt használ, tudnia kell, hogy hol keres fájlokat. Ha elindítja a héjból, akkor (valószínűleg)az aktuális munkakönyvtárat fogja használni alapértelmezett helyként. Ha a számítógép start menüjét használja, érdemes lehet fájlokat menteni az asztali ordocuments könyvtárba. Ezt úgy módosíthatja, hogy navigál egy másik könyvtárba, amikor először “Mentés másként…”
írja be a szöveg néhány sorát.Miután elégedettek vagyunk a szövegünkkel, megnyomhatjuk a Ctrl+O billentyűt(nyomja meg a Ctrl vagy a Control billentyűt, majd lefelé nyomva nyomja meg az O gombot), hogy adatainkat lemezre írjuk (megkérdezzük, hogy milyen fájlt szeretnénk menteni:nyomja meg a Return billentyűt, hogy elfogadja a
draft.txtjavasolt alapértelmezését).Ha a fájlt, akkor használja a Ctrl+X-kilépett a szerkesztő andreturn, hogy a shell.
vezérlés, Ctrl vagy ^ kulcs
a vezérlőgombot “Ctrl” gombnak is nevezik. Vannak különböző módokamelyben a vezérlőgomb használata leírható. Előfordulhat például, hogy a vezérlőgomb megnyomására megjelenik egy utasítás,majd ha lenyomva tartja, nyomja meg az X billentyűt, amelyet a következők bármelyikeként ír le:
Control-XControl+XCtrl+X^XC-xa nano-ban a képernyő alján látható
^G Get Help ^O WriteOut.Ez azt jelenti, hogy aControl-Gsegítségével segítséget kaphat, aControl-Opedig a fájl mentéséhez.
nanonem hagy kimenet a képernyőn, miután kilép,de alsmost azt mutatja, hogy létrehoztunk egy fájl nevedraft.txt:$ lsdraft.txtLétrehozása-Fájlok Másképp
láttuk, hogyan hozhat létre szöveges fájlok használata a
nanoszerkesztő.Most próbálja ki a következő parancsot:$ touch my_file.txt
mit tett a
touchparancs?Ha megnézi az aktuális könyvtárat a GUI File explorer segítségével, megjelenik a fájl?használja a
ls -la fájlok ellenőrzéséhez. Mekkora amy_file.txt?mikor szeretne ilyen módon létrehozni egy fájlt?
megoldás
a
touchparancs létrehoz egy új fájlt, melynek nevemy_file.txtin your current directory. Ezt az újonnan létrehozott fájlt alsbeírásával figyelheti meg a parancssori parancssorba.my_file.txtis megtekinthető yourGUI file explorer.amikor a
ls -lfájlt ellenőrzi, vegye figyelembe, hogy amy_file.txtmérete 0 bájt. Más szavakkal, nem tartalmaz adatokat.Ha megnyitmy_file.txta szövegszerkesztő használatával üres.egyes programok maguk nem generálnak kimeneti fájlokat, hanemehelyett megköveteli, hogy az üres fájlok már létrejöttek.A program futtatásakor egy meglévő fájlt keresnépszerű a kimenettel. A touch parancs lehetővé teszihatékonyan létrehoz egy üres szöveges fájlt, amelyet az ilyenprogramok használnak.
mi van a névben?
lehet, hogy észrevetted, hogy minden nelle fájl neve “valami dotsomething”, és a lecke ezen részében mindig a
.txtkiterjesztést használtuk. Ez csak egy egyezmény: hívhatunk egy fájltmythesisoralmost bármi mást, amit akarunk. A legtöbb ember azonban kétrészes neveket használa legtöbb időt arra, hogy segítsen nekik (és programjaiknak) megkülönböztetni a különböző típusú fájlokat. Az ilyen név második része afilename kiterjesztés, és jelziamilyen típusú adatokat tartalmaz a fájl:.txtegy egyszerű szöveges fájlt jelez,.cfgegy paraméterekkel teli konfigurációs fájlegy program vagy más,.pngegy PNG kép, stb.Ez csak egy egyezmény, bár fontos. Fájlok containbytes: rajtunk és programjainkon múlik, hogy értelmezzük ezeket a szövegfájlokat, PDF dokumentumokat, konfigurációfájlokat, képeket stb.
a bálna PNG-képének elnevezése
whale.mp3nem somehowmagically kapcsolja be a whalesong felvételévé, bár az operációs rendszert arra készteti, hogy megpróbálja megnyitni egy zenelejátszóval, amikor valaki duplán kattint rá.Mozgó fájlok, könyvtárak
Visszatér a
data-shellkönyvtár,cd ~/Desktop/data-shell/A
thesiskönyvtárban van egy fájldraft.txtami nem egy különösen tanulságos neve,akkor változtassuk meg a fájl nevét amv,ami röviden a ‘mozgás’:$ mv thesis/draft.txt thesis/quotes.txtAz első érv azt mondja,
mvmi vagyunk ‘mozog’,míg a második az, ahol van, hogy menjen.Ebben az esetben athesis/draft.txtthesis/quotes.txt– ra költözünk,amelynek ugyanaz a hatása, mint a fájl átnevezése.Persze,lsmegmutatja nekünk, hogythesismost egyquotes.txt:$ ls thesis$ ls thesisdiv>
quotes.txta célfájl nevének megadásakor óvatosnak kell lenni, mivel a
mvfelülírja az azonos nevű létező fájlt, ami adatvesztéshez vezethet. Egy további lehetőség,mv -i(vagymv --interactive), lehet használni, hogymvkérjen megerősítést felülírás előtt.vegye figyelembe, hogy a
mvkönyvtárakon is működik.mozgassuk a
quotes.txt– t az aktuális munkakönyvtárba.Amvismét használjuk, de ezúttal csak a könyvtár nevét fogjuk használni, mint a második érvethogy elmondjukmv, hogy meg akarjuk tartani a fájlnevet,de a fájlt új helyre tesszük.(Ezért hívják a parancsot “mozgásnak”.)Ebben az esetben az általunk használt könyvtárnév a.speciális könyvtárnév, amelyet korábban említettünk.$ mv thesis/quotes.txt .a hatás az, hogy áthelyezzük a fájlt a könyvtárból az aktuális munkakönyvtárba.
lsmost azt mutatja, hogythesisüres:$ ls thesistovábbi,
lsa fájlnév vagy könyvtárnév argumentumként csak az adott fájlt vagy könyvtárat sorolja fel.Használhatjuk ezt látni, hogy aquotes.txtmindig az aktuális könyvtárban:$ ls quotes.txtquotes.txta Fájlok áthelyezése egy új mappába
futtatása Után a következő parancsokat,Jamie rájön, hogy ő tette a fájlok
sucrose.datvagymaltose.data hibás a mappa. A fájlokat arawmappába kellett volna helyezni.$ ls -F analyzed/ raw/$ ls -F analyzedfructose.dat glucose.dat maltose.dat sucrose.dat$ cd analyzedTöltse ki az üres mozgatni ezeket a fájlokat, hogy a
raw/mappa(vagyis az, aki elfelejtette, hogy őket)$ mv sucrose.dat maltose.dat ____/____Megoldás
$ mv sucrose.dat maltose.dat ../rawEmlékezzünk vissza, hogy a
..utal, hogy a szülő könyvtár (azaz a fenti az aktuális könyvtár), valamint, hogy a.utal, hogy az aktuális könyvtárban.fájlok és könyvtárak másolása
The
cpA parancs nagyon úgy működik,mint amv, kivéve, ha áthelyezés helyett egy fájlt másol.Ellenőrizhetjük, hogy helyesen cselekedett — e alshasználatával, két görbével argumentumként-mint a legtöbb Unix parancs,lsegyszerre több görbét is megadhatunk:$ cp quotes.txt thesis/quotations.txt$ ls quotes.txt thesis/quotations.txtquotes.txt thesis/quotations.txtMi is másolni egy könyvtár, valamint annak teljes tartalmát felhasználva therecursive opció
-r,pl. egy könyvtárat:$ cp -r thesis thesis_backupmegnézhetjük az eredményt felsorolja a tartalmát, mind a
thesisvagythesis_backupkönyvtár:$ ls thesis thesis_backupthesis:quotations.txtthesis_backup:quotations.txtFájlok Átnevezése
Tegyük fel, hogy létrehozott egy sima-szöveges fájlt a jelenlegi könyvtár tartalmaz egy listát a thestatistical tesztet kell tennie, hogy elemezze az adatok neve:
statstics.txtlétrehozása Után, majd mentse a fájlt vettem észre, hogy elírtam a fájlnevet! Szeretné kijavítani a hibát, az alábbi parancsok közül melyiket használhatja erre?
cp statstics.txt statistics.txtmv statstics.txt statistics.txtmv statstics.txt .
cp statstics.txt ./ol>
- no. Bár ez létrehozna egy megfelelő nevű fájlt, a helytelenül megnevezett fájl továbbra is létezik a könyvtárbanés törölni kell.
- Igen, ez a fájl átnevezésére szolgál.
- nem, az időszak(.) jelzi, hogy hova kell áthelyezni a fájlt, de nem ad meg új fájlnevet; azonos fájlneveknem hozható létre.
- nem, az időszak(.) jelzi, hogy hol másolja a fájlt, de nem ad új fájlnevet; azonos fájlneveketnem hoz létre.
mozgó és másoló
mi a kimenet a záró
lsparancs az alábbi sorrendben?$ 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.A második sor (mv) aproteins.datfájlt az új mappába mozgatja (recombined).A harmadik sor másolatot készít az éppen áthelyezett fájlról. A trükkös rész itt az, ahol a fájl voltmegnyitva. Emlékezzünk vissza, hogy a..azt jelenti, hogy”menj fel egy szintre”, így a másolt fájl most/Users/jamie.Vegye figyelembe, hogy a..értelmezhető az aktuális munka szempontjából.könyvtár, nem a másolt fájl helyére vonatkozóan.Tehát az egyetlen dolog, amely az ls használatával jelenik meg (/Users/jamie/data), a rekombinált mappa.
- nem, lásd a fenti magyarázatot.
proteins-saved.data/Users/jamie- Igen
- nem, lásd a fenti magyarázatot.
proteins.data/Users/jamie/data/recombined- nem, lásd a fenti magyarázatot.
proteins-saved.data/Users/jamie
data-shellkönyvtár,rendezzük ezt a könyvtárat aquotes.txtfájl eltávolításával.Az erre használt Unix parancs:rm(az ‘Eltávolítás’ rövidítése):$ rm quotes.txtmegerősíthetjük, hogy a fájl elment a
ls:$ ls quotes.txtls: cannot access 'quotes.txt': No such file or directorya Unix shell nincs kuka, hogy mi lehet visszaállítani deletedfiles származó (bár a legtöbb grafikus felületek Unix do). Ehelyett, amikor töröljük a fájlokat, azokat nem kapcsolják ki a fájlrendszerből, hogya lemezen lévő tárhely újrahasznosítható legyen. A törölt fájlok megtalálására és helyreállítására szolgáló eszközök léteznek, de nincs garancia arra, hogy egy adott helyzetben dolgoznak, mivel a számítógép azonnal újrahasznosíthatja a fájl lemezterületét.
használata RM biztonságosan
mi történik, ha végre
rm -i thesis_backup/quotations.txt?Miért szeretnénk ezt a védelmet, ha arm?megoldás
$ rm: remove regular file 'thesis_backup/quotations.txt'? ya
-iopció a (minden) eltávolítás előtt felszólít (a törlés megerősítéséhez Y vagy N A fájl megtartásához).A Unix shell nem rendelkezik kukával, így az összes eltávolított fájl eltűnik forever.By a-iopcióval ellenőrizhetjük, hogy csak az eltávolítani kívánt fájlokat töröljük-e.Ha megpróbáljuk eltávolítani a
thesiskönyvtár használatarm thesis,akkor egy hibaüzenet jelenik meg:$ rm thesisrm: cannot remove `thesis': Is a directoryEz azért történik, mert a
rmalapértelmezés szerint csak akkor működik, fájlok, könyvtárak nem.
rmeltávolíthat egy könyvtárat és annak tartalmát, ha a-ropciót használjuk, és ezt megerősítés nélkül kéri:$ rm -r thesistekintettel arra, hogy nincs mód a héj segítségével törölt fájlok letöltésére,
rm -róvatosan kell használni (érdemes megfontolni arm -r -i) interaktív opció hozzáadását.műveletek több fájllal és könyvtárral
gyakran több fájlt kell egyszerre másolni vagy áthelyezni. Ezt úgy lehet megtenni, hogy megadja az egyes fájlnevek listáját, vagy megadja az elnevezési mintát helyettesítő karakterekkel.
másolás több fájlnévvel
ehhez a gyakorlathoz tesztelheti a parancsokat a könyvtárban.
az alábbi példában mit tesz a
cp, ha több fájlnevet és könyvtárnevet kap?$ mkdir backup$ cp amino-acids.txt animals.txt backup/az alábbi példában mit tesz a
cpha három vagy több fájlnevet kap?$ ls -Famino-acids.txt animals.txt backup/ elements/ morse.txt pdb/ planets.txt salmon.txt sunspot.txt$ cp amino-acids.txt animals.txt morse.txtMegoldás
Ha meg van adva több fájl nevét, majd egy könyvtár nevét (azaz a célkönyvtárat kell az utolsó érv),
cpmásolja a fájlokat a nevű könyvtár.Ha három fájlnevet adunk meg, akkor a
cphibát vét, például az alábbit, mert egy directoryname-t vár az utolsó argumentumként.cp: target ‘morse.txt’ is not a directoryUsing 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’. Ezzel szemben ap*.pdbcsak apentane.pdbéspropane.pdbmérkőzésekre vonatkozik, mivel a ” P “elöl csak a” P ” betűvel kezdődő fájlneveket jelöli.
?is egy helyettesítő, de pontosan egy character.So?ethane.pdbmethane.pdb*ethane.pdbethane.pdbésmethane.pdb.joker lehet használni együtt minden oda.g.
???ane.pdbhárom karakterből áll,amelyeketane.pdbkövet, ígycubane.pdb ethane.pdb octane.pdb.amikor a shell egy helyettesítő kártyát lát, kibővíti a helyettesítő kártyát, hogy létrehozzon egy megfelelő fájlnevek alistját, mielőtt futtatná a wasasasked parancsot. Kivételként, ha egy helyettesítő kifejezés nem egyezbármilyen fájl, a Bash argumentumként adja át a kifejezést a parancsnak. Például a
ls *.pdfbeírása amoleculeskönyvtárba(amely csak a.pdbnévvel végződő fájlokat tartalmazza) hibaüzenet, hogy nincswcéslslásd a listákat offile nevek megfelelő ezeket a kifejezéseket, de nem a wildcardmaguk. Ez a shell, nem a többi program, amely foglalkozikbővítő helyettesítő karakterek, ez egy másik példa az ortogonális tervezésre.lista a
mintának megfelelő fájlneveket a
moleculeskönyvtárban, amelylsparancs(ok) vajon ez a kimenet?
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. Ígyethane.pdb methane.pdb octane.pdb pentane.pdb.
megmutatja az összes fájlt, amelynek neve nulla vagy több karakterrel kezdődik (), majd at, majd egy karakter (?), majdne.majd nulla vagy több karakter (). Ez megadja nekünkoctane.pdbéspentane.pdb, de nem egyezik semmivel, ami athane.pdb– ban végződik.
két karakter (??) illesztésével javítja a 2.opció problémáittésne. Ez a megoldás.
csak aethane.fájlokkal kezdődő fájlokat jeleníti meg.tovább a helyettesítő karakterekről
A Sam könyvtár kalibrációs adatokat, adatkészleteket és az adatkészletek leírását tartalmazza:
.├── 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_filesmielőtt elindulna egy másik kirándulásra, biztonsági másolatot szeretne készíteni az adatairól ésküldjön néhány adatkészletet kollégájának, Bobnak. Sam a következő parancsokat használjaa feladat elvégzéséhez:
$ 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/segítsen Sam-nek az üres helyek kitöltésével.
Az eredmény könyvtárszerkezet kell kinéznie
.├── 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.txtMegoldás
$ 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/Szervező Könyvtárak, Fájlok
Jamie dolgozik egy projekten, majd meglátja, hogy a fájlok nem nagyon wellorganized:
$ ls -Fanalyzed/ fructose.dat raw/ sucrose.datThe
fructose.datéssucrose.data fájlok kimenetet tartalmaznak az adatelemzésből. Milyen parancsot(parancsokat) kell futtatnia ebben a leckében, hogy az alábbi parancsok végrehajtsák a megjelenített kimenetet?$ 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 .DAT fájlok az “elemzett” könyvtárba.mappastruktúra reprodukálása
új kísérletet indít, és szeretné lemásolni a directorystructure-t az előző kísérletből, így új adatokat adhat hozzá.
feltételezzük, hogy az előző kísérlet egy ‘2016-05-18’ nevű mappában van, amely egy
datamappát tartalmaz, amely viszontrawésprocessedadatfájlokat tartalmazó mappákat tartalmaz. A cél az, hogy a2016-05-18-datamappát a2016-05-20nevű mappába másolja, hogy a végső könyvtárstruktúra így nézzen ki:2016-05-20/└── data ├── processed └── rawa következő parancskészletek közül melyik elérné ezt a célt?Mit tenne a többi parancs?
$ 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 processedMegoldás
Az első két parancsok elérni ezt a célt.Az első készlet relatív útvonalakat használ a felső szintű könyvtár létrehozásáhozaz alkönyvtárak.
a harmadik parancskészlet hibát okoz, mivel a
mkdiralapértelmezett viselkedése nem hoz létre alkönyvtárategy nem existant könyvtárból: először a közbenső szintű mappákat kell létrehozni.a parancsok negyedik halmaza eléri ezt a célt. Ne feledje, hogy a
-popció, amelyet egy vagy több könyvtár elérési útja követ, amkdirbármely közbenső alkönyvtár létrehozásához szükséges.a végső parancskészlet a ” raw “és a” feldolgozott “könyvtárakat ugyanazon a szinten hozza létre, mint az “adat” könyvtár.
cpegy fájlt másol.
mkdirúj könyvtárat hoz létre.
mváthelyez (átnevez) egy fájlt vagy könyvtárat.
rmeltávolít (töröl) egy fájlt.a fájlnévben szereplő nulla vagy több karakter megegyezik, így
*.txta.txt– ben végződő összes fájl megegyezik.
?a fájlnév egyetlen karakterének felel meg, így?.txta.txtde nemany.txt.a vezérlőgomb használata sokféleképpen leírható, beleértve a
Ctrl-XControl-Xés^X.a héj nem rendelkezik kukával: miután valamit töröltek, tényleg eltűnt.
a legtöbb fájl neve
something.extension. A kiterjesztés nem szükséges, és nem garantál semmit, de általában arra használják, hogy jelezze az adatok típusát a fájlban.az elvégzett munka típusától függően szükség lehet egy erősebb szövegszerkesztőre, mint a Nano.

Leave a Reply