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 comamnds in Linux:
|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 https://www.geeksforgeeks.org/file-management-in-linux/
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.
|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 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.
|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|
|chage||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.
|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|
|nmon||It displays performance about the CPU, MEMORY, NETWORK, DISKS, FILE SYSTEM, NFS, TOP PROCESSES, RESOURCES, AND POWER MICRO-PARTITION|
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.
|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|
- Groups in Linux System Administration
- Users in Linux System Administration
- What is Linux System Administration?
- Step By Step Guide to Add Custom Keyboard Shortcut in Ubuntu
- Complete Guide to Install C++17 in Windows
- Linux Virtualization : Linux Containers (lxc)
- Difference Between Arch Linux and Kali Linux
- dup() and dup2() Linux system call
- SAR command in Linux to monitor system performance
- proc file system in Linux
- Linux Operating System | CLI (Command Line Interface) and GUI (Graphic User Interface)
- Introduction to Linux Operating System
- Getting System and Process Information Using C Programming and Shell in Linux
- Basic System Controls with Terminal in Linux
- How to find time taken by a command/program on Linux Shell?
- Terminal Mail and Linux Security Mail
- Linux Virtualization - Chroot Jail
- Linux Kernel Module Programming: Hello World Program
- Formatted text in Linux Terminal using Python
- Some useful Linux Hacks
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.