Terminalen/Uppgifter
Innehåll
Mål
Efter att du blivit godkänd på denna uppgift kommer du att känna till hur du från terminalen:
- skapar en mapp
- skapar, kopierar och döper om en textfil
- dirigerar om in-/utmatning med hjälp av omdirigering (I/O-redirection)
- komprimera en mapp till ett filarkiv.
Detta behöver du
Allt du behöver för att genomföra uppgiften finns redan installerat på universitetets Linux-system.
Om du väljer att utföra uppgiften på något annat sätt, till exempel på en privat dator med Linux, behöver du tillgång till följande:
- En POSIX-kompatibel terminal.
- Information om terminalen i Windows finns i infosidorna för terminalen
- Uppgifterna går alltså även att lösa med zsh
- Programmen
tar
,grep
,cp
,curl
samt en texteditor, t exnano
.- Dessa ingår i princip alltid med Linux-distributioner samt Mac OS X.
Inlämning sker via Studentportalen. För detta krävs ett studentkonto.
Uppgift
Materialet som tas upp i uppgiften diskuteras på sidan med information om terminalen.
Del 1: Skapa mappar
- Använd
mkdir
för att skapa en mapp med namnetterminal_uppgift_abcd1234
, därabcd1234
ska ersättas med användarnamnet för ditt studentkonto. - Skapa mappen
deluppgift_1
under denna mapp.- Du kan byta till mappen
terminal_uppgift_abcd1234
medcd
och skapa mappen därefter. - Du kan även skriva
terminal_uppgift_abcd1234/deluppgift_1
som argument till kommandotmkdir
. - Tab-komplettering gör denna del mycket smidigare!
- Du kan byta till mappen
- Använd
cd
för att gå in i mappendeluppgift_1
.
Katalogstrukturen ska nu se ut så här:
.
└── terminal_uppgift_abcd1234
└── deluppgift_1
Tips: Du kan använda kommandot tree
, om du har det installerat, för att få
denna output när du står i mappen ovanför terminal_uppgift_abcd1234
Del 2: Skapa, kopiera och döp om en textfil
- Skapa filen
textfil.txt
med radenEn textfil
som enda innehåll.- Du kan exempelvis använda
nano
, men vilken editor som helst ska fungera för detta. - Du kan även dubbelkolla att den skapade textfilen blev rätt med kommandot
cat textfil.txt
. Terminalen ska då skriva ut raden du har skrivit och inget annat.
- Du kan exempelvis använda
- Kopiera mappen
deluppgift_1
till en ny mapp med namnetdeluppgift_2
. Denna ska ligga i mappen ovanför.- Du använder enklast
cd ..
för att gå ett steg upp i katalogstrukturen. - Flaggan
-r
används medcp
för att kopiera en mapp.
- Du använder enklast
- Gå in i mappen
deluppgift_2
. - Döp om
textfil.txt
, i denna mapp, tillhittad_rad.txt
- Detta gör du enklast med
mv
- Detta gör du enklast med
Katalogstrukturen ska nu se ut så här:
.
└── terminal_uppgift_abcd1234
├── deluppgift_1
│ └── textfil.txt
└── deluppgift_2
└── hittad_rad.txt
Del 3: Använda omdirigering
- Ladda ner filen
jobbig_textfil.txt
från denna länk. och lägg den i mappendeluppgift_2
- Du kan använda kommandot
curl
för att göra detta direkt i terminalen:curl -o <filnamn att spara till> <url-länk>
laddar ner filen i den angivna länken och sparar som det angivna filnamnet. - De flesta terminalemulatorer låter dig klistra in text med
<Ctrl>+<Shift>+V
,<Shift>+<Insert>
eller klick med musens mittenknapp.
- Du kan använda kommandot
- Använd pipes (
|
) ochgrep
för att få fram raden (eller raderna) som innehållerHitta mig
, givet kommandotcat jobbig_textfil.txt
- Använd
grep
med citattecken för att enkelt få med mellanslag. - Kom ihåg att se efter stora och små bokstäver.
- Använd
- Upprepa kommandot ovan, men addera fil-output för att lägga till (
>>
) raden ihittad_rad.txt
. - Använd
rm
för att raderajobbig_textfil.txt
.
cat hittad_rad.txt
ska nu visa något i stil med följande:
En textfil
Hitta mig! (denna text ska se annorlunda ut)
Del 4: Komprimera mappen med tar
- Byt katalog till den ovanför
terminal_uppgift_abcd1234
. - Använd
tar
för att komprimera katalogenterminal_uppgift_abcd1234
till filenabcd1234_terminal.tar.gz
, där du ersätterabcd1234
med användarnamnet för ditt studentkonto.- För att komprimera till gzip och skriva ut alla inkluderade filer och mappar använder du flaggorna
-cvzf
.
- För att komprimera till gzip och skriva ut alla inkluderade filer och mappar använder du flaggorna
Terminalen ska då visa, förutsatt användningen av flaggan -v
följande:
terminal_uppgift_abcd1234/
terminal_uppgift_abcd1234/deluppgift_1/
terminal_uppgift_abcd1234/deluppgift_1/textfil.txt
terminal_uppgift_abcd1234/deluppgift_2/
terminal_uppgift_abcd1234/deluppgift_2/hittad_rad.txt
Kontrollera vilka filer arkivet innehåller med hjälp av kommandot tar
och
flaggorna f
och t
, dvs skriv tar -tf abcd1234_terminal.tar.gz
i terminalen
och tryck enter.
Inlämning
Ladda upp tar-filen du skapade i uppgiften till Studentportalen.