Here's simple command line guide for you computer user who find Ubuntu GNU/Linux for the first time. These commands are all built-in, you do not need to add anything to use them. They are useful to you, for instance, to read your complete computer information and of course to know about basic commands. Why learn commands? Because commands are fast as you will learn below. You will also see further references to learn more at the end of this article. Have fun learning!
Subscribe to UbuntuBuzz Telegram Channel to get article updates.
Summary
- uname
- lsb_release
- lsblk
- lshw
- lsusb
- sleep
How To Play
- Find a program named Terminal (or Console) from start menu.
- Type a command and press Enter to execute it.
- If asked for your password, type anyway and press Enter, no stars will be displayed.
- Something like master@master:~$ is called shell prompt.
- Press TAB to automatically complete file name.
- Close Terminal if your tasks finished.
Uname command
$ uname -a
This will give you output similar to mine like below:
Linux master 5.8.0-25-generic #26-Ubuntu SMP Thu Oct 15 10:30:38 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
That means our kernel is Linux, operating system is GNU/Linux, and x86_64 code means we use 64 bit computer while i686 means we use 32 bit ones instead.
LSB Command
$ lsb_release -a
This will give you output similar to mine too:
master@master:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.10
Release: 20.10
Codename: groovy
master@master:~$
That means my operating system is Ubuntu version 20.10 codenamed groovy.
Lsblk Command
$ lsblk
This will give you details of your hard disk drive like mine:
master@master:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 298,1G 0 disk
├─sda1 8:1 0 97,7G 0 part
├─sda2 8:2 0 178,8G 0 part
├─sda4 8:4 0 1K 0 part
├─sda5 8:5 0 1,5G 0 part
└─sda6 8:6 0 19,5G 0 part
sdb 8:16 1 14,3G 0 disk
├─sdb1 8:17 1 95M 0 part /boot/efi
├─sdb2 8:18 1 955M 0 part [SWAP]
└─sdb3 8:19 1 13,3G 0 part /
sr0 11:0 1 1024M 0 rom
master@master:~$
That output of mine means there are two hard disk drives I currently use, sda and sdb, and my Ubuntu partition is under sdb named sdb3. We know this from where the slash ( / ) is located. From my output we also know that my sda hard disk is 300GiB, where my sdb is only 14GiB, we know these from the SIZE column. You just need to understand yours like mine. Starting today, you will be accustomed to these names, sda sdb sdc ... , to call hard disk drives. It is similar to C, D, E, ... if you know Microsoft Windows partition names.
Tip: Lsblk is a short for list block devices (storages)
Look closer, you will see a strange device named sr0. That is my dvd-rom as this laptop Lenovo ThinkPad has one.
Lshw Command
$ lshw -short
This will give you details of your computer hardware like mine:
master@master:~$ lshw -short
WARNING: you should run this program as super-user.
H/W path Device Class Description
=========================================================
system Computer
/0 bus Motherboard
/0/0 memory 4GiB System memory
/0/1 processor Intel(R) Core(TM) i5-3320M CPU
/0/100 bridge 3rd Gen Core processor DRAM Co
/0/100/2 display 3rd Gen Core processor Graphic
/0/100/14 bus 7 Series/C210 Series Chipset F
/0/100/16 communication 7 Series/C216 Chipset Family M
/0/100/16.3 communication 7 Series/C210 Series Chipset F
/0/100/19 enp0s25 network 82579LM Gigabit Network Connec
/0/100/1a bus 7 Series/C216 Chipset Family U
/0/100/1b multimedia 7 Series/C216 Chipset Family H
/0/100/1c bridge 7 Series/C216 Chipset Family P
/0/100/1c/0 generic MMC/SD Host Controller
/0/100/1c.1 bridge 7 Series/C210 Series Chipset F
/0/100/1c.1/0 wlp3s0 network Centrino Advanced-N 6205 [Tayl
/0/100/1c.2 bridge 7 Series/C210 Series Chipset F
/0/100/1d bus 7 Series/C216 Chipset Family U
/0/100/1f bridge QM77 Express Chipset LPC Contr
/0/100/1f.2 scsi1 storage 7 Series Chipset Family 4-port
/0/100/1f.2/0.0.0 /dev/cdrom disk DVD+-RW GT32N
/0/100/1f.3 bus 7 Series/C216 Chipset Family S
/0/100/1f.5 storage 7 Series Chipset Family 2-port
/0/2 system PnP device PNP0c01
/0/3 system PnP device PNP0c02
/0/4 system PnP device PNP0b00
/0/5 input PnP device PNP0303
/0/6 generic PnP device LEN0015
/1 scsi4 storage
WARNING: output may be incomplete or inaccurate, you should run this program as super-user.
master@master:~$
This output is rather long for first timer. But, you can just read the CPU, RAM, and GPU for starter. From my output, we know that my processor is Intel Core i5, my memory is 4GB, and my video graphic adapter is Intel HD Graphics. Again, you just need to understand yours like mine.
Tip: Lshw is a short for list hardware.
You must noticed the warning so that you run this command as super user. To do so, edit above command like this:
$ sudo lshw -short
Lsusb Command
$ lsusb
This will give you information what USB devices being used like mine:
master@master:~$ lsusb
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 04f2:b221 Chicony Electronics Co., Ltd integrated camera
Bus 001 Device 004: ID 0a5c:21e6 Broadcom Corp. BCM20702 Bluetooth 4.0 [ThinkPad]
Bus 001 Device 003: ID 0781:5567 SanDisk Corp. Cruzer Blade
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 046d:c077 Logitech, Inc. M105 Optical Mouse
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
master@master:~$
This output of mine means I have at least one SanDisk USB drive and one Logitech mouse among other attached USB devices.
You can play with this! Do it once and then try to remove an attached USB, such as flash drive, and do it once again, see the difference. You will eventually be able to notice the information particular to a device! In the past, this command was truly useful to use USB modems.
Sleep Command
$ uname -a; sleep 2; lsb_release -a; sleep 2; lsblk; sleep 2; lshw -short; sleep 2;
This will do four of above commands at once, but not so fast, they do with delay time 2 seconds each.
So now you know what sleep is here, right? Yes, that is the delay command. So you understand what 2 means too, right? Right, that is the two seconds. And now you see what semicolon ( ; ) means, right? Correct, it is to combine several commands at once in one line (it saves you Enter keystroke!). You can play too with this! Try to combine all commands with 5 seconds delay instead.
A Little Understanding
Did you notice the shell prompt? A shell prompt, as mentioned beforehand, is a sign that a terminal is ready, is doing something, or is finished doing something. It is ready by a blinking cursor - waiting you to type. It is working by displaying outputs instead and will be appear again once the outputs finished. It is finished by being ready. My shell prompt is different to yours, perhaps, because our usernames are different, and our computer names too. To understand it, feel free to see below explanation.
master@master:~$
- master - my username is master.
- @ - a sign to link between a user and a computer.
- master - my computer name is also master. Please do not be confused, o dear readers.
- : - sign to begin address.
- ~ - an address sign, will change automatically once I changed directory, and change back to ~ if I go to my Home directory.
- $ - authority sign, dollar ( $ ) means I logged in as normal user (without authority), while hash ( # ) means I logged in as super user (admin, user with full authority, also known as root user).
Learn More
Finally, you should not end up here. To learn further, here's our beginners guide to command lines in seven parts. These are written based on my computer course books in Indonesian.
Enjoy your learning!
This article is licensed under CC BY-SA 3.0.