Open In App

Beginner’s Guide to Linux System Administration

Last Updated : 23 Aug, 2021
Like Article

A Linux System Administrator manages the operations such as maintaining proper software, observing them, and even taking care of backup and hardware systems. It is recommended that before reading this article please go through the article What is Linux System Administration. Here we have some basics of Linux System Administration. 

Some Basic Configurations

Set the Hostname: Open terminal and enter the following command in order to change the hostname.  

sudo hostname your_hostname

Replace “your_hostname” with the hostname that you want to keep. 

Setting up the time zone: Move to /usr/share/zoneinfo/your_zone and then link the zone file with /etc/localtime to set the time zone.  

sudo ln -sf Kolkata /etc/localtime

File System and Management

Managing files is the most important task in Linux as all devices, directories, and packages are just a type of file in Linux. 

1. To know about File system read the article File System in Linux
2. To learn more about Linux file hierarchy structure you can read the article Linux File System Hierarchy 
3. To get the difference between Linux and Windows File System read the article Windows vs Linux 

Below is the list of some file management commands in Linux:  

Command Description
cd Used to change the current directory
ls Used to list the directories and files in a directory
vi A good text editor to edit files
touch Used to create new files
nano A good text editor to edit files
cp Used to copy files and directories.
mv Used to move files and directories.
rm Used to remove files and directories.
fdisk Used to partition disks and to work with file systems
mount Used to mount a file system or a device

You can also read the file management in Linux from the article  

Networking Commands

Networking commands play an important role in system Administration and a good system Administrator must have good hands-on networking commands. Here is a list of such commands that are mostly used for networking in Linux. 

Command Description
route used to view and manipulate ip routing tables.
ping Used to send some packets to a server and receive them back in case of a good network connection.
traceroute Used to trace the path taken by the traffic.
nslookup Used for querying the Domain Name System to obtain domain name or IP address mapping, or other DNS records.
ifconfig Used to view and change the configuration of the network interfaces on your system
tracepath Used to traces path to destination discovering MTU along this path
ssh Provides a secure encrypted connection between two hosts over an insecure network
telnet Used to test if a port is open and even to work with telnet protocol.
curl Used to transfer data to or from a server, using any of the supported protocols.
scp Used to securely copy files and directories between two locations over a network.
w Provides a quick summary of every user logged into a computer
netcat used for performing any operation in Linux related to TCP, UDP, or UNIX-domain sockets
nmap Used for network exploration and security auditing
netstat Used for monitoring network connections both incoming and outgoing as well as viewing routing tables, interface statistics, etc
ip Used to assign an address to a network interface and/or configure network interface parameters on Linux operating systems

To learn more about Linux networking commands then read the article Linux Networking Tools  

Managing Users and Group in Linux

A system administrator has to manage the users working on the system. Users are the accounts which are logged in to your system or may log in to the system. Each user in Linux has a unique UID to identify the user. All information of the users is stored in /etc/passwd file and all hashed passwords are stored in /etc/shadow file. There are basically 2 types of user in Linux on the basis of their rights to access.  

  • Superuser or Administrator
  • General users

Each user may or may not be a part of a group which is a collection of users. To learn more about users in Linux go through the article Users in Linux System Administration. Here is a list of commands that are used to manage users. 

Command Description
usermod Used to modify users and their respective settings
useradd Used to add a new user
su and sudo Used to change the user and work with root
change Used to change the user’s aging/expiry information
groupdel Used to delete a group
gpasswd Used to change password of group
groupmod Used to modify group and its settings
groupadd Used to add a new group

To learn more about how to manage users read the article User Management in Linux 

To learn more about how to manage groups read the article Group Management in Linux 

System Diagnostics/Monitor Performance

A System Administrator should be able to diagnose problems in a system and even to monitor the performance of the system so that it may be improved. Here is the list of some useful commands for the same. 

Command Description
top Used to display the running processes.
vmstat Used to get information about processes, memory, paging, block IO, disk, and CPU scheduling
lsof Used to check list of open files.
htop Used to determine the cause of load of each process
iostat Used to monitor IO devices loading

Reading and Analysing Logs

A good system Administrator must have an idea of how to read and manage logs as they give a lot of crucial and required information. 

Command Description
dmesg Used to print the message buffer of the kernel
tail Used to print details from the log files located in the folder /var/log
journalctl Used to read systemd logs


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads