Useful console linux commands

Introduction

Below are some linux commands you might find useful.
They can be run from any terminal emulator (xterm, konsole, etc.) or from a virtual console by pressing Ctrl+Alt+F{1..12}.

The uptime console command shows the time (days) the computer has been up without a reboot.

admin@ip-172-31-27-178:~/quickstart$ uptime
 15:11:49 up 42 days, 19:50,  1 user,  load average: 0.00, 0.00, 0.00

For disk usage by filesystem, use the df console command.

admin@ip-172-31-27-178:~/quickstart$ df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
udev           devtmpfs  475M     0  475M   0% /dev
tmpfs          tmpfs      98M  544K   97M   1% /run
/dev/xvda1     ext4      7.7G  1.9G  5.4G  27% /
tmpfs          tmpfs     486M     0  486M   0% /dev/shm
tmpfs          tmpfs     5.0M     0  5.0M   0% /run/lock
/dev/xvda15    vfat      124M   12M  113M  10% /boot/efi
tmpfs          tmpfs      98M     0   98M   0% /run/user/1000

If you want to see the memory usage in the Linux console:

admin@ip-172-31-27-178:~/quickstart$ free -m
               total        used        free      shared  buff/cache   available
Mem:             970         327         137           0         662         642
Swap:            499           4         495

The tail command shows the last 10 lines from a text file, such as a log file.
The -f option will update the screen if there are new lines in the file.

admin@ip-172-31-27-178:~/quickstart$ tail -f /var/log/apache2/access.log
31.94.30.124 - - [02/Jan/2025:15:06:15 +0000] "GET /livereload.js?mindelay=10&v=2&port=1313&path=livereload HTTP/1.1" 404 521 "https://www.georgetech.co.uk/posts/my-second-post/" "Mozilla/5.0 (X11; Linux x86_64; rv:133.0) Gecko/20100101 Firefox/133.0"
31.94.30.124 - - [02/Jan/2025:15:06:15 +0000] "GET /css/style.css HTTP/1.1" 200 4835 "https://www.georgetech.co.uk/posts/my-second-post/" "Mozilla/5.0 (X11; Linux x86_64; rv:133.0) Gecko/20100101 Firefox/133.0"
31.94.30.124 - - [02/Jan/2025:15:06:32 +0000] "GET / HTTP/1.1" 200 2329 "https://www.georgetech.co.uk/posts/my-second-post/" "Mozilla/5.0 (X11; Linux x86_64; rv:133.0) Gecko/20100101 Firefox/133.0"

The systemctl status command is useful to see the status of a service (loaded/active).
Use this for example if you asked your web server to reread its configuration files with systemctl reload apache2.service.
It also shows associated log entries, useful to see if there are issues with the application.

admin@ip-172-31-27-178:~/quickstart$ systemctl status apache2.service
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; preset: enabled)
     Active: active (running) since Fri 2024-12-06 19:08:23 UTC; 3 weeks 5 days ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 92234 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS)
   Main PID: 49693 (apache2)
      Tasks: 55 (limit: 1137)
     Memory: 28.3M
        CPU: 1min 20.933s
     CGroup: /system.slice/apache2.service
             ├─49693 /usr/sbin/apache2 -k start
             ├─92238 /usr/sbin/apache2 -k start
             └─92239 /usr/sbin/apache2 -k start

Dec 06 19:48:42 ip-172-31-27-178 apachectl[50534]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using fe>
Dec 06 19:48:42 ip-172-31-27-178 systemd[1]: Reloaded apache2.service - The Apache HTTP Server.
Dec 06 19:51:52 ip-172-31-27-178 systemd[1]: Reloading apache2.service - The Apache HTTP Server...