DigiPinguïns: Bestandsbeheer op Linux

58

Transcript of DigiPinguïns: Bestandsbeheer op Linux

Page 1: DigiPinguïns: Bestandsbeheer op Linux
Page 2: DigiPinguïns: Bestandsbeheer op Linux

2

1. Terminal

Standaard-Toepassingen voor bestandsbeheer

Page 3: DigiPinguïns: Bestandsbeheer op Linux

3

2. GNU Midnight Commander

Page 4: DigiPinguïns: Bestandsbeheer op Linux

4

3. Krusader [KDE]

Afgeleid van midnight-commander

Page 5: DigiPinguïns: Bestandsbeheer op Linux

5

4. Dolphin [KDE]

https://www.kde.org/applications/system/dolphin/

Page 6: DigiPinguïns: Bestandsbeheer op Linux

6

5. Files (Nautilus) [Gnome]

https://wiki.gnome.org/Apps/Nautilus/

Page 7: DigiPinguïns: Bestandsbeheer op Linux

7

6. Nemo [Linux Mint Cinnamon]

Page 8: DigiPinguïns: Bestandsbeheer op Linux

8

7. Thunar [Xfce → Xubuntu]

http://docs.xfce.org/xfce/thunar/start

Page 9: DigiPinguïns: Bestandsbeheer op Linux

9

8. Caja [Mate (Gnome2)]

https://mate-desktop.org/

Page 10: DigiPinguïns: Bestandsbeheer op Linux

10

9. PCManFM [LXDE → Lubuntu]

https://wiki.lxde.org/en/PCManFM

Page 11: DigiPinguïns: Bestandsbeheer op Linux

11

Bestandsnamen

In linux zijn er weinig beperkingen op het geven van een naam aan een bestand

Er mogen geen / tekens in voorkomen Het /-teken is een aanduiding van een map

Er mag geen (\0) null-karakter in voorkomen Het \0-teken wordt gebruikt om het einde van een karakter-rij aan te duiden

Bestandsnaam mag geen . of .. zijn . wordt gebruikt om de huidige map aan te duiden .. wordt gebruikt om de hogerliggende map aan te duiden

Een bestandsnaam met een . als eerste teken, wordt als een “verborgen” bestand beschouwd. Het zijn veelal configuratie-bestanden die door applicaties aangemaakt worden.

Toon de verborgen bestanden in je gebruikelijke bestandsverkenner

Terminal : ls toon alle bestanden behalve de verborgen bestanden ls -a toon alle bestanden ls -a | grep “^\.” toon enkel de verborgen bestanden find . -name ".*" -print zoek alle verborgen bestanden

Page 12: DigiPinguïns: Bestandsbeheer op Linux

12

Een voorbeeld van geldige linux-bestandsnamen.

Opgelet met bestandsnamen die met een – beginnen! Zie de terminal-commando’s

Niet ls -a -a, maar ls -a “-a”

Een naam met slechts één of meerdere blanco’s is toegelaten, maar is vanzelfsprekend weinig gebruiksvriendelijk.

Page 13: DigiPinguïns: Bestandsbeheer op Linux

13

Wees vriendelijk met minder-valide beheerssystemen !

De POSIX-specificatie geeft volgende richtlijn voorhet probleemloos overdragen van bestandsnamen.

3.282 Portable Filename Character Set

The set of characters from which portable filenames are constructed.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Za b c d e f g h i j k l m n o p q r s t u v w x y z0 1 2 3 4 5 6 7 8 9 . _ -

The last three characters are the <period>, <underscore>, and <hyphen-minus> characters, respectively.

Note:

If you don't want to annoy your users, you should add two more restrictions: don't start the filename with a dash or a dot. Filenames starting with a dot are customarily interpreted as "hidden" files and are not displayed in directory listings unless explicitly requested. Applications should avoid using filenames that have the <hyphen-minus> character as the first character since this may cause problems when filenames are passed as command line arguments.

Bijkomende beperkingen voor Windows :

Windows-bestandsnamen zijn hoofdletter-ongevoelig.Bestandsnamen mogen niet eindigen met een punt .

Page 14: DigiPinguïns: Bestandsbeheer op Linux

14

Sommige bestandsbeheers-applicaties hernoemen automatisch de bestandsnamen naar geldige Windows-bestandsnamen, anders krijg je een fout bij het kopiëren naar een FAT-usb-geheugenstick.

Page 15: DigiPinguïns: Bestandsbeheer op Linux

15

Probleem bij het kopiëren van een bestandsnaam met “onzichtbare” karakters

De bestandsnaam bevat een “onzichtbaar” teken, namelijk een linefeed (0xa). Sommige bestandsverkenners tonen dan het Unicode-karakter in de statusbalk.

Page 16: DigiPinguïns: Bestandsbeheer op Linux

16

Bestands-extensies

De extensie bevindt zich op het einde van de naam. De extensie bestaat uit een punt gevolgd door meestal 3 letters

bv. EenTekstBestand.txtEenPdfBestand.pdf

In Linux dient de extensie vooral voor het gemak van de gebruiker. Sommige programma’s baseren zich op de extensie (bv. Compilers om het onderscheid tussen c-code .c en c++-code .cpp te maken), maar de linux-kernel maakt er geen gebruik van.

Linux voegt een magic number aan het bestand toe om de aard van het bestand te kunnen bepalen. (File signatures of bestands-handtekeningen)

https://en.wikipedia.org/wiki/List_of_file_signatures

https://en.wikipedia.org/wiki/Magic_number_(programming)

Page 17: DigiPinguïns: Bestandsbeheer op Linux

17

MIME-Types

MIME = Multi-purpose Internet Mail Extensions

Bij het overdragen van bestanden met e-mail, wordt niet op de extensie gerekend, maar wordt een mime-type meegegeven. In Linux zal het magic number bepalen welke mime-type zal overgedragen worden.

De mime-types die je systeem kent, vind je in /etc/mime.types

Page 18: DigiPinguïns: Bestandsbeheer op Linux

18

Terminal-commando’s

file : Toont het type file

file -i : Toont de mime-info

hd (hexadecimal dump). Indien er een magic number aanwezig is dan zijn dat de eerste 4 (of meer) bytes van het bestand.

Zuivere tekst-bestanden, zoals bv. .txt-files hebben geen magic number.

od (octal dump)

Page 19: DigiPinguïns: Bestandsbeheer op Linux

19

Bestandsstructuur

Map (bevat de bestanden of mappen)

Bestanden

Verwijzingen naar bestanden Symbolische links of snelkoppelingen naar bestanden of mappen

Koppelingen naar andere bestandssystemen Aangekoppelde bestandssystemen, bv. Gedeelde schijven van servers, archief-bestanden (gecomprimeerde bestanden zoals bv. Zip-bestanden), .iso-bestanden, usb-sticks, cd en dvd

Hardware of peripherie : beeldscherm, toetsenbord, muis, printer, scanner, ...

In Linux wordt alles als een bestand beschouwd.

Page 20: DigiPinguïns: Bestandsbeheer op Linux

20

Een bestandsstructuur wordt soms voorgesteld door eenboom-structuur. De wortel (root) is de basis van de boom.

Page 21: DigiPinguïns: Bestandsbeheer op Linux

21

Terminal

tree : weergave van de boomstructuur in de terminal Het commando tree is in de meeste distributies default niet geïnstalleerd sudo apt-get install tree

In de bestandsverkenner, kan je het zijpaneel configureren zodat de mappen in een boomstructuur weergegeven worden.

Page 22: DigiPinguïns: Bestandsbeheer op Linux

22

Symbolische links verzaken aan de boom-structuur

Page 23: DigiPinguïns: Bestandsbeheer op Linux

23

Symbolische links of koppelingen

ln -s doel-bestand naam_van_de_link

Page 24: DigiPinguïns: Bestandsbeheer op Linux

24

Aandachtspunten bij het aanmaken van symbolische links

Geef altijd het volledige pad op van het doelbestand Als je een relatief pad opgeeft, dan wordt het relatieve pad genomen! (Leidt to problemen als je de link benadert vanuit een andere folder)

ln zonder de -s optie, maakt een harde link aan

Page 25: DigiPinguïns: Bestandsbeheer op Linux

25

Het verschil tussen een harde en een symbolische koppeling.

Page 26: DigiPinguïns: Bestandsbeheer op Linux

26

Het Linux-bestandssysteem

Page 27: DigiPinguïns: Bestandsbeheer op Linux

27

Bladeren/navigeren in het bestandssysteem

Gebruik de bestandsverkennerofwel de terminalofwel een combinatie van beiden.

cd . Trappel ter plaatse! cd .. Ga naar bovenliggende mapcd / Ga naar de root-mapcd naam van de map (relatief pad)cd /xx/yy/zz (absoluut pad)cd ~ of cd $HOME Ga naar je thuis-map

Typ slechts de eerste letters, dan tab-toets

Page 28: DigiPinguïns: Bestandsbeheer op Linux

28

Je kan zelfs met je internet-browser door de bestanden bladeren.

Page 29: DigiPinguïns: Bestandsbeheer op Linux

29

Bladeren in de Linux systeembestanden

Page 30: DigiPinguïns: Bestandsbeheer op Linux

30

/proc : De kernel in werking

/proc/version : Versie van de linux-kernel

/proc/cmdline : Opties waarmee de kernel opgestart werd

/proc/cpuinfo : Processor-info (type cpu, …)

/proc/partitions : Toegekende bloknummers aan de partities

/proc/mounts : Gekoppelde bestandssystemen

/proc/meminfo : Overzicht van het ram-gebruik

/proc/net/ : Overzicht van de netwerking

/proc file system is a mechanism provided, so that kernel can send information to processes. This is an interface provided to the user, to interact with the kernel and get the required information about processes running on the system. Please don't forget the fact that, the /proc file system also allows you to change some parameters on the fly (on current running system with immediate effect.)

Informatie te vinden in de terminal man proc of op het internet.

Page 31: DigiPinguïns: Bestandsbeheer op Linux

31

Het bekijken van bestanden (bv. /proc-bestanden)

Gebruik cat, more, less, head, tail, watch

$ cat /proc/cpuinfo

$ cat /proc/cpuinfo > MijnCpuInfo.txt

$ cat /proc/cpuinfo | more

$ watch cat /proc/meminfo

Page 32: DigiPinguïns: Bestandsbeheer op Linux

32

/etc : Configuratie-bestanden

cat /etc/os-release Welke distributie wordt gebruikt ?

/etc/fstab Mount-tabel (welke schijven worden automatisch bij het opstarten aangekoppeld?)

/etc/passwd De paswoorden

/etc/profile Algemene instellingen van de bash-shell (wordt uitgevoerd voor je eigen .profile)

/etc/group Gedefinieerde groepen

/etc/crontab Configuratie van shell-scripts die om de zoveel tijd uitgevoerd worden

/etc/hosts Hostnamen (ip-addressen)

Page 33: DigiPinguïns: Bestandsbeheer op Linux

33

Bestandsrechten : rwxrwxrwx

Wie mag wat lezen, schrijven of uitvoeren?

De meeste bestandsverkenners kunnen de rechten laten zien onder de pictogrammen.

Wijzig hiervoor de configuratie van de pictogrambijschriften (Zie voorkeuren).

Page 34: DigiPinguïns: Bestandsbeheer op Linux

34

$ touch Bestand1$ echo "Ik ben bestand2" > Bestand2

$ ls -al B*-rw-r--r-- 1 bernard bernard 0 feb 23 19:16 Bestand1-rw-r--r-- 1 bernard bernard 16 feb 23 19:17 Bestand2

$ chmod a-r Bestand1 ← Niemand mag het Bestand1 nog lezen !

$ ls -al B*--w------- 1 bernard bernard 0 feb 23 19:16 Bestand1-rw-r--r-- 1 bernard bernard 16 feb 23 19:17 Bestand2

$ cat Bestand1cat: Bestand1: Toegang geweigerd ← Dat komt ervan. Ik mag het niet lezen!

$ chmod a-w Bestand1 ← Niemand mag het Bestand1 nog wijzigen !

$ echo "toevoegen aan Bestand1" >> Bestand1bash: Bestand1: Toegang geweigerd

$ rm Bestand1 ← Helaas kan het Bestand1 nog verwijderd worden ! rm: leeg normaal bestand 'Bestand1' (schrijfbeveiligd) verwijderen? N

$ chmod a-rwx *$ ls -al B*---------- 1 bernard bernard 0 feb 23 19:16 Bestand1 ---------- 1 bernard bernard 16 feb 23 19:17 Bestand2

Page 35: DigiPinguïns: Bestandsbeheer op Linux

35

$ cd ..$ chmod u-x WeTestenHetUit/ ← Dat doen we beter niet!

$ cd WeTestenHetUit/bash: cd: WeTestenHetUit/: Toegang geweigerd

$ ls -al WeTestenHetUit/ls: kan geen toegang krijgen tot 'WeTestenHetUit/Bestand2': Toegang geweigerdls: kan geen toegang krijgen tot 'WeTestenHetUit/Bestand1': Toegang geweigerdls: kan geen toegang krijgen tot 'WeTestenHetUit/.': Toegang geweigerdls: kan geen toegang krijgen tot 'WeTestenHetUit/..': Toegang geweigerdtotaal 0d????????? ? ? ? ? ? .d????????? ? ? ? ? ? ..-????????? ? ? ? ? ? Bestand1-????????? ? ? ? ? ? Bestand2

$ chmod u+x WeTestenHetUit/ ← Altijd de x-rechten op een map houden!$ ls -al WeTestenHetUit/totaal 12drwxr-xr-x 2 bernard bernard 4096 feb 23 19:17 .drwxr-xr-x 6 bernard bernard 4096 feb 23 19:08 ..---------- 1 bernard bernard 0 feb 23 19:16 Bestand1---------- 1 bernard bernard 16 feb 23 19:17 Bestand2

$ chmod -R u+rw WeTestenHetUit ← Mijn rechten herstellen op alles binnen die map$ ls -al WeTestenHetUit/ (Lees op volgende slide de waarschuwing bij chmod -R)totaal 12drwx--x--x 2 bernard bernard 4096 feb 23 19:17 .drwxr-xr-x 6 bernard bernard 4096 feb 23 19:08 ..-rw------- 1 bernard bernard 0 feb 23 19:16 Bestand1-rw------- 1 bernard bernard 16 feb 23 19:17 Bestand2

Page 36: DigiPinguïns: Bestandsbeheer op Linux

36

Waarschuwing bij chmod -R

https://help.ubuntu.com/community/FilePermissions

Warning with Recursive chmod

WARNING: Although it's been said, it's worth mentioning in context of a gotcha typo.

Please note, Recursively deleting or chown-ing files are extremely dangerous.

You will not be the first, nor the last, person to add one too many spaces into the command.

This example will hose your system:

user@host:/home/user$ sudo chmod -R / home/john/Desktop/tempfilesNote the space between the first / and home.

You have been warned.

Je bent bij dezer verwittigd!

Idem dito met sudo rm -rf / home/bernard/TeWissenMap

(Het gebruik van sudo is bovendien niet nodig voor het wissenvan bestanden waarvan je eigenaar bent)

Page 37: DigiPinguïns: Bestandsbeheer op Linux

37

The Sticky-bit

$ cd /$ ls -altotaal 120drwxr-xr-x 23 root root 4096 jan 21 09:17 .drwxr-xr-x 23 root root 4096 jan 21 09:17 ..drwxr-xr-x 2 root root 4096 feb 23 17:55 bindrwxr-xr-x 3 root root 4096 feb 24 19:00 boot–--------------------drwxr-xr-x 2 root root 4096 jun 28 2016 srvdr-xr-xr-x 13 root root 0 feb 25 08:59 sysdrwxrwxrwt 17 root root 20480 feb 25 09:17 tmp ← Wat betekent de t bij de bestandsrechten?drwxr-xr-x 10 root root 4096 jun 28 2016 usrdrwxr-xr-x 11 root root 4096 jun 28 2016 varlrwxrwxrwx 1 root root 29 jan 21 09:17 vmlinuz -> boot/vmlinuz-4.8.0-34-genericlrwxrwxrwx 1 root root 29 dec 21 18:53 vmlinuz.old -> boot/vmlinuz-4.4.0-53-generic

De sticky-bit of de "restricted deletion bit" verhindert dat niet-eigenaars van een bestand of een map bestanden of mappen kunnen wissen.

In de /tmp-map worden tijdelijke bestanden van alle gebruikers geplaatst. Zonder deze bitkunnen andere gebruikers bestanden van anderen wissen.

Page 38: DigiPinguïns: Bestandsbeheer op Linux

38

$ ls -ld We*drwx--x--x 2 bernard bernard 4096 feb 23 19:17 WeTestenHetUit

$ chmod +t We*$ ls -ld WeTestenHetUit/drwx--x--t 2 bernard bernard 4096 feb 23 19:17 WeTestenHetUit/

$ chmod o-x WeTestenHetUit/$ ls -ld WeTestenHetUit/drwx--x--T 2 bernard bernard 4096 feb 23 19:17 WeTestenHetUit/

T ipv t duidt aan dat anderen geen uitvoeringsrechten hebben

Page 39: DigiPinguïns: Bestandsbeheer op Linux

39

Setuid en Setgid – rechten

Hoe komt het dat een gebruiker zonder administratierechtenzijn wachtwoord kan wijzigen?

$ ls -al /etc/passwd /etc/shadow-rw-r--r-- 1 root root 2375 nov 4 19:34 /etc/passwd-rw-r----- 1 root shadow 1498 nov 4 19:34 /etc/shadow

Om bovenstaande bestanden te kunnen wijzigen zijn toch administratie-rechten nodig?

Het commando om het paswoord te wijzigen heeft een eigenaardig attribuut ...

$ ls -al /usr/bin/passwd -rwsr-xr-x 1 root root 54256 mrt 29 2016 /usr/bin/passwd

Wanneer de s-bit gezet is, dan zal het proces dat bedoeld commando uitvoert,de rechten krijgen van de eigenaar van dat bestand (in het geval van /usr/bin/passwd dus adminstrator rechten).

Als s-bit bij de groep staat, dan krijgt het process naar de rechten van die groep.

We gaan niet dieper op deze materie in (Ook niet op ACL Access Control Lists. Het leidt ons te ver van de doelstelling van de presentatie af).

Page 40: DigiPinguïns: Bestandsbeheer op Linux

40

Eigenaar van een bestand wijzigen

Bestandsverkenner : Selecteer de optie “Openen als beheerder”. Onder de rubriek rechten kan je de eigenaar en de groep wijzigen.

Terminal :

$ useradd -r digipinguin ← We maken een gebruiker aan die niet zal kunnen inloggen.useradd: Permission denied. ← Logisch (sudo verwacht)useradd: cannot lock /etc/passwd; try again later. ← Hier worden de gebruikers opgeslagen

$ sudo useradd -r digipinguin[sudo] wachtwoord voor bernard:

$ cat /etc/passwdroot:x:0:0:root:/root:/bin/bash ----------bernard:x:1000:1000:Bernard Decock,,,:/home/bernard:/bin/bashdigipinguin:x:999:999::/home/digipinguin:

$ sudo chown digipinguin Bestand1.txt

$ ls -al Bestand1.txt-rw-r--r-- 1 digipinguin bernard 26 feb 26 10:16 Bestand1.txt

Page 41: DigiPinguïns: Bestandsbeheer op Linux

41

$ touch Bestandje$ ln -s Bestandje LinkNaarBestandje$ sudo chown digipinguin LinkNaarBestandje

$ ls -al Bestandje LinkNaarBestandje -rw-r--r-- 1 digipinguin bernard 0 feb 27 19:21 Bestandjelrwxrwxrwx 1 bernard bernard 9 feb 27 19:23 LinkNaarBestandje -> Bestandje

De link is niet van eigenaar gewijzigd, wel het bestand zelf!

$ sudo chown bernard Bestandje ← Ik wil graag mijn bestand terug

$ sudo chown -h digipinguin LinkNaarBestandje $ ls -al Bestandje LinkNaarBestandje -rw-r--r-- 1 bernard bernard 0 feb 27 19:21 Bestandjelrwxrwxrwx 1 digipinguin bernard 9 feb 27 19:23 LinkNaarBestandje -> Bestandje

De recursive-optie bestaat ook voor chown, chgrp

-R, --recursive operate on files and directories recursively

Page 42: DigiPinguïns: Bestandsbeheer op Linux

42

Een gebruiker aan een groep toevoegen

Bij het gebruik van een virtuele machine is het soms nodig jezelf aan de groep vboxsf toe te voegen.

On bepaalde gebruikers uit te sluiten van het gebruik van peripherie (scanner, printer, usb-sticks lezen, dvd branden, enz… zou men kunnen denken om die gebruikers uit de desbetreffende groep te halen ( bv. Plugdev, scanner, …). Blijkbaar werkt dit niet altijd. Opzoeken op het internet !

Page 43: DigiPinguïns: Bestandsbeheer op Linux

43

Selecteren van bestanden (bestandsverkenner)

Linkermuisknop ingedrukt houden (alle bestanden worden geselecteerd binnen de rechthoek)

Ctrl indrukken en met de linkermuisknop bestanden aan-/af-klikken

Bestand selecteren, vervolgens met muis naar een ander bestand bewegen, dan shift-toets indrukken en linkermuisknop indrukken (alle bestanden tussen het eerste en het laatste worden geselecteerd)

Sneltoets : Ctrl-a : alle bestanden worden geselecteerd

Page 44: DigiPinguïns: Bestandsbeheer op Linux

44

Bestanden kopiëren (Bestandsverkenner)

Sneltoetsen Ctrl C en Ctrl v

Rechtermuisknop (kopiëren/plakken)

“Slepen” van bestanden met de muis : Indien men bestanden versleept binnen in een bestandssysteem, dan worden ze verplaatst. Indien ze versleept worden buiten het bestandssysteem (bv. Naar een usb-staafje) dan worden ze gekopieerd

=> Om bestanden te kopiëren door middel van slepen met de muis : Hou de ctrl-toets ingedrukt! Van zodra men begint te slepen zal de muisaanwijzer veranderen om aan te geven dat gekopieerd wordt.

=> Indien een bestand of een map in een gewone tekst-verwerker(zoals bv. Gedit, Geany, Atom, … ) gekopieerd wordt, dan wordtenkel het absolute pad ingevoegd. (Kan handig zijn bij hetmaken van scripts).

Om hetzelfde effect in LibreOffice te komen, gebruik dan“plakken speciaal”.

Page 45: DigiPinguïns: Bestandsbeheer op Linux

45

Bestanden kopiëren (Terminal)

$ { echo "Bestand - 3" ; cat Bestand1.txt; } > Bestand3.txt$ cat Bestand3.txt Bestand - 3Yeps, ik ben Bestand1.txt

$ cp Bestand3.txt Bestand4.txt

$ tree -d ././├── Map1└── Map2

$ cp * Map1cp: map 'Map1' wordt overgeslagen ← Er worden geen mappen gekopieerd !cp: map 'Map2' wordt overgeslagen

$ cp -r Map1 Map2$ tree -d ././├── Map1└── Map2 └── Map1 ← Dit wilden we eigenlijk niet

$ cp Map1/* Map2 ← Zal geen onderliggende mappen kopiëren

$ cp Map1/* Map2cp: map 'Map1/SubMap2' wordt overgeslagen

$ cp -r Map1/* Map2

Page 46: DigiPinguïns: Bestandsbeheer op Linux

46

$ tree -d ././├── Map1│ └── SubMap2└── Map2 └── SubMap2

$ cp -r ./ Map2/Map3cp: kan map './' niet kopiëren naar binnen zichzelf ('Map2/Map3')

$ tree -d ././├── Map1│ └── SubMap2└── Map2 ├── Map3 │ ├── Map1 │ │ └── SubMap2 │ └── Map2 │ └── SubMap2 └── SubMap2

9 directories

$ cp Bestand[1-4].txt Map1

Page 47: DigiPinguïns: Bestandsbeheer op Linux

47

Bestanden kopiëren naar een USB-staafje (Terminal)

De hamvraag is “Waar is mijn usb-schijf aangekoppeld?”

Open de bestands-verkenner en kopieer het aankoppelpunt

Open het programma schijven en kopieer het aankoppelpunt

Terminal : voer het commando lsblk uit

$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsdc 8:32 1 7,3G 0 disk └─sdc1 8:33 1 7,3G 0 part /media/bernard/8d3c6f30-5118-455e-a023-36f77951sda 8:0 0 232,9G 0 disk ├─sda2 8:2 0 1K 0 part ├─sda5 8:5 0 7,9G 0 part [SWAP]└─sda1 8:1 0 225G 0 part /

$ cp BestandsBeheer.odp /media/bernard/8d3c6f30-5118-455e-a023-36f77951a153/Bestandsbeheer.odt

Page 48: DigiPinguïns: Bestandsbeheer op Linux

48

Bestanden hernoemen

Bestandsverkenner : Rechtermuisknop →Hernoemen

Terminal : Commando mv (move)

$ mv Bestand1 bstnd1 ← Hernoemen van Bestand1 in bstnd1

$ tree -d.├── Map1├── Map2└── Map3

$ mv bstnd1 Map1 ← bstnd1 verplaatsen naar Map1

Er bestaat ook het commando rename (werkt met reguliere expressies)

Page 49: DigiPinguïns: Bestandsbeheer op Linux

49

Massaal Bestanden hernoemen (pyRenamer)

Page 50: DigiPinguïns: Bestandsbeheer op Linux

50

Bestanden kopiëren naar een archief (.zip, ...)

In het bestandsbeheer-programma

● Selecteer de gewenste bestanden

● Rechtermuisknop : Comprimeren

● Archief openen → Rechtermuisknop : Openen met archiefbeheer

Je kan de bestanden heen- en weer slepen tussen het archief en je eigen bestandsstructuur

● Ofwel archief aankoppelen → Rechtermuisknop : Archiefbestand aankoppelen

● Ofwel het archief kopiëren naar je schijf → Rechtermuisknop : Hier uitpakken

Page 51: DigiPinguïns: Bestandsbeheer op Linux

51

Page 52: DigiPinguïns: Bestandsbeheer op Linux

52

Bestanden verwijderen

Met de bestandsverkenner kan je bestanden op 2 manieren verwijderen,ofwel ze verplaatsen naar de prullenbakofwel ze onmiddellijk verwijderen.

Terminal : rm (remove)

$ rm Bestand1.txtrm: normaal bestand 'Bestand1.txt' (schrijfbeveiligd) verwijderen? Y

$ rm -i Bestand4.txt ← Interactief werken (bevestiging vragen)rm: normaal bestand 'Bestand4.txt' verwijderen? Y

$ rm -rf ./Map3 ← alles van Map3 en bijbehorende mappen$ rm -rfi ./Map3 ← Als je twijfelt! (onderbreken met Ctrl-C

Opmerking : Op een schijf worden bestanden niet onmiddellijk verwijderd! Enkel de referentie naar het bestand wordt verwijderd.

Definitief verwijderen doe je best met shred, scrub, wipe (zie internet).Aan te raden als je een computer van de hand doet.

Page 53: DigiPinguïns: Bestandsbeheer op Linux

53

Bestanden zoeken (Bestandsverkenner)

De meeste verkenners hebben een elementaire zoekfunctie. Bij Nemo is dat vrijondermaats, PCMANFM (Lubuntu) heeft een vrij behoorlijke zoekfunctionaliteit (Zie hieronder).

Page 54: DigiPinguïns: Bestandsbeheer op Linux

54

Bestanden zoeken (Andere programma’s)

Veel programma’s die onder andere het beheer van foto’s, afbeeldingen, muziek-bestanden en video’s regelen hebben hun eigen doelgerichte zoekfunctionaliteit. Sommige editors hebben ook zoekfuncties, bv. Geany (zie onder)

Page 55: DigiPinguïns: Bestandsbeheer op Linux

55

Bestanden zoeken (Terminal)

$ find . -name '*Paz*' ← Zoek bestanden met de naam Paz in./Octavio Paz - Viento.odt./Octavio Paz - Raíz del hombre.odt./Octavio Paz - Certeza.odt./Octavio Paz - Retórica.odt./Octavio Paz - Creció en mi frente un árbol.odt

$ find ~ -mtime -3 ← Zoek alle bestanden die de laatste 3 dagen gewijzigd werden

$ find . -iname 'best*' -exec cp '{}' ./Map3 \;

Zoek alle bestanden die beginnen met best. De gevonden bestanden worden dan naar de copy-functie gestuurd, die ze zal kopiëren in bedoelde map

Let goed op de gebruikte tekens ! De zoeknaam dient tussen ‘ ‘ te staan

De output van de zoekfunctie komt in ‘{}’ terecht

De instructie dient te eindingen met \; (Eigenlijk met ; maar omdat ; een speciaal teken is, dient het gedereferenced te worden)

Page 56: DigiPinguïns: Bestandsbeheer op Linux

56

$ tree -d.├── Map1├── Map2└── Map3

$ find . -type d -iname 'Map*' ← Zoek alle mappen met de naam Map…../Map3./Map1./Map2

$ find -perm -g+w,o+w ← Zoek alle bestanden waar zowel de groep, als anderen mogen in wijzigen

$ find . -cmin -15 ← Zoek alle bestanden die de laatste 15 min gewijzigd zijn geworden.

. ← Logisch!

./Ángel González - Cumpleaños de amor.odt

Page 57: DigiPinguïns: Bestandsbeheer op Linux

57

$ whereis firefoxfirefox: /usr/bin/firefox /usr/lib/firefox /etc/firefox /usr/share/man/man1/firefox.1.gz

$ whatis firefoxfirefox (1) - a free and open source web browser from Mozilla

$ whatis -r '^fin'find (1) - search for files in a directory hierarchyfindfs (8) - find a filesystem by label or UUIDfindmnt (8) - find a filesystem

$ which ls cat find/bin/ls/bin/cat/usr/bin/find

Uitvoerbare programma’s zoeken

$ whatis linuxLinux is een vrij en zeer goed beheerssysteem dat deel uitmaakt van onze commons.

Page 58: DigiPinguïns: Bestandsbeheer op Linux

58

$ cat > WeDoenHetInEenBestand.txtde eerste lijnEnz… ← Ctrl d$ cat WeDoenHetInEenBestand.txt de eerste lijnenz...