Tips en Trucs 2019

Bestandssystemen herkennen

Alles in Linux wordt als een bestand behandeld en voorgesteld. Teksten, afbeeldingen, programma's, mappen, partities, hardware, enz. worden allemaal als bestanden in het bestandssysteem weergegeven.

Elk bestandssysteem bestaat uit twee onderdelen. Een onderdeel bevat informatie over het bestandssysteem en een ander onderdeel bevat informatie die behoord bij de bestanden en mappen (bestandsnaam, -type, rechten, gebruiker, groep, grootte, tijdstempels, enz.).

Er bestaan echter een hele reeks bestandssystemen zoals ext, ext2, ext3, ext4, hpfs, iso9660, JFS, minix, msdos, ncpfs nfs, ntfs, proc, Reiserfs, smb, sysv, umsdos, vfat, XFS, xiafs, enz.

Bij het in gebruik nemen van een verwisselbaar medium zoals een USB harde schijf, SSD of USB stick bepaald het bestandssysteem de mogelijkheden van het aangesloten opslagmedium. Zo moet je op een VFAT USB Stick niet proberen om een video bestand groter dan 4 GB te zetten.

df

De opdracht df (Disk Filesystem) wordt gebruikt om de nog vrije en reeds gebruikte ruimte van een bestandssysteem weer te geven. Met de -T (--print-type) optie wordt ook het bestandssysteem weergegeven:

dany@pindabook:~> df -khT
Bestandssysteem Type     Grootte Gebruikt Besch Geb% Aangekoppeld op
devtmpfs        devtmpfs    3,9G        0  3,9G   0% /dev
tmpfs           tmpfs       3,9G        0  3,9G   0% /dev/shm
tmpfs           tmpfs       3,9G     9,7M  3,9G   1% /run
tmpfs           tmpfs       3,9G        0  3,9G   0% /sys/fs/cgroup
/dev/sda4       ext4         79G     8,7G   66G  12% /
/dev/sda2       vfat        256M      57M  200M  22% /boot/efi
/dev/sda7       ext4        147G      29G  112G  21% /usr/home/Documents
tmpfs           tmpfs       789M      20K  789M   1% /run/user/1000
/dev/sdb1       fuseblk      58G      39G   20G  67% /run/media/dany/Dany Pinoy

mount

De mount opdracht wordt gebruikt om opslagmedia of bestandssystemen in een bestaande mappenstructuur op te nemen, te koppelen.

dany@pindabook:~> mount | grep "/dev/"
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
/dev/sda4 on / type ext4 (rw,relatime,data=ordered)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
/dev/sda2 on /boot/efi type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
/dev/sda7 on /usr/home/Documents type ext4 (rw,relatime,stripe=32721,data=ordered)
/dev/sda7 on /srv/www/htdocs type ext4 (rw,relatime,stripe=32721,data=ordered)
/dev/sdb1 on /run/media/dany/Dany Pinoy type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096,uhelper=udisks2)

De inhoud van /etc/fstab

Het /etc/fstab bestand bevat voor elk apparaat (virtueel of fysiek) het koppelpunt, het bestandssysteem en de opties.

dany@pindabook:~> cat /etc/fstab
UUID=de0cbb84-2cf8-43f2-ac79-735868b6223c  /                    ext4  acl,user_xattr  0  1
UUID=f9f57f26-608c-4550-9123-8f57b034aed4  swap                 swap  defaults        0  0
UUID=820d7da4-657f-4918-b863-6d2b847e8ba3  /usr/home/Documents  ext4  defaults        0  2
UUID=0C54-931D                             /boot/efi            vfat  defaults        0  0
/usr/home/Documents/Web/ /srv/www/htdocs none bind 0 0

fsck

De fsck opdracht wordt gebruikt om bestandssystemen te controleren en indien nodig te herstellen. Met de -N optie toont fsck enkel de berichten, maar wordt er niets uitgevoerd.

dany@pindabook:~> sudo fsck -N /dev/sdb1
[sudo] wachtwoord voor root: 
'fsck' uit util-linux 2.31.1
[/usr/sbin/fsck.exfat (1) -- /dev/sdb1] fsck.exfat /dev/sdb1

file

De file opdracht gebruik je om het type van een bestand te achterhalen. Met de -s (--special-files) optie wordt ook het bestandssysteem weergegeven.

dany@pindabook:~> sudo file -sL /dev/sdb1
[sudo] wachtwoord voor root: 
/dev/sdb1: DOS/MBR boot sector
dany@pindabook:~> sudo file -sL /dev/sda4
/dev/sda4: Linux rev 1.0 ext4 filesystem data, UUID=de0cbb84-2cf8-43f2-ac79-735868b6223c (needs journal recovery) (extents) (64bit) (large files) (huge files)

parted

De parted opdracht beheert schijfpartities en ondersteunt zowel MS-DOS als GPT partitiesystemen. Met de -l (--list) optie wordt een lijst met alle blokapparaten weergegeven.

dany@pindabook:~> sudo parted -l
Model: ATA SAMSUNG MZ7TD256 (scsi)
Schijf /dev/sda: 256GB
Sectorgrootte (logisch/fysiek): 512B/512B
Partitietabel: gpt
Schijfvlaggen: 

Nummer  Begin   Einde   Grootte  Bestandssysteem  Naam                  Vlaggen
 1      1049kB  1050MB  1049MB   ntfs                                   verborgen, diag
 2      1050MB  1322MB  273MB    fat32            EFI system partition  opstart, esp
 3      1322MB  9911MB  8589MB   linux-swap(v1)   primary               swap
 4      9911MB  95,8GB  85,9GB   ext4             primary
 7      95,8GB  256GB   160GB    ext4             primary               msftdata


Model: SanDisk Ultra (scsi)
Schijf /dev/sdb: 62,1GB
Sectorgrootte (logisch/fysiek): 512B/512B
Partitietabel: msdos
Schijfvlaggen: 

Nummer  Begin   Einde   Grootte  Type     Bestandssysteem  Vlaggen
 1      16,4kB  62,1GB  62,1GB   primary                   type=07

lsblk

De lsblk opdracht toont een lijst met alle of specifieke blokapparaten. De fsblk opdracht raadpleegt daarvoor het sysfs bestandssysteem en de udev database.

dany@pindabook:~> sudo lsblk -f
NAME   FSTYPE LABEL      UUID                                 MOUNTPOINT
sda                                                           
├─sda1 ntfs   WINRE_DRV  6C2452A5245271D6                     
├─sda2 vfat   SYSTEM_DRV 0C54-931D                            /boot/efi
├─sda3 swap              f9f57f26-608c-4550-9123-8f57b034aed4 [SWAP]
├─sda4 ext4              de0cbb84-2cf8-43f2-ac79-735868b6223c /
└─sda7 ext4              820d7da4-657f-4918-b863-6d2b847e8ba3 /usr/home/Documents
sdb                                                           
└─sdb1 exfat  Dany Pinoy DAD4-0BE8                            /run/media/dany/Dany Pinoy

blkid

De blkid opdracht geeft informatie over blokapparaten weer.

dany@pindabook:~> sudo blkid /dev/sdb1
/dev/sdb1: LABEL="Dany Pinoy" UUID="DAD4-0BE8" TYPE="exfat" PARTUUID="c01dbbed-01"

cfdisk

Het cfdisk programma is een tekstomgeving waarmee je blokapparaten kunt partitioneren en de partitiestructuur weergeven.

dany@pindabook:~> sudo cfdisk
cfdisk