Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Linux Articles
Page 21 of 134
Evolution of Docker from Linux Containers
Docker is a powerful containerization platform that allows developers to package, distribute, and run applications with their dependencies in lightweight, portable containers. The evolution of Docker began with Linux Containers (LXC) and has since revolutionized software development and deployment practices. This article explores how Docker evolved from Linux containers, the key improvements it introduced, and why it became the industry standard. What are Containers? Containers are a form of operating system-level virtualization that packages applications with their dependencies into isolated, portable units. Unlike virtual machines that require separate operating system instances, containers share the host OS kernel while ...
Read MoreProcess Representation in Linux System
Linux manages processes using a fundamental data structure called task_struct, which contains all the information needed to represent a process in the system. This structure is defined in the header file within the kernel source code. Process Data Structure The task_struct is a comprehensive C structure that holds critical information about each process, including: Process state − Current execution state (running, waiting, stopped) Scheduling information − Priority, time slices, and scheduler-specific data Memory management − Virtual memory layout and page tables File descriptors − List of open files and I/O resources Process relationships − Parent, ...
Read MoreWhat are Named Pipes or FIFO in Linux/Unix systems?
Named Pipes (also called FIFO - First-In-First-Out) are a mechanism for inter-process communication (IPC) in Linux/Unix systems that allows unrelated processes to communicate with each other. Unlike anonymous pipes, which work only between parent and child processes, named pipes create a special file on the filesystem that can be accessed by any process with appropriate permissions. Named pipes support bidirectional communication, meaning data can flow in both directions through a single pipe, making them more versatile than regular pipes for complex communication scenarios. Creating Named Pipes There are two primary ways to create named pipes in Linux/Unix ...
Read MoreLearn Modern Service Management System (Systemd) on Linux
systemd is a modern system and service manager for Linux operating systems. Running as the first process on boot (PID 1), it acts as an init system that initializes and maintains userspace services, replacing traditional SysV init scripts with a more efficient service management framework. systemd provides comprehensive system initialization, service management, and system state control through its suite of tools, primarily systemctl for service control and systemd-analyze for performance analysis. Basic systemd Information To get help information about systemd, use the following command − $ systemd -h Starts up and maintains ...
Read MoreHow to Setup Rsyslog Remote Logging on Linux
Every Linux distribution comes with logging systems to record system activities, which helps during system troubleshooting. Rsyslog is an open-source, high-performance logging system available for major Linux distributions including Debian and Red Hat based systems. Compared to the traditional SYSLOG protocol, it offers additional features such as content-based filtering, TCP transport, and extensive configuration options. This article describes how to setup Rsyslog Remote Logging in simple steps. Installation If Rsyslog is not installed on your Linux system, install it using the following command − $ sudo apt-get install rsyslog rsyslog-doc The output should be ...
Read MoreConvert Hex to ASCII Characters in the Linux Shell
Hexadecimal (Hex) is a base-16 numbering system that uses digits 0-9 and letters A-F to represent values. Converting hex to ASCII characters is a common task in Linux systems, especially when dealing with encoded data, network protocols, or binary file analysis. Hex digits: 0 1 2 3 4 5 6 7 8 9 A B C D E F ASCII (American Standard Code for Information Interchange) is a character encoding standard that represents text in computers and communication equipment. Each ASCII character corresponds to a specific numeric value that can be expressed in hexadecimal format. ...
Read MoreCreating a Hex Dump of a File
A hex dump displays the binary contents of a file in hexadecimal format, making it readable for humans. This is essential for programming, reverse engineering, data recovery, and debugging executable files. Linux provides several built-in tools to generate hex dumps of files. To demonstrate these tools, let's first create a sample text file − $ cat > example.txt This is our sample text in the file. We will convert it into hex using various tools. ^D Using hexdump Command The hexdump command is a built-in Linux utility that displays file contents in hexadecimal, decimal, ...
Read MoreThreads vs Processes in Linux
A process is the execution of a program that allows you to perform the appropriate actions specified in a program. It can be defined as an execution unit where a program runs. The OS helps you to create, schedule, and terminate the processes which are used by the CPU. The other processes created by the main process are called child processes. A thread is an execution unit that is part of a process. A process can have multiple threads, all executing at the same time. It is a unit of execution in concurrent programming. Threads within the same process ...
Read MoreBest Command Line HTTP Client for Linux
In this tutorial, we will explore some of the most commonly used and famous HTTP clients that are present in Linux. A HTTP Client is a software that is mainly used to allow us to download files from the Internet. The primary reason for using HTTP clients is generally to download files, but these can also be used in case we want to debug or interact with a web server or multiple web servers. Now, let's consider the most famous HTTP Clients that are used. HTTPie With the name that almost resembles of the famous web protocol ...
Read MoreSending Emails From Terminal In Linux
You can send emails from the terminal in Linux by using the command line tool called mail. This tool is typically pre-installed on most Linux distributions. To send an email, you would use the syntax − echo "message body" | mail -s "subject" recipient@email.com You can also include attachments by using the -a option and specifying the path to the file you want to attach. echo "message body" | mail -s "subject" -a /path/to/attachment recipient@email.com You can also use other command line mail clients such as mutt, mailx, and msmtp. Architecture ...
Read More