Here is the video version, if you prefer it:
In this post, I will devote a few sentences to device-related topics that, in my opinion, aren’t that important. Don’t get me wrong, you could write a couple of posts on each one of these topics, but they are not that important in your everyday use. Even though you will most likely never do anything with the information presented in this post, it does paint the picture of the Linux operating system and thus I decided to write up a few sentences on each of the topics I thought warranted it. My 2 cents would be: Read through the contents of those posts once, know that these things exist and if you ever need them, use Google to find exactly what you need for your particular purpose. The references are listed in the order in which the topics appear.
Partitioning disk devices
You can partition (and re-partition) your permanent storage devices from the command line. Although I never had the need to do this (except when I was installing my operating system), you maybe might, and that’s when you can call the big ol’ Google for help. Just know that you can do this.
df and free
df command tells you how much free space you have on your disk drive. The
free command displays the amount of free memory (RAM and swap). (Shotts, 2019)
Filesystem 1K-blocks Used Available Use% Mounted on
udev 4001344 0 4001344 0% /dev
tmpfs 804232 87256 716976 11% /run
/dev/sda2 483076568 75734076 382733828 17% /
tmpfs 4021140 43720 3977420 2% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 4021140 0 4021140 0% /sys/fs/cgroup
tmpfs 804228 14316 789912 2% /run/user/1000
total used free shared buff/cache available
Mem: 8042284 4422848 662332 519756 2957104 2791520
Swap: 8259580 1225432 7034148
sysfs provides a uniform view for attached devices based on their actual hardware attributes. (Ward, 2014)
You can go to
/sys/devices to see all the devices. It differs from the
/dev directory because
/dev is designed for interacting with devices, while
sysfs is designed to view device information and manage the device.
lsof command lists open files and the processes using them. By files, I mean both regular files and files that represent other non-files, such as network resources. (Ward, 2014)
udev is a device manager for the Linux kernel. (“udev,” n.d.)
udev manages devices nodes in the
/dev directory and also handles all user space events raised when hardware devices are added or removed from the system. Term clarification: user space is the space of the user (different from the kernel space, which only the kernel can access) and you can think of events as messages that are sent when certain actions happen on the system.
UUID, short for Universally Unique Identifier, is a type of serial number used to identify filesystems. (Ward, 2014)
Displaying a list of mounted filesystems
To display a list of mounted filesystems, use the
mount command without any arguments. (Shotts, 2019)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=4001344k,nr_inodes=1000336,mode=755)
The format of the listing is as follows:
device on mount_point type filesystem_type (options) .
In order to repair a filesystem, you will most likely use a program called
fsck stands for “file system check”. If you encounter this, you are dealing with a bad problem. May the force of Google and good luck be with you in resolving it!
What the fsck?
As I said in the last post, if you ever encounter
fsck, that means that you are dealing with a bad issue with your filesystem. Therefore, people sometimes utter the words: “What the fsck?” when dealing with
fsck. (Shotts, 2019)
/etc/fstab lists the devices to be mounted at the time the computer starts (also known as boot time). (Shotts, 2019)
Here is my
mislav@mislavovo-racunalo:~$ cat /etc/fstab
# /etc/fstab: static file system information.
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda2 during installation
UUID=4b74cfa0-d49e-4b15-848b-7dd92f41b018 / ext4 errors=remount-ro 0 1
# swap was on /dev/sda3 during installation
UUID=8f39c51a-de75-466c-91a2-f3bf06b5fa89 none swap sw 0 0
The rows that begin with a
# are comments and are to be ignored. The first column is the device (identified by its UUID), the second is the mount point, the third is the file system type, the fourth is the options, the fifth specifies if and when a filesystem is to be backed up with the dump command and the sixth is the order in which filesystems should be checked with the
fsck command (they are checked at boot (computer start up) time).
md5sum – What is it used for?
Let’s talk about something that you may encounter sometime. It’s the
md5sum is a hash function.
Hash functions are relevant because for different inputs they produce different outputs. Even a slight difference in the input will produce massively different output. You can, for example, use the
md5sum command to verify that your file is the same file on the website available for download by calculating the
md5sum of your file with the md5sum command and comparing it to the md5sum of the original file (available somewhere on the website where you downloaded the file). If those two match, you can be very confident that you have the same file. If those two do not match, then you have a different file than the original.
mislav@mislavovo-racunalo:~/Linux_folder$ md5sum aba.txt
That’s it for this post.
Hope you learned something useful!
A convenient cheatsheet:
A reader suggested adding this Linux command cheatsheet in order to help everyone out. The cheatsheet contains more than just device-related commands. It could serve as a good reference to people using the Linux command line, so I put it here.
Shotts, W. (2019). The Linux Command Line, Fifth Internet Edition. Retrieved from http://linuxcommand.org/tlcl.php. Page 29; Pages 208-210; Page 220; Pages 206-208
udev. (n.d.). Retrieved February 12, 2020, from https://en.wikipedia.org/wiki/Udev
Ward, B. (2014). How Linux Works: What Every Superuser Should Know (2nd ed.). No Starch Press. Pages 47-48; Pages 172-174; Pages 76-77
Subscribe to my newsletter to keep abreast of the interesting things I'm doing. I will send you the newsletter only when there is something interesting. This means 0% spam, 100% interesting content.