Articles

Arbeide Med Filer og Kataloger

Oversikt

Undervisning: 30 Min
Øvelser: 20 min
Spørsmål

  • hvordan kan jeg opprette, kopiere og slette filer og kataloger?

  • hvordan kan jeg redigere filer?

Mål

  • Opprett et kataloghierarki som samsvarer med et gitt diagram.

  • Opprett filer i det hierarkiet ved hjelp av et redigeringsprogram eller ved å kopiere og gi nytt navn til eksisterende filer.

  • Slett, kopier og flytt spesifiserte filer og / eller kataloger.

Opprette kataloger

vi vet nå hvordan vi skal utforske filer og kataloger,men hvordan lager vi dem i utgangspunktet?

Trinn ett: se hvor vi er og hva vi allerede har

La oss gå tilbake til vår data-shell katalog På Skrivebordetog bruk ls -F for å se hva den inneholder:

$ pwd
$ ls -F
creatures/ data/ molecules/ north-pacific-gyre/ notes.txt pizza.cfg solar.pdf writing/

opprett en katalog

la oss opprette en ny katalog kalt thesisved hjelp av kommandoenmkdir thesis(som ikke har noen utgang):

$ mkdir thesis

som du kanskje gjetter fra navnet, mkdir betyr»merk katalog».Siden thesis er den relative banen (dvs., har ikke en ledende skråstrek, som /what/ever/thesis),den nye katalogen er opprettet i gjeldende arbeidskatalog:

$ ls -F
creatures/ data/ molecules/ north-pacific-gyre/ notes.txt pizza.cfg solar.pdf thesis/ writing/

siden vi nettopp har opprettet thesiskatalogen, er det ingenting i det ennå:

$ ls -F thesis

merk atmkdir er ikke begrenset til å lage enkeltkataloger en om gangen. -p alternativet tillatermkdir for å opprette en katalog med et hvilket som helst antall nestede underkataloger i en enkelt operasjon:

$ mkdir -p thesis/chapter_1/section_1/subsection_1

-R alternativet til ls kommandoen vil vise alle nestede underkataloger i en katalog. La oss bruke ls -FR for å rekursivt liste det nye kataloghierarkiet vi nettopp opprettet under thesis katalog:

$ ls -FR thesischapter_1/thesis/chapter_1:section_1/thesis/chapter_1/section_1:subsection_1/thesis/chapter_1/section_1/subsection_1:

To måter å gjøre det samme

Å bruke skallet til å lage en katalog er ikke annerledes enn å bruke en filutforsker.Hvis du åpner gjeldende katalog ved hjelp av operativsystemets grafiske filutforsker, vilthesis katalogen vises der også.Mens skallet og filutforskeren er to forskjellige måter å samhandle med filene, er filene og katalogene selv de samme.

Gode navn på filer og kataloger

Kompliserte navn på filer og kataloger kan gjøre livet ditt smertefulltnår du arbeider på kommandolinjen. Her gir vi noen nyttigetips for navnene på filene dine.

  1. ikke bruk mellomrom.

    Mellomrom kan gjøre et navn mer meningsfylt,men siden mellomrom brukes til å skille argumenter på kommandolinjendet er bedre å unngå dem i navn på filer og kataloger.Du kan bruke- eller_ i stedet (f. eks. north-pacific-gyre/ i stedet for north pacific gyre/).

  2. ikke begynn navnet med - (dash).

    Kommandoer behandler navn som starter med - som alternativer.

  3. stokk med bokstaver, tall,. (punktum eller ‘full stopp’), - (dash) og _ (understrek).

    Mange andre tegn har spesielle betydninger på kommandolinjen.Vi vil lære om noen av disse i løpet av denne leksjonen.Det er spesialtegn som kan føre til at kommandoen din ikke fungerer somforventet og kan til og med føre til tap av data.

hvis du trenger å referere til navn på filer eller kataloger som har mellomrom eller andre spesialtegn, bør du omgir navnet i anførselstegn ("").

Lag en tekstfil

la oss endre vår arbeidskatalog til thesis ved hjelp av cd,kjør deretter en tekstredigerer kalt Nano for å lage en fil kalt draft.txt :

$ cd thesis$ nano draft.txt

Hvilken Redaktør?

Når vi sier, ‘ nano er en tekstredigerer’ vi mener virkelig ‘tekst’: det kan bare fungere med enkle tegndata, ikke tabeller, bilder eller andre menneskevennlige medier. Vi bruker det i eksempler fordi det er en av de minst komplekse tekstredigerere. Men på grunn av dette trekket kan detikke være kraftig nok eller fleksibel nok til arbeidet du må gjøreetter denne workshopen. På Unix-systemer (Som Linux og macOS) bruker mange programmerere Emacs orVim (som begge krever mer tid til å lære), eller en grafisk redaktør somgedit. På Windows kan du ønskebruk Notepad++. Windows har også en innebyggeditor kalt notepad som kan kjøres fra kommandolinjen i sameway som nano i forbindelse med denne leksjonen.

Uansett hvilken editor du bruker, må du vite hvor den searchesfor og lagrer filer. Hvis du starter den fra skallet, vil den (sannsynligvis)bruke din nåværende arbeidskatalog som standardplassering. Hvis du bruker datamaskinens start-meny, kan det være lurt å lagre filer i skrivebordet ordocuments katalogen i stedet. Du kan endre dette ved å navigere til en annen katalog første gang du ‘Lagre som…’

la oss skrive inn noen få linjer med tekst.Når vi er fornøyd med teksten vår, kan vi trykke Ctrl+O (Trykk Ctrl eller Control-tasten og, mens du holder Den nede, trykk O-tasten) for å skrive dataene våre til disk(vi blir spurt hvilken fil vi vil lagre dette til:trykk På Retur for å godta den foreslåtte standarden på draft.txt).

skjermbilde av nano text editor i aksjon

Når filen er lagret, kan Vi bruke Ctrl+X for å avslutte redaktøren oggå tilbake til skallet.

Kontroll, Ctrl Eller ^ Nøkkel

Kontrolltasten kalles Også Ctrl-tasten. Det finnes ulike måterder bruk Av Kontrolltasten kan beskrives. Du kan for eksempel se en instruksjon om å trykke På Kontrolltasten, og mens Du holder Den nede,trykker Du På X-tasten, beskrevet som En:

    Control-XControl+XCtrl-X Ctrl+X

  • ^X
  • C-x

i nano, nederst på skjermen vil du se^G Get Help ^O WriteOut.Dette betyr at du kan bruke Control-G for å få hjelp og Control-O for å lagre dinfil.

nano etterlater ingen utgang på skjermen etter at den har gått ut,men ls viser nå at vi har opprettet en fil som heter draft.txt:

$ ls
draft.txt

opprette filer på en annen måte

vi har sett hvordan du lager tekstfiler ved hjelp av nano redigeringsprogram.Prøv nå følgende kommando:

$ touch my_file.txt
  1. hva gjorde touchkommandoen?Når du ser på din nåværende katalog ved HJELP AV GUI file explorer,vises filen?

  2. Bruk ls -l for å inspisere filene. Hvor stor er my_file.txt?

  3. når vil du kanskje lage en fil på denne måten?

Løsning

  1. kommandoentouch genererer en ny fil kalt my_file.txt i din nåværende katalog. Du kan observere denne nylig genererte filen ved å skrive ls på kommandolinjeprompt. my_file.txt kan også vises i yourGUI filutforsker.

  2. når du inspiserer filen med ls -l, merk at størrelsen på my_file.txt er 0 byte. Med andre ord inneholder den ingen data.Hvis du åpner my_file.txt ved hjelp av tekstredigeringsprogrammet, er det tomt.

  3. Noen programmer genererer ikke utdatafiler selv, meni stedet krever at tomme filer allerede er generert.Når programmet kjøres, søker den etter en eksisterende fil topopulate med sin utgang. Berøringskommandoen lar degeffektivt generere en tom tekstfil som skal brukes av slikeprogrammer.

Hva Er I Et Navn?

du har kanskje lagt merke til at alle Nelles filer heter «noe dotsomething», og i denne delen av leksjonen brukte vi alltid utvidelsen.txt. Dette er bare en konvensjon: vi kan ringe en fil mythesis ellernesten alt annet vi vil ha. Imidlertid bruker de fleste todelte navn mesteparten av tiden for å hjelpe dem (og deres programmer) å fortelle forskjellige typer filer fra hverandre. Den andre delen av et slikt navn heter thefilename extension, og indikererhvilken type data filen inneholder: .txt signaliserer en ren tekstfil, .pdfindikerer ET PDF-dokument, .cfg er en konfigurasjonsfil full av parameterefor noe program eller annet, .png er et png-bilde, og så videre.

dette er bare en konvensjon, om enn en viktig en. Filer containbytes: det er opp til oss og våre programmer å tolke disse bytes i henhold til reglene for rene tekstfiler, PDF-dokumenter, konfigurasjonsfiler, bilder og så videre.

Navngi ET PNG-bilde av en hval som whale.mp3 gjør det på en eller annen måte ikke til et opptak av hvalsang, selv om det kan føre til at operativsystemet prøver å åpne det med en musikkspiller når noen dobbeltklikker på det.

Flytte filer og kataloger

Tilbake Til data-shell katalog,

cd ~/Desktop/data-shell/

I vårthesisdirectory vi har en fildraft.txtsom ikke er et spesielt informativt navn,så la oss endre filnavnet ved hjelp avmv,som er kort for ‘move’:

$ mv thesis/draft.txt thesis/quotes.txt

det første argumentet forteller mv hva Vi «flytter», mens det andre er hvor det skal gå.I dette tilfellet flytter vi thesis/draft.txt til thesis/quotes.txt, som har samme effekt som å gi nytt navn til filen.Sikker nok,ls viser oss at thesis inneholder nå en fil kalt quotes.txt:

$ ls thesis

div>

quotes.txt

man må være forsiktig når du angir målfilnavnet, sidenmvvil overskrive alle eksisterende filer med samme navn, noe som kan føre til tap av data. Et ekstra alternativ,mv -i(ellermv --interactive), kan brukes til å lagemvbe deg om bekreftelse før du overskriver.

Merk at mv fungerer også på kataloger.

la oss flytte quotes.txt inn i gjeldende arbeidskatalog.Vi bruker mv igjen,men denne gangen bruker vi bare navnet på en katalog som det andre argumentetå fortelle mv at vi vil beholde filnavnet,men legg filen et nytt sted.(Dette er grunnen til at kommandoen kalles ‘move’.) I dette tilfellet er katalognavnet vi bruker det spesielle katalognavnet . som vi nevnte tidligere.

$ mv thesis/quotes.txt .

effekten er å flytte filen fra katalogen den var i til gjeldende arbeidskatalog.ls viser oss nå at thesis er tom:

$ ls thesis

lsmed et filnavn eller katalognavn som argument viser bare den filen eller katalogen.Vi kan bruke dette til å se atquotes.txtfortsatt er i vår nåværende katalog:

quotes.txt

flytte filer til en ny mappe

etter å ha kjørt følgende kommandoer,innser jamie at hun legger filene sucrose.dat og maltose.dat i feil mappe. Filene skal ha blitt plassert i mappenraw.

$ ls -F analyzed/ raw/$ ls -F analyzedfructose.dat glucose.dat maltose.dat sucrose.dat$ cd analyzed

raw/ mappen(dvs.den hun glemte å sette dem i)

$ mv sucrose.dat maltose.dat ____/____

løsning

$ mv sucrose.dat maltose.dat ../raw

.. refererer til den overordnede katalogen (dvs. en over gjeldende katalog)og at . refererer til gjeldende katalog.

Kopiering av filer og kataloger

cp kommandoen fungerer veldig mye som mv, bortsett fra at den kopierer en fil i stedet for å flytte den.Vi kan sjekke at det gjorde det rette ved å bruke lsmed to baner som argumenter — som de Fleste Unix-kommandoer,ls kan gis flere baner samtidig:

$ cp quotes.txt thesis/quotations.txt$ ls quotes.txt thesis/quotations.txt
quotes.txt thesis/quotations.txt

for eksempel å sikkerhetskopiere en katalog:

$ cp -r thesis thesis_backup

vi kan sjekke resultatet ved å oppgi innholdet i bådethesisogthesis_backupkatalog:

$ ls thesis thesis_backup
thesis:quotations.txtthesis_backup:quotations.txt

Gi Nytt Navn Til Filer

Anta at Du opprettet en ren tekstfil i din nåværende katalog for å inneholde en liste over statistiske tester du må gjøre for å analysere dataene dine, og kalt den:statstics.txt

etter å ha opprettet og lagret denne filen, skjønner du at du feilstavet filnavnet! Du vilkorrigere feilen, hvilken av følgende kommandoer kan du bruke til å gjøre det?

    cp statstics.txt statistics.txtmv statstics.txt statistics.txtmv statstics.txt . cp statstics.txt .

løsning

  1. nei. Selv om dette ville skape en fil med riktig navn, eksisterer den feil navngitte filen fortsatt i katalogenog må slettes.
  2. Ja, dette ville fungere for å gi nytt navn til filen.
  3. nei, perioden(.) angir hvor du skal flytte filen, men gir ikke et nytt filnavn; identiske filnavner kan ikke opprettes.
  4. nei, perioden(.) angir hvor du skal kopiere filen, men gir ikke et nytt filnavn; identiske filnavner kan ikke opprettes.

Flytting og Kopiering

hva er utgangen av den avsluttendels kommandoen i sekvensen vist nedenfor?

$ pwd
/Users/jamie/data
$ ls
proteins.dat
$ mkdir recombined$ mv proteins.dat recombined/$ cp recombined/proteins.dat ../proteins-saved.dat$ ls
  1. proteins-saved.dat recombined
  2. recombined
  3. proteins.dat recombined
  4. proteins-saved.dat

Solution

We start in the /Users/jamie/data directory, and create a new folder called recombined.Den andre linjen flytter (mv) filenproteins.dat til den nye mappen (recombined).Den tredje linjen lager en kopi av filen vi nettopp flyttet. Den vanskelige delen her er hvor filen varkopiert til. Husk at .. betyr «gå opp et nivå», så den kopierte filen er nå i /Users/jamie.Legg merke til at .. tolkes med hensyn til gjeldende workingdirectory, ikke med hensyn til plasseringen av filen som kopieres.Så det eneste som vil vise ved hjelp av ls (i /Users/jamie/data) er den rekombinerte mappen.

  1. Nei, se forklaring ovenfor. proteins-saved.dat ligger på /Users/jamie
  2. Ja
  3. Nei, se forklaring ovenfor. proteins.datligger på/Users/jamie/data/recombined
  4. Nei, se forklaring ovenfor. proteins-saved.dat ligger på /Users/jamie

Fjerne filer og kataloger

Tilbake til data-shellkatalog,la oss rydde opp denne katalogen ved å fjernequotes.txtfil vi opprettet.Unix-kommandoen vi bruker for dette er rm (kort for ‘fjern’):

$ rm quotes.txt

Vi kan bekrefte at filen har gått med ls:

$ ls quotes.txt
ls: cannot access 'quotes.txt': No such file or directory

Sletting Er For Alltid

unix-skallet har ikke en papirkurv som vi kan gjenopprette deletedfiles fra (selv om de fleste grafiske grensesnitt til unix gjør). I stedet, når vi sletter filer, de er koblet fra filsystemet slik atderes lagringsplass på disken kan resirkuleres. Verktøy for å finne andrecovering slettede filer eksisterer, men det er ingen garanti for at de vil fungere i en bestemt situasjon, siden datamaskinen kan resirkulere filens diskplass med en gang.

Bruke Rm Trygt

hva skjer når vi utførerrm -i thesis_backup/quotations.txt?Hvorfor vil vi ha denne beskyttelsen når du bruker rm?

Løsning

$ rm: remove regular file 'thesis_backup/quotations.txt'? y

-i alternativet vil be før (Hver) fjerning (bruk Y for å bekrefte sletting eller N for å beholde filen).Unix-skallet har ikke en papirkurv, så alle filene fjernet vil forsvinne forever.By ved hjelp av alternativet-i har vi sjansen til å sjekke at vi bare sletter filene vi vil fjerne.

hvis vi prøver å fjerne thesis katalogen ved hjelp av rm thesis,får vi en feilmelding:

$ rm thesis

rm: cannot remove `thesis': Is a directory

dette skjer fordirmsom standard fungerer bare på filer, ikke kataloger.rmkan fjerne en katalog og alt innholdet hvis vi bruker therecursive alternativet-r, og det vil gjøre det uten bekreftelse ber:

$ rm -r thesis

Gitt at det ikke er mulig å hente filer slettet ved hjelp av skallet,rm -rbør brukes med stor forsiktighet (du kan vurdere å legge til det interaktive alternativetrm -r -i).

Operasjoner med flere filer og kataloger

ofte må man kopiere eller flytte flere filer samtidig. Dette kan gjøres ved å gi en liste over individuelle filnavn, eller angi et navnemønster ved hjelp av jokertegn.

Kopier Med Flere Filnavn

for denne øvelsen kan du teste kommandoene idata-shell/data katalogen.

i eksemplet nedenfor, hva gjør cp når du får flere filnavn og et katalognavn?

$ mkdir backup$ cp amino-acids.txt animals.txt backup/

i eksemplet nedenfor, hva gjør cp når du får tre eller flere filnavn?

$ ls -F

div

løsning

hvis gitt mer enn ett filnavn etterfulgt av et katalognavn (dvs.målkatalogen må være det siste argumentet), cp kopierer filene til den navngitte katalogen.

hvis gitt tre filnavn, cp kaster en feil som den nedenfor, fordi den forventer en directoryname som det siste argumentet.

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 the data-shell/molecules directory:*.pdb matches ethane.pdbpropane.pdb, and everyfile that ends with ‘.pdb’. På den annen side,p*.pdb bare matcherpentane.pdb ogpropane.pdb, fordi ‘ p ‘på forsiden barekamper filnavn som begynner med bokstaven ‘p’.

? er også et jokertegn, men det samsvarer nøyaktig med en character.So ?ethane.pdb vil matchemethane.pdb mens*ethane.pdb matcher bådeethane.pdb ogmethane.pdb.

Jokertegn kan brukes i kombinasjon med hverandre.g. ???ane.pdb matcher tre tegn etterfulgt avane.pdb,noe som gircubane.pdb ethane.pdb octane.pdb.

når skallet ser et jokertegn, utvider det jokertegnet for å lage en liste over samsvarende filnavn før du kjører kommandoen som ble bedt om. Som et unntak, Hvis et jokertegnuttrykk ikke samsvarernoen fil, Vil Bash sende uttrykket som et argument til kommandoensom det er. For eksempel å skrive ls *.pdf i katalogen molecules (som bare inneholder filer med navn som slutter på .pdb) resulterer ien feilmelding om at det ikke er noen fil som heter *.pdf.Men generelt kommandoer som wc og ls se lister offile navn som samsvarer med disse uttrykkene, men ikke wildcardsthemselves. Det er skallet, ikke de andre programmene, som omhandlerutvide jokertegn, og dette er et annet eksempel på ortogonal design.

Liste filnavn som samsvarer med et mønster

når du kjører i molecules katalogen, som ls kommando(er) willproduce denne utgangen?

ethane.pdb methane.pdb

  1. ls *t*ane.pdb
  2. ls *t?ne.*
  3. ls *t??ne.pdb
  4. ls ethane.*

Solution

The solution is

shows all files whose names contain zero or more characters (*) followed by the letter t, then zero or more characters (*) followed by ane.pdb. Dette gir ethane.pdb methane.pdb octane.pdb pentane.pdb.

viser alle filer hvis navn starter med null eller flere tegn (*) etterfulgt av bokstavent, deretter et enkelt tegn (?), deretterne.etterfulgt av null eller flere tegn (*). Dette vil gi ossoctane.pdb ogpentane.pdb men samsvarer ikke med noe som slutter i thane.pdb.løser problemene med alternativ 2 ved å matche to tegn (??) mellom t og ne. Dette er løsningen.

viser bare filer som starter med ethane..

Mer Om Jokertegn

Sam har en katalog som inneholder kalibreringsdata, datasett og beskrivelser av datasettene:

.├── 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_files

før hun drar til en annen ekskursjon, vil hun sikkerhetskopiere dataene sine og sende noen datasett til kollegaen Bob. Sam bruker følgende kommandoerfor å få jobben gjort:

$ 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/

Hjelp Sam ved å fylle ut feltene.

den resulterende katalogstrukturen skal se slik ut

.├── 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

Løsning

$ 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/

organisere kataloger og filer

jamie jobber med et prosjekt, og hun ser at filene hennes ikke er veldig godt organisert:

$ ls -F
analyzed/ fructose.dat raw/ sucrose.dat

fructose.datogsucrose.dat filer inneholder utdata fra hennes dataanalyse. Hvilken kommando (er) som er dekket i denne leksjonen, trenger hun å kjøre slik at kommandoene nedenfor vil produsere utgangen som vises?

$ ls -F
analyzed/ raw/
$ ls analyzed
fructose.dat sucrose.dat

Solution

mv *.dat analyzed

Jamie needs to move her files fructose.dat and sucrose.dat to the analyzed directory.The shell will expand *.dat to match all .dat files in the current directory.The mv command then moves the list of .dat-filer til ‘analysert’ katalogen.

Reprodusere en mappestruktur

Du starter et nytt eksperiment, og ønsker å duplisere katalogstrukturen fra det forrige eksperimentet, slik at du kan legge til nye data.

Anta at det forrige eksperimentet er i en mappe kalt ‘2016-05-18’, som inneholder endata mappe som igjen inneholder mapper kaltraw ogprocessed som inneholder datafiler. Målet er å kopiere mappestrukturenav2016-05-18-data mappen til en mappe som heter 2016-05-20 slik at din endelige katalogstruktur ser slik ut:

2016-05-20/└── data ├── processed └── raw

oppnå dette målet?Hva ville de andre kommandoene gjøre?

$ mkdir 2016-05-20$ mkdir 2016-05-20/data$ mkdir 2016-05-20/data/processed$ mkdir 2016-05-20/data/raw

>

$ 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

løsning

de to første settene med kommandoer oppnår dette målet.Det første settet bruker relative baner for å opprette toppnivåkatalogen førundermappene.

det tredje settet med kommandoer vil gi en feil fordi standardoppførselen til mkdir ikke vil opprette en underkatalogav en ikke-eksisterende katalog: mappene på mellomnivå må opprettes først.

det fjerde settet med kommandoer oppnår dette målet. Husk at-p alternativet, etterfulgt av en bane av en eller flere kataloger, vil føre til mkdir for å opprette noen mellomliggende underkataloger etter behov.

det siste settet med kommandoer genererer katalogene ‘ rå ‘ og ‘behandlet’ på samme nivå som ‘data’ – katalogen.

Nøkkelpunkter

  • cp kopierer en fil.

  • mkdir oppretter en ny katalog.

  • mv flytter (omdøper) en fil eller katalog.

  • rm fjerner (sletter) en fil.

  • * matcher null eller flere tegn i et filnavn, så*.txt matcher alle filer som slutter på.txt.
  • ?matcher et enkelt tegn i et filnavn, så ?.txtmatcher a.txtmen ikke any.txt.
  • Bruk Av Kontrolltasten kan beskrives på mange måter ,inkludert Ctrl-XControl-X og ^X.

  • skallet har ikke en papirkurv: når noe er slettet, er det virkelig borte.

  • de fleste filenes navn er something.extension. Utvidelsen er ikke nødvendig, og garanterer ikke noe, men brukes normalt til å indikere typen data i filen.

  • Avhengig av hvilken type arbeid du gjør, kan det hende du trenger en kraftigere tekstredigerer enn Nano.