Hantering av filer och kataloger

På den här sidan ser vi på kommandon med vilka man hanterar filer och kataloger:

  • Bläddra bland filer och kataloger, kopiera dem, flytta dem och radera dem
  • Överför information mellan olika Unix-system
  • Komprimera och extrahera filer
  • Skriv ut filer

Kommandon för filer och kataloger

Med Unix hanteras filer oftast via kommandon som skrivs in på kommandoraden. Därför är det mycket viktigt att man behärskar grunderna i hur sådana kommandon används. Om du är osäker på hur något kommando fungerar ska du alltid kontrollera det med hjälp av kommandot man.

ls
Kommandot visar innehållet i en katalog (ls, list).

Visa innehållet i en katalog och använd väljaren “-al” som visar mera omfattande information:
 % ls -al

total 32
drwx—— 2 rkeskiva 8192 Aug 9 09:43 ./
drwx–x–x 11
rkeskiva 8192 Aug 14 13:54 ../
-rw——- 1
rkeskiva 3422 Aug 9 09:44 Thesis.rtf
-rw——- 1
rkeskiva 721 Aug 9 09:44 thesis.rtf

cat
Med detta kommando kan man bl.a. skriva ut (cat, concatenate) innehållet i en fil (t.ex. en text) på skärmen.

Skriv ut innehållet i filen my_dear_alisa.txt på skärmen:
 % cat my_dear_alisa.txt

Hi Alisa,

I wanted to write this letter so that you’d know
about my summer plans. I will be going to Cayman
Islands and I’d like you to join me. I think it
would be awesome to spend some time together

 

less
Med detta kommando skriver man ut en ruta åt gången av innehållet i en fil på skärmen (behändigt om filen är mycket lång). Man kan också använda kommandot more på samma sätt.

Visa en ruta åt gången av innehållet i filen my_dear_alisa_edited.txt:
 % less my_dear_alisa_edited.txt

cd
Med detta kommando kan man navigera från en katalog till en annan (cd, change directory).

Öppna katalogen /tmp/alisaphotos (tecknet / efter kommandot visar att tmp-katalogen finns i roten och katalogen alisaphotos inom tmp-katalogen):

 % cd /tmp/alisaphotos

Då du har öppnat katalogen alisaphotos på ovanstående vis får du se att katalogen har en underkatalog som heter originalphotos. Du kan öppna underkatalogen direkt, utan att använda tecknet /:

 % cd originalphotos

cp
Det här kommandot låter dig kopiera filer från ett ställe till ett annat (cp, copy).

Kopiera bilden som heter ragnar_alisa_original.jpg från sin ursprungliga katalog till underkatalogen /tmp/ragge:
 % cp ragnar_alisa_original.jpg /tmp/ragge

mkdir
Med detta kommando skapar man nya kataloger (mkdir, make directory).

Skapa en katalog vid namn alisaphotos i användaren rkeskivas hemkatalog:
 % mkdir /home/rkeskiva/alisaphotos

mv
Flytta filer från ett lagringsställe till ett annat (mv, move). Man kan också namnge filer på nytt med det här kommandot.

Flytta filen ragnar_alisa_original.jpg från katalogen /tmp/ragge till katalogen  /home/rkeskiva/alisa:
 % mv /tmp/ragge/ragnar_alisa_original.jpg /home/rkeskiva/alisa

rm
Radera filer med detta kommando.

Radera filen vid namn cookbook_oldversion.txt:
 % rm cookbook_oldversion.txt 

rmdir
Radera kataloger med detta kommando.

Radera katalogen ragge från tmp-katalogen:
 % rmdir /tmp/ragge

pwd
Detta kommando skriver ut namnet på katalogen du har öppen för tillfället på skärmen (pwd, print working directory).

 % pwd

/home/rkeskiva/backup


zip
Med det här kommandot kan man komprimera kataloger eller filer. Först anger man namnet man vill ge den komprimerade filen, sedan namnet på filen eller katalogen som man vill komprimera.

Komprimera katalogen alisaphotos till en fil som heter alisaphotos.zip. Observera attributet “-r” som gör att komprimeringskommandot går igenom katalogen alisaphotos rekursivt, d.v.s. tar med underkataloger i katalogen, om det finns några:
 % zip alisaphotos.zip -r /home/rkeskiva/alisaphotos/

adding: /home/rkeskiva/backup/ (stored 0%)
adding:
/home/rkeskiva/backup/thesis.rtf (deflated 91%)
adding: /home/rkeskiva/backup/Thesis.rtf (deflated 98%)


unzip
Med detta kommando extraherar man komprimerade filer. Man anger namnet på filen som skall extraheras, och den återställs till sin ursprungliga storlek.

Extrahera filen cookbooks.zip. Observera att filerna inte lagras i originalkatalogen, utan unzip-programmet skapar ett katalogsystem vid namn “home/rkeskiva/backup” i den katalog som är öppen då du extraherar filerna:
 % unzip cookbook.zip

Archive: koe.zip
creating:
home/rkeskiva/backup/
inflating:
home/rkeskiva/backup/thesis.rtf
inflating:
home/rkeskiva/osalo/backup/Thesis.rt


Med Unix använder man ofta såkallade tar-paket. Liksom zip-paket kan de innehålla flera filer och kataloger. Du kan läsa mera om hur man använder kommandot genom att ge kommandot “man tar”.

grep
Med detta kommando kan man söka efter en viss teckensträng. Man använder ofta kommandot med |-tecknet (lodstreck, pipe). Då ger programmet utskriften som inmatning till följande program.

Sök efter ordet “bouillabaisse” i filen cookbook.txt. Kommandot grep ger då endast de rader där ordet “bouillabaisse” ingår som utskrift (i exemplet fanns det 1 sådan rad):
 % cat cookbook.txt | grep Bouillabaisse

Bouillabaisse – the Best Bouillabaisse-recipe ever!


Överför filer mellan olika Unix-system

Med kommandona sftp och scp kan man kopiera filer över en enkrypterad anslutning mellan olika Unix-system.

sftp
Det här kommandot möjliggör en direkt filöverföringsanslutning mellan två servrar. Då man använder det här kommandot bildas en krypterad anslutning till önskad server. Observera att man inte kan ansluta till HU:s Unix-system över okrypterade FTP-program alls, utan man måste alltid bilda en krypterad FTP-anslutning.

Bilda en filöverföringsanslutning till servern klaava med ett ftp-program:
 % sftp klaava

rkeskiva@klaava’s password:


Om man använder kommandot ovan, bildas anslutningen från en Unix-server till en annan. Man kan också överföra filer mellan olika operativsystem: läs mera om hur man överför filer mellan Windows och unix med programmet WinSCP.

scp
Med det här kommandot kan man kopiera filer till en annan server på samma sätt som med sftp-programmet.

Kopiera filen alisa.txt till katalogen love i användaren rkeskivas hemkatalog på servern sirppi:
 % scp alisa.txt rkeskiva@sirppi:love/

rkeskiva@sirppi’s password:
alisa.txt | 203B | 203B/s | TOC: 00:00:01 | 100%

Kopiera filen tiramisu.txt från katalogen recipes i användaren rkeskivas hemkatalog på servern sirppi till den katalog som är öppen för tillfället (den öppna katalogen anges i kommandot med en punkt):
 % scp rkeskiva@sirppi:recipes/tiramisu.txt .

rkeskiva@sirppi’s password:
tiramisu.txt | 3.3kB | 3.3kB/s | TOC: 00:00:01 | 100%


Kommandon för utskrivning

Man kan skriva ut filer på många olika sätt med hjälp av kommandoraden i Unix. Följande kommandon utför de vanligaste funktionerna i samband med utskrivning av filer:

lpr
Skriv ut en fil.

lpq
Visa utskriftskön.

lprm
Ta bort din utskrift från utskriftskön.

mpage
Utskriftsprogram för text- och bl.a. postscript- eller ps-filer. Med olika attribut kan man bestämma t.ex. på hur många pappersark man vill skriva ut filen. Läs mera om hur man använder det här kommandot genom att ge kommandot “man mpage”.

Läs mera om Unix-kommandon: http://www.cs.helsinki.fi/u/jzhaavis/tyovaline/unix.html