Linux kommandon för filer

Mål

Med hjälp av detta materialet ska ni kunna känna till olika vanliga kommandon man kan använda i linux-terminalen för att hantera filer och få ut systeminformation.

Kommandon för filer

ls

ls står för list och skriver ut vilka filer och mappar som finns i mappen där du står. Vill du se vilka filer som finns i en annan mapp kan du skriva

ls *annan_mapp*

pwd

pwd står för print working directory och skriver ut var för någonstans i filsystemet du står just nu

cd

Står för change directory och byter mapp som du står i.

cd *mapp_som_du_vill_byta_till*

Tips: om du inte orkar skriva ut hela mappen så kan du skriva de först bokstäverna och sen trycka på tab-tangenten så hittar terminalen de som liknar, tryck fler gånger på tabb för att byta Linux är känslig mot små och stora bokstäver

cd har vissa inbyggda genvägar som kan hjälpa till:

cd ~ = tar dig till din hemmapp
cd - = tar dig till den förra mappen du var i
cd .. = tar dig till mappen *"ett steg upp"*

cd kan byta mapp fler gånger ner i trädet. Till exempel:

cd mapp/undermapp/underundermapp/

mkdir

Står för MaKe DIRectory och skapar en mapp

mkdir ny_mapp

rmdir

Står för ReMove DIRectory och tar bort en tom mapp

rmdir ny_mapp

Om du behöver ta bort en mapp som inte är tom, behöver du köra rm

touch

touch rör en fil och kan användas för att skapa en tom fil, eller för att uppdatera tiden som filen har ändrats.

touch ny_fil

rm

Står för ReMove och tar bort filer eller mappar.

rm ny_fil

Tips: om du vill ta bort alla filer som har filändelsen .txt (textfiler) så kan du använda ett wildcard.

rm *.txt

Om du vill ta bort en mapp behöver du köra rm med växeln -r som står för Recursive. Detta tar bort en mapp med alla filer och undermappar i.

rm -r mapp

Tänk på att när du använder rm så hamnar inte filerna i någon papperskorg, utan borttagandet är oåterkalleligt. Om du är osäker kan du använda

rm -i

då kommer kommandot fråga dig om du är säker på att du vill ta bort varje fil.

cp

Står för “CoPy” och kopierar filer eller mappar. Exempel:

cp fil kopierad_fil

kopierar filen fil till kopierad_fil. kopierad_fil kan man lägga i en annan mapp. Exempel

cp fil annan_mapp/kopierad_fil

Vill du kopiera en mapp med allt dess innehåll måste du lägga till flaggan -r, som också står för Recursive. Exempel:

cp -r mapp_med_filer kopierad_mapp_med_filer

mv

Står för MoVe och flyttar en mapp eller fil. Används för att byta namn på filer. Exempel:

mv fil fil_med_nytt_namn

Detta byter namn på fil, alltså flyttar den, till det nya namnet fil_med_nytt_namn. Du kan såklart också flytta filen till en annan mapp.

mv fil annan_mapp/fil_med_nytt_namn

För att flytta filen “uppåt” i filsystemet:

mv fil ../fil_med_nytt_namn

Övning

Nu ska du testa dina kunskaper och arbeta med en filstruktur. Strukturen ska likna en struktur man använder när man jobbar med hemsidor, där vi har olika mappar för statiskt innehåll som html, css och bilder. En annan mapp för dynamiskt innehåll som js filer. En annan mapp där vi lägger sådant som har med konfiguration av servern att göra.

  • [] navigera till din hemmapp med hjälp av cd

  • [] skapa en mapp som heter hemsida

  • [] gå in i mappen du har skapat

  • [] här ska vi nu skapa vår struktur. Börja med att skapa en mapp som heter public

  • [] gå in i mappen du har skapat

  • [] nu ska du skapa lite mappar för att strukturera hemsidan, skapa

     - css
     - html
     - images
     - js
    
  • [] i css-mappen, skapa två mappar

     - fonts
     - styles
    
  • [] ladda ner några bilder och lägg i hemmappen, ladda ner bilder kan du göra med din webbläsare, sen får du flytta bilderna till images mappen som du har skapat, använd mv eller cp beroende på om du vill flytta eller kopiera bilderna.

  • [] Om du kör kommandot tree i terminalen när du står i mappen hemsida bör den printa ut något som liknar:

├── css
│   ├── fonts
│   └── styles
├── html
├── images
│   ├── bild1.jpg
│   └── bild.jpg
└── js

som är din mappstruktur.

==Finns inte programmet tree så får du installera det==

sudo apt install tree -y

Resultat

Nu har du skapat en mapp struktur med hjälp av terminalen i linux. Nu ska vi testa att manipulera det vi har gjort.

Vi döpte vår mapp till hemsida, nu ska vi döpa om mappen till kagg-hemsida.

  • [] med hjälp av cd, ändra så att du står i samma mapp som din mapp hemsida ligger. Med andra ord, kör du ls så bör din mapp hemsida synas.
  • [] det vi har skapat är egentligen en hemsida-mall, så vi döper om mappen hemsida till hemsida_mall, med hjälp av kommandot mv
  • [] Nu ska vi skapa en ny hemsida så vi kopierar hemsida_mall till en ny mapp som vi kallar hemsida_kagg, med hjälp av kommadot cp

Nu har vi en färdig struktur för en hemsida som vi kan jobba med.

Extrauppgifter

Gör ett bash skript för att skapa den här strukturen. Detta gör man genom att man skapar en fil där man skriver in alla kommandon som ni har använt och skriptet kommer köra dessa kommandon i tur och ordning uppifrån och ner.

Packa ihop er mapp med hjälp av terminalen och skapa en komprimerad fil. Här finns det olika vägar att ta:

tar + gzip - Det vanligaste programmet i linux-världen är tar
zip - Använder samma algoritm för komprimering som .zip filer i windows
7zip - relativt nytt program för komprimering.

Ta själva reda på hur programmen fungerar och välj ett. man kommandot i linux kan ge er hjälp kring hur de fungerar.