1
0
mirror of https://github.com/kamranahmedse/developer-roadmap.git synced 2025-08-31 04:59:50 +02:00
Files
developer-roadmap/public/roadmap-content/linux.json
2025-06-24 15:49:43 +06:00

2144 lines
109 KiB
JSON

{
"y7KjVfSI6CAduyHd4mBFT": {
"title": "Navigation Basics",
"description": "In Linux, navigation between directories and files is a fundamental, yet essential function that allows you to exploit the power of the command-line interface (CLI). Mastering the basic Linux navigation commands such as `cd`, `pwd`, `ls`, and `tree` enables you to flawlessly move from one point to another within the filesystem, display the list of files & directories, and understand your position relative to other system components.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Linux for Noobs (Hands-on)",
"url": "https://labex.io/courses/linux-for-noobs",
"type": "course"
},
{
"title": "Linux Filesystem Navigation Basics",
"url": "https://linuxconfig.org/filesystem-basics",
"type": "article"
},
{
"title": "Basic Navigation Commands: cd, ls, and pwd",
"url": "https://www.linuxbash.sh/post/basic-navigation-commands-cd-ls-and-pwd",
"type": "article"
},
{
"title": "Practice on Linux Fundamentals",
"url": "https://linuxjourney.com/",
"type": "article"
},
{
"title": "Linux fundamentals",
"url": "https://www.youtube.com/watch?v=kPylihJRG70&t=1381s&ab_channel=TryHackMe",
"type": "video"
}
]
},
"qLeEEwBvlGt1fP5Qcreah": {
"title": "Basic Commands",
"description": "Linux Navigation Basics is about using simple commands to move around and manage files on your computer. For example, `cd` lets you go into different folders, `ls` shows you what files and folders are inside, and `pwd` tells you where you are currently. These commands help you easily find and organize your files.\n\nLearn more from the following resources:",
"links": [
{
"title": "Linux Filesystem Navigation Basics",
"url": "https://linuxconfig.org/filesystem-basics",
"type": "article"
},
{
"title": "Linux Navigation and File Management",
"url": "https://www.digitalocean.com/community/tutorials/basic-linux-navigation-and-file-management",
"type": "article"
},
{
"title": "Basic Navigation Commands: cd, ls, and pwd ",
"url": "https://www.linuxbash.sh/post/basic-navigation-commands-cd-ls-and-pwd",
"type": "article"
}
]
},
"q-Ky0ietZGpyUcBQfh-BJ": {
"title": "Moving Files / Directories",
"description": "The `mv` command moves files and directories between locations and can also rename them. Use syntax `mv [options] source destination` where source is the file/directory to move and destination is the target location. This versatile command is essential for file organization and management in Linux systems.\n\nLearn more from the following resources:",
"links": [
{
"title": "mv command",
"url": "https://linuxhandbook.com/mv-command/",
"type": "article"
},
{
"title": "mv Cheat Sheet",
"url": "https://www.commandinline.com/cheat-sheet/mv/",
"type": "article"
},
{
"title": "Linux mv Command: File Moving and Renaming",
"url": "https://labex.io/tutorials/linux-linux-mv-command-file-moving-and-renaming-209743",
"type": "article"
}
]
},
"9oo2fxTM2_p0VYPBroqxa": {
"title": "Creating & Deleting Files / Dirs",
"description": "Linux file operations include creating files with `touch` (empty files) or `cat > filename` (with content) and deleting with `rm filename`. Use `rm -i` for confirmation prompts and `rmdir` for empty directories. File deletion is permanent - no recycle bin. Essential commands for basic file management and system administration.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "What is the Difference Between Cat and Touch Command",
"url": "https://linuxways.net/centos/what-is-the-difference-between-cat-and-touch-command/",
"type": "article"
},
{
"title": "Creating and Deleting Files / Directories in Linux",
"url": "https://useful.codes/creating-and-deleting-files-directories-in-linux/",
"type": "article"
},
{
"title": "Creating, Moving, and Deleting Files and Folders",
"url": "https://dev.to/alkesh009/linux-basics-part-4-creating-moving-and-deleting-files-and-folders-5hip",
"type": "article"
}
]
},
"3fzuXKH7az_LVnmnoXB1p": {
"title": "Directory Hierarchy Overview",
"description": "In Linux, understanding the directory hierarchy is crucial for efficient navigation and file management. A Linux system's directory structure, also known as the Filesystem Hierarchy Standard (FHS), is a defined tree structure that helps to prevent files from being scattered all over the system and instead organise them in a logical and easy-to-navigate manner.\n\n* `/`: Root directory, the top level of the file system.\n* `/home`: User home directories.\n* `/bin`: Essential binary executables.\n* `/sbin`: System administration binaries.\n* `/etc`: Configuration files.\n* `/var`: Variable data (logs, spool files).\n* `/usr`: User programs and data.\n* `/lib`: Shared libraries.\n* `/tmp`: Temporary files.\n* `/opt`: Third-party applications.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Overview of File System Hierarchy Standard (FHS)",
"url": "https://access.redhat.com/documentation/ru-ru/red_hat_enterprise_linux/4/html/reference_guide/s1-filesystem-fhs#s3-filesystem-usr",
"type": "article"
},
{
"title": "The Linux File System Explained in 1,233 Seconds",
"url": "https://youtu.be/A3G-3hp88mo?si=sTJTSzubdb0Vizjr",
"type": "video"
}
]
},
"HGmeYvRf7_XusZl_K4x9k": {
"title": "Editing Files",
"description": "Linux, like other operating systems, allows file editing for numerous purposes, whether you need to configure some system functionality or writing scripts. There's a variety of text editors available in Linux by default, these include: `nano`, `vi/vim`, `emacs`, and `gedit`. Each of these has its own learning curve and set of commands.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Editing Files in Linux Command Line",
"url": "https://itsfoss.com/edit-files-linux/",
"type": "article"
},
{
"title": "The Complete Guide to Text Editing in Linux with Nano and Vim",
"url": "https://thelinuxcode.com/how-to-edit-file-in-linux/",
"type": "article"
},
{
"title": "Vim Tutorial for Beginners",
"url": "https://linuxconfig.org/vim-tutorial",
"type": "article"
}
]
},
"8QBMyL8D5jPovxN8jyZW9": {
"title": "Shell and Other Basics",
"description": "The Linux shell is a command-line interface that acts as an intermediary between users and the system kernel. Common shells include Bash, sh, and csh. Basic operations involve navigating directories, creating/deleting files, and executing commands. Shell knowledge is fundamental for Linux administration, scripting, and automation tasks.\n\nLearn more from the following resources:",
"links": [
{
"title": "Learning The Shell",
"url": "https://www.linuxcommand.org/lc3_lts0010.php",
"type": "article"
},
{
"title": "What is a Shell in Linux",
"url": "https://linuxsimply.com/what-is-a-shell-linux/",
"type": "article"
},
{
"title": "Learn Linux Easily",
"url": "https://linuxjourney.com",
"type": "article"
}
]
},
"XiZz7EFIey1XKS292GN4t": {
"title": "Vim",
"description": "Vim (Vi Improved) is a powerful and flexible text editor used in Unix-like systems. It builds on the original Vi editor with additional features and improvements, including multi-level undo, syntax highlighting, and an extensive set of commands for text manipulation.\n\nVim operates primarily in three modes:\n\n* Normal (for navigation and manipulation).\n* Insert (for editing text).\n* Command (for executing commands).\n\nLearn more from the following resources:",
"links": [
{
"title": "Learn Vimscript The Hard Way",
"url": "https://learnvimscriptthehardway.stevelosh.com/",
"type": "course"
},
{
"title": "Vim Cheat Sheet",
"url": "https://vim.rtorr.com/",
"type": "article"
},
{
"title": "Learn Vim Progressively",
"url": "https://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/",
"type": "article"
},
{
"title": "Platform to practice Vim",
"url": "https://vim-adventures.com/",
"type": "article"
},
{
"title": "Vim Basics",
"url": "https://www.youtube.com/watch?v=wACD8WEnImo&list=PLT98CRl2KxKHy4A5N70jMRYAROzzC2a6x&ab_channel=LearnLinuxTV",
"type": "video"
}
]
},
"yqRwmcZThjQuqh2ao0dWK": {
"title": "Nano",
"description": "Nano is a popular, user-friendly text editor used for creating and editing files directly within the Linux command line interface (CLI). It is an alternative to editors like `Vi` and `Emacs` and is considered more straightforward for beginners due to its simple and intuitive interface.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "nano - Text editor",
"url": "https://www.nano-editor.org/",
"type": "article"
},
{
"title": "Editing Files With Nano in Linux",
"url": "https://itsfoss.com/nano-editor-guide/",
"type": "article"
},
{
"title": "Nano in Linux",
"url": "https://ioflood.com/blog/nano-linux-command/",
"type": "article"
},
{
"title": "Nano editor fundamentals",
"url": "https://www.youtube.com/watch?v=gyKiDczLIZ4&ab_channel=HackerSploit",
"type": "video"
}
]
},
"moGMHNR58wFlzhS7je1wc": {
"title": "Command Path",
"description": "The command path is a variable that is used by the shell to determine where to look for the executable files to run. Linux commands are nothing but programs residing in particular directories. But, one does not have to navigate to these directories every time to run these programs. The command path comes to the rescue!\n\nUsually, when you type a command in the terminal, the shell needs to know the absolute path of the command's executable to run it. Instead of typing the full path each time, command paths allow the shell to automatically search the indicated directories in the correct order. These paths are stored in the $PATH environment variable.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Linux path environment variable",
"url": "https://linuxconfig.org/linux-path-environment-variable",
"type": "article"
},
{
"title": "How to find a path of a Linux command like a pro",
"url": "https://www.cyberciti.biz/howto/finding-a-path-of-a-linux-command-like-a-pro/",
"type": "article"
}
]
},
"zwXEmpPYjA7_msS43z7I0": {
"title": "Environment Variables",
"description": "Environment variables are dynamic named values that can affect the behavior of running processes in a shell. They exist in every shell session. A shell session's environment includes, but is not limited to, the user's home directory, command search path, terminal type, and program preferences.\n\nEnvironment variables help to contribute to the fantastic and customizable flexibility you see in Unix systems. They provide a simple way to share configuration settings between multiple applications and processes in Linux.\n\nLearn more from the following resources:",
"links": [
{
"title": "Environment Variables in Linux",
"url": "https://labex.io/tutorials/linux-environment-variables-in-linux-385274",
"type": "article"
},
{
"title": "Linux Environment Variables List, Set, Create & Remove",
"url": "https://www.computernetworkingnotes.com/linux-tutorials/linux-environment-variables-list-set-create-remove.html",
"type": "article"
},
{
"title": "How to Set and List Environment Variables in Linux",
"url": "https://linuxize.com/post/how-to-set-and-list-environment-variables-in-linux/",
"type": "article"
}
]
},
"KaMSsQnJzNqGHg0Oia4uy": {
"title": "Command Help",
"description": "Linux command help provides documentation and usage information for shell commands. Use `man command` for detailed manuals, `help command` for shell built-ins, `command --help` for quick options, and `tldr command` for practical examples. Essential for learning command syntax, parameters, and functionality in Linux terminal environments.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "tldr-pages/tldr",
"url": "https://github.com/tldr-pages/tldr",
"type": "opensource"
},
{
"title": "Using the Help Command in Linux",
"url": "https://linuxhandbook.com/help-command/",
"type": "article"
},
{
"title": "Chapter 10: Getting Help in Linux Terminal",
"url": "https://itsfoss.com/linux-command-help/",
"type": "article"
},
{
"title": "Get Help on Linux Commands",
"url": "https://labex.io/tutorials/linux-get-help-on-linux-commands-18000",
"type": "article"
}
]
},
"JgoZzx4BfK7tmosgpZOsf": {
"title": "Redirects",
"description": "The shell in Linux provides a robust way of managing input and output streams of a command or program, this mechanism is known as Redirection. Linux being a multi-user and multi-tasking operating system, every process typically has 3 streams opened:\n\n* Standard Input (stdin) - This is where the process reads its input from. The default is the keyboard.\n* Standard Output (stdout) - The process writes its output to stdout. By default, this means the terminal.\n* Standard Error (stderr) - The process writes error messages to stderr. This also goes to the terminal by default.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Input Output & Error Redirection in Linux",
"url": "https://linuxhandbook.com/redirection-linux/",
"type": "article"
},
{
"title": "Redirections (Bash Reference Manual)",
"url": "https://www.gnu.org/software/bash/manual/html_node/Redirections.html",
"type": "article"
},
{
"title": "Redirections in Linux with Examples",
"url": "https://linuxopsys.com/redirections-in-linux-with-examples",
"type": "article"
}
]
},
"NIBSZGE9PskVrluJpdom0": {
"title": "Super User",
"description": "The Super User, also known as \"root user\", represents a user account in Linux with extensive powers, privileges, and capabilities. This user has complete control over the system and can access any data stored on it. This includes the ability to modify system configurations, change other user's passwords, install software, and perform more administrative tasks in the shell environment.\n\nThe usage of super user is critical to operating a Linux system properly and safely as it can potentially cause serious damage. The super user can be accessed through the `sudo` or `su` commands.\n\nLearn more from the following resources:",
"links": [
{
"title": "Linux Superuser Access, Explained",
"url": "https://www.redhat.com/en/blog/linux-superuser-access/",
"type": "article"
},
{
"title": "Difference between the root user and super (sudo) user",
"url": "https://www.computernetworkingnotes.com/linux-tutorials/difference-between-the-root-user-and-super-sudo-user.html",
"type": "article"
},
{
"title": "What is Superuser Access in Linux?",
"url": "https://www.scaler.com/topics/super-user-in-linux/",
"type": "article"
}
]
},
"RsOTPZPZGTEIt1Lk41bQV": {
"title": "Working with Files",
"description": "Working with files is an essential part of Linux and it's a skill every Linux user must have. In Linux, everything is considered a file: texts, images, systems, devices, and directories. Linux provides multiple command-line utilities to create, view, move or search files. Some of the basic commands for file handling in Linux terminal include `touch` for creating files, `mv` for moving files, `cp` for copying files, `rm` for removing files, and `ls` for listing files and directories.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Editing Files in Linux Command Line",
"url": "https://itsfoss.com/edit-files-linux/",
"type": "article"
},
{
"title": "Mastering cp and mv Commands in Linux",
"url": "https://dev.to/ldwit/mastering-cp-and-mv-commands-in-linux-plus-related-cmds-5cc9",
"type": "article"
},
{
"title": "Vim Tutorial for Beginners",
"url": "https://linuxconfig.org/vim-tutorial",
"type": "article"
},
{
"title": "Linux Basic Files Operations",
"url": "https://labex.io/tutorials/linux-basic-files-operations-270248",
"type": "article"
},
{
"title": "What is the Difference Between Cat and Touch Command",
"url": "https://linuxways.net/centos/what-is-the-difference-between-cat-and-touch-command/",
"type": "article"
}
]
},
"TnrT-cqMA8urew9nLv0Ns": {
"title": "File Permissions",
"description": "Linux file permissions control read (r), write (w), and execute (x) access for owner, group, and others using octal or symbolic notation. Format `-rwxr--r--` shows file type and permissions. Use `chmod` to change permissions, `chown` for ownership, `chgrp` for group ownership. Essential for system security and proper access control.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Understanding Linux File Permissions",
"url": "https://linuxize.com/post/understanding-linux-file-permissions/",
"type": "article"
},
{
"title": "Linux File Permissions",
"url": "https://linuxhandbook.com/linux-file-permissions/",
"type": "article"
},
{
"title": "Linux Permissions of Files",
"url": "https://labex.io/tutorials/linux-permissions-of-files-270252",
"type": "article"
},
{
"title": "Linux File Permissions in 5 Minutes",
"url": "https://www.youtube.com/watch?v=LnKoncbQBsM",
"type": "video"
}
]
},
"iD073xTmpzvQFfXwcwXcY": {
"title": "Archiving and Compressing",
"description": "Linux archiving combines multiple files into single archives using `tar`, while compression reduces file sizes with `gzip` and `bzip2`. Use `tar cvf` to create archives, `tar xvf` to extract, and `tar cvzf` for gzip-compressed archives. These separate processes are often combined for efficient backup and distribution, with `tar.gz` and `tar.bz2` being common formats.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Linux File Packaging and Compression",
"url": "https://labex.io/tutorials/linux-file-packaging-and-compression-385413",
"type": "article"
},
{
"title": "Compression and Archiving with tar, gzip, and bzip2",
"url": "https://www.linuxbash.sh/post/compression-and-archiving-with-tar-gzip-and-bzip2",
"type": "article"
}
]
},
"abKO6KuuIfl9ruVxBw6t_": {
"title": "Copying and Renaming",
"description": "Essential Linux file operations use `cp` to copy files and `mv` to move/rename them. The `cp` command copies files from source to destination, while `mv` moves or renames files/directories. Both commands use the syntax `command source destination`. These case-sensitive commands are fundamental for daily file management tasks in Linux systems.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "mv and cp - Linux.org",
"url": "https://www.linux.org/threads/mv-and-cp.54793/",
"type": "article"
},
{
"title": "Mastering cp and mv Commands in Linux",
"url": "https://dev.to/ldwit/mastering-cp-and-mv-commands-in-linux-plus-related-cmds-5cc9",
"type": "article"
},
{
"title": "Linux cp Command: File Copying",
"url": "https://labex.io/tutorials/linux-linux-cp-command-file-copying-209744",
"type": "article"
},
{
"title": "Linux mv Command: File Moving and Renaming",
"url": "https://labex.io/tutorials/linux-linux-mv-command-file-moving-and-renaming-209743",
"type": "article"
}
]
},
"KaXHG_EKxI5PUXmcvlJt6": {
"title": "Soft Links / Hard Links",
"description": "Linux supports two types of file links. Hard links share the same inode and data as the original file - if the original is deleted, data remains accessible. Soft links (symbolic links) are shortcuts pointing to the original file path - they break if the original is removed. Create with `ln` for hard links and `ln -s` for soft links.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Hard links and Soft links in Linux Explained",
"url": "https://www.redhat.com/en/blog/linking-linux-explained",
"type": "article"
},
{
"title": "Difference between hard link and soft link",
"url": "https://kerneltalks.com/commands/difference-between-hard-link-and-soft-link/",
"type": "article"
},
{
"title": "How to Understand the Difference between Hard and Symbolic Links in Linux",
"url": "https://labex.io/tutorials/linux-how-to-understand-the-difference-between-hard-and-symbolic-links-in-linux-409929",
"type": "article"
}
]
},
"-B2Dvz7160Er0OBHzS6ro": {
"title": "Text Processing",
"description": "Linux offers robust text processing capabilities essential for system administrators and developers. Users can leverage command-line tools like `awk`, `sed`, `grep`, and `cut` for tasks such as filtering, substitution, and regular expression handling. Scripting languages like Python and Perl further enhance text processing. While primarily command-line based, Linux also provides GUI text editors such as `gedit`, `nano`, and `vim`. Proficiency in these tools is vital for automating tasks, parsing files, and efficient data mining.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Common Linux Text Processing Commands",
"url": "https://www.commandinline.com/linux/common-linux-text-processing-commands/",
"type": "article"
},
{
"title": "Linux Filters",
"url": "https://ryanstutorials.net/linuxtutorial/filters.php",
"type": "article"
},
{
"title": "Linux Text Processing Command",
"url": "https://earthly.dev/blog/linux-text-processing-commands/",
"type": "article"
},
{
"title": "Master Linux Text Processing Commands",
"url": "https://everythingdevops.dev/linux-text-processing-commands/",
"type": "article"
}
]
},
"t3fxSgCgtxuMtHjclPHA6": {
"title": "stdout / stdin / stderr",
"description": "Linux processes use three standard data streams: STDIN (input), STDOUT (output), and STDERR (error messages). STDOUT handles normal command output while STDERR specifically handles error messages. You can redirect these streams using operators like `>` for stdout and `2>` for stderr, allowing separate handling of normal output and errors for better scripting and debugging.\n\nLearn more from the following resources:",
"links": [
{
"title": "Linux Fundamentals - I/O, Standard Streams, and Redirection",
"url": "https://www.putorius.net/linux-io-file-descriptors-and-redirection.html",
"type": "article"
},
{
"title": "Understanding 'stdin', 'stdout' and 'stderr' in Linux",
"url": "https://www.slingacademy.com/article/understanding-stdin-stdout-and-stderr-in-linux/",
"type": "article"
},
{
"title": "Working with data streams on the Linux command line",
"url": "https://opensource.com/article/18/10/linux-data-streams",
"type": "article"
}
]
},
"Z5Mf_e5G24IkmxEHgYBe2": {
"title": "cut",
"description": "The `cut` command is a text processing utility that allows you to cut out sections of each line from a file or output, and display it on the standard output (usually, the terminal). It's commonly used in scripts and pipelines, especially for file operations and text manipulation.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Cut Command in Linux | Linuxize",
"url": "https://linuxize.com/post/linux-cut-command/",
"type": "article"
},
{
"title": "Linux cut Command: Text Cutting",
"url": "https://labex.io/tutorials/linux-linux-cut-command-text-cutting-219187",
"type": "article"
}
]
},
"5658kdqJw-pIOyyhll80a": {
"title": "paste",
"description": "In Linux, paste is a powerful text processing utility that is primarily used for merging lines from multiple files. It allows users to combine data by columns rather than rows, adding immense flexibility to textual data manipulation. Users can choose a specific delimiter for separating columns, providing a range of ways to format the output. You may use `paste` command like `$ paste file1.txt file2.txt > combined.txt`.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Paste Command in Linux (Merge Lines)",
"url": "https://linuxize.com/post/paste-command-in-linux/",
"type": "article"
},
{
"title": "7 Practical Usage of Paste Command in Linux",
"url": "https://linuxhandbook.com/paste-command/",
"type": "article"
}
]
},
"1WRIy3xHtQfiQFZrprobP": {
"title": "sort",
"description": "Linux provides a variety of tools for processing and manipulating text files, one of which is the sort command. The `sort` command in Linux is used to sort the contents of a text file, line by line. The command uses ASCII values to sort files. You can use this command to sort the data in a file in a number of different ways such as alphabetically, numerically, reverse order, or even monthly. The sort command takes a file as input and prints the sorted content on the standard output (screen).\n\nLearn more from the following resources:",
"links": [
{
"title": "Sort Command in Linux - 10 Useful Examples",
"url": "https://linuxhandbook.com/sort-command/",
"type": "article"
},
{
"title": "Sort Command in Linux with Practical Examples",
"url": "https://tecadmin.net/linux-sort-command/",
"type": "article"
},
{
"title": "Linux sort Command: Text Sorting",
"url": "https://labex.io/tutorials/linux-linux-sort-command-text-sorting-219196",
"type": "article"
}
]
},
"6xdkFk_GT93MigeTSSGCp": {
"title": "head",
"description": "The `head` command in Linux is a text processing utility that allows a user to output the first part (or the \"head\") of files. It is commonly used for previewing the start of a file without loading the entire document into memory, which can act as an efficient way of quickly examining the data in very large files. By default, the `head` command prints the first 10 lines of each file to standard output, which is the terminal in most systems.\n\nLearn more from the following resources:",
"links": [
{
"title": "Head Command in Linux - 5 Essential Examples",
"url": "https://linuxhandbook.com/head-command/",
"type": "article"
},
{
"title": "Linux head Command: File Beginning Display",
"url": "https://labex.io/tutorials/linux-linux-head-command-file-beginning-display-214302",
"type": "article"
}
]
},
"O9Vci_WpUY-79AkA4HDx3": {
"title": "tr",
"description": "The `tr` command in Linux is a command-line utility that translates or substitutes characters. It reads from the standard input and writes to the standard output. Although commonly used for translation applications, `tr` has versatile functionality in the text processing aspect of Linux. Ranging from replacing a list of characters, to deleting or squeezing character repetitions, `tr` presents a robust tool for stream-based text manipulations.\n\nLearn more from the following resources:",
"links": [
{
"title": "tr Command in Linux: 6 Useful Examples",
"url": "https://linuxhandbook.com/tr-command/",
"type": "article"
},
{
"title": "Linux tr Command: Character Translating",
"url": "https://labex.io/tutorials/linux-linux-tr-command-character-translating-388064",
"type": "article"
}
]
},
"Yyk28H6TiteZEGv6Aps1h": {
"title": "tail",
"description": "The `tail` command in Linux is a utility used in text processing. Fundamentally, it's used to output the last part of the files. The command reads data from standard input or from a file and outputs the last `N` bytes, lines, blocks, characters or words to the standard output (or a different file). By default, `tail` returns the last 10 lines of each file to the standard output. This command is common in situations where the user is interested in the most recent entries in a text file, such as log files.\n\nLearn more from the following resources:",
"links": [
{
"title": "5 Practical Examples of Tail Command in Linux",
"url": "https://linuxhandbook.com/tail-command/",
"type": "article"
},
{
"title": "Linux Tail Command | Linuxize",
"url": "https://linuxize.com/post/linux-tail-command/",
"type": "article"
},
{
"title": "Linux tail Command: File End Display",
"url": "https://labex.io/tutorials/linux-linux-tail-command-file-end-display-214303",
"type": "article"
}
]
},
"vfcCS1GoyKpU1rQaE8I5r": {
"title": "join",
"description": "`join` is a powerful text processing command in Linux. It lets you combine lines of two files on a common field, which works similar to the 'Join' operation in SQL. It's particularly useful when you're dealing with large volumes of data. Specifically, `join` uses the lines from two files to form lines that contain pairs of lines related in a meaningful way.\n\nLearn more from the following resources:",
"links": [
{
"title": "join(1) — Linux manual page",
"url": "https://www.man7.org/linux/man-pages/man1/join.1.html",
"type": "article"
},
{
"title": "join command in Linux with examples",
"url": "https://linuxconfig.org/join",
"type": "article"
},
{
"title": "Linux join Command: File Joining",
"url": "https://labex.io/tutorials/linux-linux-join-command-file-joining-219193",
"type": "article"
}
]
},
"Pl9s2ti25hsSEljXJvBTj": {
"title": "split",
"description": "Linux provides an extensive set of tools for manipulating text data. One of such utilities is the `split` command that is used, as the name suggests, to split large files into smaller files. The `split` command in Linux divides a file into multiple equal parts, based on the lines or bytes specified by the user.\n\nLearn more from the following resources:",
"links": [
{
"title": "Split Command in Linux: 9 Useful Examples",
"url": "https://linuxhandbook.com/split-command/",
"type": "article"
},
{
"title": "Split Command in Linux: Usage Guide with Examples",
"url": "https://ioflood.com/blog/split-linux-command/",
"type": "article"
}
]
},
"v32PJl4fzIFTOirOm6G44": {
"title": "pipe",
"description": "The pipe (`|`) is a powerful feature in Linux used to connect two or more commands together. This mechanism allows output of one command to be \"piped\" as input to another. With regards to text processing, using pipe is especially helpful since it allows you to manipulate, analyze, and transform text data without the need to create intermediary files or programs.\n\nHere is a simple example of piping two commands, `ls` and `grep`, to list all the text files in the current directory:\n\n ls | grep '\\.txt$'\n \n\nIn this example, `ls` lists the files in the current directory and `grep '\\.txt$'` filters out any files that don't end with `.txt`. The pipe command, `|`, takes the output from `ls` and uses it as the input to `grep '\\.txt$'`. The output of the entire command is the list of text files in the current directory.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "An In-Depth Guide to Pipes in Linux - TheLinuxCode",
"url": "https://thelinuxcode.com/linux-pipe-command-examples/",
"type": "article"
},
{
"title": "Piping and Redirection",
"url": "https://ryanstutorials.net/linuxtutorial/piping.php#piping",
"type": "article"
},
{
"title": "What is Piping in Linux?",
"url": "https://linuxsimply.com/what-is-piping-in-linux/",
"type": "article"
}
]
},
"Bo9CdrGJej-QcNmw46k9t": {
"title": "tee",
"description": "The `tee` command reads from standard input and writes to both standard output and files simultaneously, like a T-splitter in plumbing. It enables users to view results in the terminal while saving output to files concurrently. Syntax: `command | tee file`. Extremely useful for documenting terminal activities and preserving command outputs for later analysis.\n\nLearn more from the following resources:",
"links": [
{
"title": "Tee Command in Linux Explained with Examples",
"url": "https://linuxhandbook.com/tee-command/",
"type": "article"
},
{
"title": "Linux Tee Command",
"url": "https://linuxize.com/post/linux-tee-command/",
"type": "article"
}
]
},
"YSfGrmT795miIeIZrtC3D": {
"title": "nl",
"description": "The `nl` command numbers lines in text files, providing an overview of line locations. By default, it numbers only non-empty lines, but this behavior can be modified. Syntax: `nl [options] [file_name]`. If no file is specified, nl reads from stdin. Valuable for text processing when line numbers are needed for reference or debugging purposes.\n\nLearn more from the following resources:",
"links": [
{
"title": "nl command",
"url": "https://www.computerhope.com/unix/nl.htm",
"type": "article"
},
{
"title": "Linux nl Command: Line Numbering",
"url": "https://labex.io/tutorials/linux-linux-nl-command-line-numbering-210988",
"type": "article"
},
{
"title": "Master the Linux 'nl' Command: A Comprehensive Guide",
"url": "https://hopeness.medium.com/master-the-linux-nl-command-a-comprehensive-guide-79c6adf50fa9",
"type": "article"
}
]
},
"LIGOJwrXexnIcPyHVlhQ8": {
"title": "wc",
"description": "The `wc` command is a commonly used tool in Unix or Linux that allows users to count the number of bytes, characters, words, and lines in a file or in data piped from standard input. The name `wc` stands for 'word count', but it can do much more than just count words. Common usage of `wc` includes tracking program output, counting code lines, and more. It's an invaluable tool for analyzing text at both granular and larger scales.\n\nLearn more from the following resources:",
"links": [
{
"title": "Wc Command in Linux (Count Number of Lines, Words, and Characters)",
"url": "https://linuxize.com/post/linux-wc-command/",
"type": "article"
},
{
"title": "wc Command Examples - Linux Handbook",
"url": "https://linuxhandbook.com/wc-command/",
"type": "article"
},
{
"title": "Linux wc Command: Text Counting",
"url": "https://labex.io/tutorials/linux-linux-wc-command-text-counting-219200",
"type": "article"
}
]
},
"TZuDVFS7DZFBgaSYYXoGe": {
"title": "expand",
"description": "The `expand` command converts tabs to spaces in text files, useful for consistent formatting across different systems and editors. Default conversion is 8 spaces per tab. Use `expand filename` for basic conversion or `expand -t 4 filename` to specify 4 spaces per tab. Essential for maintaining code readability and consistent indentation in shell scripts.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "expand — Linux manual page",
"url": "https://www.man7.org/linux/man-pages/man1/expand.1.html",
"type": "article"
},
{
"title": "How to Use the 'expand' Command (with examples)",
"url": "https://commandmasters.com/commands/expand-common/",
"type": "article"
}
]
},
"sKduFaX6xZaUUBdXRMKCL": {
"title": "unexpand",
"description": "The `unexpand` command converts spaces to tabs in text files, making documents more coherent and neat. Commonly used in programming scripts where tab indentation is preferred. Use `unexpand -t 4 file.txt` to replace every four spaces with a tab. Opposite of `expand` command, useful for standardizing indentation formatting in code files.\n\nLearn more from the following resources:",
"links": [
{
"title": "unexpand Cheat Sheet",
"url": "https://www.commandinline.com/cheat-sheet/unexpand/",
"type": "article"
},
{
"title": "Master the Linux 'unexpand' Command: A Comprehensive Guide",
"url": "https://hopeness.medium.com/master-the-linux-unexpand-command-a-comprehensive-guide-6966c1f90acb",
"type": "article"
},
{
"title": "Linux unexpand Command with Practical Examples",
"url": "https://labex.io/tutorials/linux-linux-unexpand-command-with-practical-examples-422975",
"type": "article"
}
]
},
"qnBbzphImflQbEbtFub9x": {
"title": "uniq",
"description": "`uniq` is an extremely useful command-line program for text processing. It aids in the examination and manipulation of text files by comparing or filtering out repeated lines that are adjacent. Whether you're dealing with a list of data or a large text document, the `uniq` command allows you to find and filter out duplicate lines, or even provide a count of each unique line in a file. It's important to remember that `uniq` only removes duplicates that are next to each other, so to get the most out of this command, data is often sorted using the `sort` command first.\n\nLearn more from the following resources:",
"links": [
{
"title": "Uniq Command in Unix and Linux: 7 Essential Examples",
"url": "https://linuxhandbook.com/uniq-command/",
"type": "article"
},
{
"title": "Linux uniq Command: Duplicate Filtering",
"url": "https://labex.io/tutorials/linux-linux-uniq-command-duplicate-filtering-219199",
"type": "article"
},
{
"title": "How to Use the Uniq Command to Process Lists in Linux",
"url": "https://www.redhat.com/en/blog/uniq-command-lists",
"type": "article"
}
]
},
"umlhxidsvtZG9k40Ca0Ac": {
"title": "grep",
"description": "GREP (Global Regular Expression Print) is a powerful text search utility that finds and filters text matching specific patterns in files. It searches line by line and prints matching lines to the screen. Essential for shell scripts and command-line operations. Example: `grep \"pattern\" fileName` searches for specified patterns. Alternative: `ripgrep` offers enhanced performance and features.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Ripgrep: Github Repository",
"url": "https://github.com/BurntSushi/ripgrep",
"type": "opensource"
},
{
"title": "Grep and Regular Expressions for Beginners",
"url": "https://ryanstutorials.net/linuxtutorial/grep.php",
"type": "article"
},
{
"title": "bgsu.edu: Advanced Grep Topics",
"url": "https://caspar.bgsu.edu/~courses/Stats/Labs/Handouts/grepadvanced.htm",
"type": "article"
},
{
"title": "Linux grep Command: Pattern Searching",
"url": "https://labex.io/tutorials/linux-linux-grep-command-pattern-searching-219192",
"type": "article"
}
]
},
"QTmECqpRVMjNgQU70uCF8": {
"title": "awk",
"description": "AWK is a powerful text-processing language for Unix-like systems, named after its creators Aho, Weinberger, and Kernighan. It reads files line by line, identifies patterns, and executes actions on matches. Commonly used in bash scripts for sorting, filtering, and report generation.\n\nExample: `awk '{print $1,$2}' filename` prints first two fields of each line.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "IBM.com: Awk by Example",
"url": "https://developer.ibm.com/tutorials/l-awk1/",
"type": "article"
},
{
"title": "AWK Tutorial",
"url": "https://linuxhandbook.com/awk-command-tutorial/",
"type": "article"
},
{
"title": "Linux awk Command: Text Processing",
"url": "https://labex.io/tutorials/linux-linux-awk-command-text-processing-388493",
"type": "article"
},
{
"title": "Explore top posts about Bash",
"url": "https://app.daily.dev/tags/bash?ref=roadmapsh",
"type": "article"
},
{
"title": "Learning Awk Is Essential For Linux Users",
"url": "https://www.youtube.com/watch?v=9YOZmI-zWok",
"type": "video"
}
]
},
"jSzfQf0MlnXtWHCc-HYvr": {
"title": "Server Review",
"description": "Server review in Linux involves assessing performance, security, and configuration to identify improvements and issues. Check security enhancements, log files, user accounts, network configuration, and software versions. Common commands: `free -m` for memory, `df -h` for disk usage, `uptime` for CPU load. Critical task for system administrators and DevOps professionals to ensure optimal performance, security, and reliability.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Linux Server Management Essentials",
"url": "https://www.ictbroadcast.com/linux-server-management-essentials-administration-monitoring-and-maintenance-guidelines-for-success/",
"type": "article"
},
{
"title": "Essential Linux Server Maintenance Checklist",
"url": "https://tecadmin.net/linux-server-maintenance-checklist/",
"type": "article"
},
{
"title": "Optimizing Linux Server Performance",
"url": "https://www.linuxjournal.com/content/optimizing-linux-server-performance-benchmarking-and-advanced-techniques",
"type": "article"
}
]
},
"19lTWqAvZFT2CDlhLlPSq": {
"title": "Uptime and Load",
"description": "The `uptime` command shows how long a Linux system has been running and the system load average. Load average indicates computational work and CPU queue length, displayed for 1, 5, and 15-minute intervals. High load averages suggest resource constraints or performance issues. Regular monitoring helps identify usage patterns and plan capacity.\n\nLearn more from the following resources:",
"links": [
{
"title": "Linux Uptime Command With Usage Examples",
"url": "https://www.tecmint.com/linux-uptime-command-examples/",
"type": "article"
},
{
"title": "How to Check Uptime in Linux Command Line",
"url": "https://linuxhandbook.com/uptime-command/",
"type": "article"
},
{
"title": "Linux Load Average: What is Load Average in Linux?",
"url": "https://www.digitalocean.com/community/tutorials/load-average-in-linux",
"type": "article"
}
]
},
"WwybfdKuP9ogCGpT7d3NU": {
"title": "Authentication Logs",
"description": "Authentication logs in Linux record all auth-related events like logins, password changes, and sudo commands. Located at `/var/log/auth.log` (Debian) or `/var/log/secure` (RHEL/CentOS), these logs help detect brute force attacks and unauthorized access attempts. Use `tail /var/log/auth.log` to view recent entries. Regular log analysis is essential for server security monitoring.\n\nHere is an example of how you can use the `tail` command to view the last few entries of the authentication log:\n\n tail /var/log/auth.log\n \n\nVisit the following resources to learn more:",
"links": [
{
"title": "Monitoring Linux Authentication Logs",
"url": "https://betterstack.com/community/guides/logging/monitoring-linux-auth-logs/",
"type": "article"
},
{
"title": "How to Check Linux Login History - Linux Handbook",
"url": "https://linuxhandbook.com/linux-login-history/",
"type": "article"
}
]
},
"ewUuI_x-YhOQIYd3MTgJJ": {
"title": "Services Running",
"description": "Linux servers run various services including web, database, DNS, and mail servers. System administrators use tools like `systemctl`, `service`, `netstat`, `ss`, and `lsof` to manage and monitor services. Use `systemctl --type=service` to list all active services with their status. Essential for server management, resource monitoring, and troubleshooting.\n\nLearn more from the following resources:",
"links": [
{
"title": "How to List Linux Services With systemctl",
"url": "https://www.howtogeek.com/839285/how-to-list-linux-services-with-systemctl/",
"type": "article"
},
{
"title": "Service Management in Linux: A Comprehensive Guide",
"url": "https://medium.com/@thesureshvadde/service-management-in-linux-a-comprehensive-guide-cb4c7e81dfa9",
"type": "article"
},
{
"title": "How to Manage Services in Linux: systemd and SysVinit",
"url": "https://dev.to/iaadidev/how-to-manage-services-in-linux-systemd-and-sysvinit-essentials-devops-prerequisite-8-1jop",
"type": "article"
}
]
},
"tx0nh6cbBjVxwNlyrBNYm": {
"title": "Available Memory / Disk",
"description": "Linux provides tools like `free`, `vmstat`, and `top` to monitor system memory usage and performance. The `free -h` command shows total, used, free, shared, buffer/cache, and available memory in human-readable format. Regular memory monitoring helps maintain optimal server performance, prevent overload, and troubleshoot resource issues effectively.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "5 Best Ways To Check Available Memory In Linux",
"url": "https://itslinuxfoss.com/5-ways-check-available-memory-linux/",
"type": "article"
},
{
"title": "Free vs. Available Memory in Linux",
"url": "https://linuxblog.io/free-vs-available-memory-in-linux/",
"type": "article"
}
]
},
"h01Y6dW09ChidlM2HYoav": {
"title": "Process Management",
"description": "Linux treats every running program as a process. Process management commands help view, control, and manipulate these processes. Key commands: `ps aux` shows running processes, `top` provides live system view, `kill -SIGTERM pid` gracefully stops processes, `kill -SIGKILL pid` forcefully terminates processes. Essential for understanding and controlling Linux system operations effectively.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "The Complete Guide to Process Management Commands",
"url": "https://thelinuxcode.com/process-management-commands-linux/",
"type": "article"
},
{
"title": "Commands for Process Management in Linux",
"url": "https://www.digitalocean.com/community/tutorials/process-management-in-linux",
"type": "article"
}
]
},
"mUKoiGUTpIaUgQNF3BND_": {
"title": "Background / Foreground Processes",
"description": "Linux processes run in foreground (fg) taking direct user input or background (bg) running independently. Start background processes with `command &` or use `Ctrl+Z` then `bg` to pause and resume in background. Use `fg` to bring background processes to foreground. These job control commands enable managing multiple tasks from a single terminal efficiently.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Understanding Foreground and Background Processes",
"url": "https://linuxconfig.org/understanding-foreground-and-background-linux-processes",
"type": "article"
},
{
"title": "Running Linux Commands in Background and Foreground",
"url": "https://linuxhandbook.com/run-process-background/",
"type": "article"
},
{
"title": "Foreground and Background Processes - LinuxOPsys",
"url": "https://linuxopsys.com/foreground-and-background-processes-co11/",
"type": "article"
}
]
},
"lf3_CRyOI2ZXGzz5ff451": {
"title": "Listing / Finding Processes",
"description": "Linux processes can be monitored using the `proc` virtual filesystem and commands like `ps`, `top`, and `htop`. Use `ps -ef` for process snapshots, `top`/`htop` for real-time views. The `/proc` directory contains detailed process information. View specific process details with `cat /proc/{PID}/status`. Essential for system performance monitoring and troubleshooting.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "The /proc File System",
"url": "https://www.kernel.org/doc/html/latest/filesystems/proc.html",
"type": "article"
},
{
"title": "What is a Process in Linux/Unix?",
"url": "https://www.scaler.com/topics/linux-process/",
"type": "article"
},
{
"title": "Exploring the Linux /proc Filesystem",
"url": "https://www.redhat.com/en/blog/linux-proc-filesystem",
"type": "article"
}
]
},
"VkLWTvKnRXzvLGWza2v45": {
"title": "Process Signals",
"description": "Process signals are communication mechanisms in Linux that notify processes of synchronous or asynchronous events. Common signals include SIGINT, SIGSTOP, SIGKILL for interrupting, pausing, or terminating processes. Example: `kill -SIGSTOP 12345` suspends process with PID 12345 until `SIGCONT` is received. Essential for comprehensive process management and resource allocation.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Process signals",
"url": "https://linuxjourney.com/lesson/process-signals",
"type": "article"
},
{
"title": "Understanding Linux Process Signals",
"url": "https://www.ceos3c.com/linux/understanding-linux-process-signals-a-complete/",
"type": "article"
},
{
"title": "Linux Process Signals and their meaning",
"url": "https://linux-audit.com/processes/linux-process-signals/",
"type": "article"
}
]
},
"0FLUI9r7znMqi6YKReLzD": {
"title": "Killing Processes",
"description": "The `kill` command terminates processes in Linux by sending signals to specific Process IDs (PIDs). Use `kill [signal] PID` to terminate processes manually. Different signals provide various termination methods - SIGTERM for graceful shutdown, SIGKILL for forced termination. Process termination is essential for managing unresponsive or unwanted processes.\n\nLearn more from the following resources:",
"links": [
{
"title": "Killing Processes",
"url": "https://linuxjourney.com/lesson/killing-processes",
"type": "article"
},
{
"title": "Using Kill Command in Linux",
"url": "https://linuxhandbook.com/kill-command/",
"type": "article"
},
{
"title": "Kill Command in Linux",
"url": "https://linuxize.com/post/kill-command-in-linux/",
"type": "article"
}
]
},
"5anSYRhaKIs3dCLWlvZfT": {
"title": "Process Priorities",
"description": "Linux assigns priority levels to processes, affecting execution timing and resource allocation. Process priorities use \"nice\" values ranging from -20 (highest priority) to +19 (lowest priority) and only root can set negative nive value. The `/proc` filesystem contains process information including priorities. You can view priorities with `ps -eo pid,pri,user,comm` and modify them using `renice` command.\n\nVisit the following resource to learn more:",
"links": [
{
"title": "Understanding Process Thread Priorities in Linux",
"url": "https://blogs.oracle.com/linux/post/task-priority",
"type": "article"
},
{
"title": "How To Manipulate Process Priority In Linux",
"url": "https://www.itsmarttricks.com/how-to-manipulate-process-priority-in-linux-using-nice-and-renice-commands/",
"type": "article"
}
]
},
"Rib7h9lh_ndiXkwNbftz_": {
"title": "Process Forking",
"description": "Process forking uses the `fork()` system call to create child processes from parent processes, enabling concurrent execution. Child processes are nearly perfect copies of parents with different PIDs. Changes in child processes don't affect parents. Essential for understanding Linux process creation and control in multi-processing environments.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "fork — Linux manual page",
"url": "https://www.man7.org/linux/man-pages/man2/fork.2.html",
"type": "article"
},
{
"title": "Understanding the fork() System Call in Linux",
"url": "https://thelinuxcode.com/fork-system-call-linux/",
"type": "article"
},
{
"title": "Linux Process calls: Creating process using fork",
"url": "https://medium.com/@joshuaudayagiri/linux-process-calls-creating-process-using-fork-52a1eac7de8b",
"type": "article"
}
]
},
"g6n7f1Qi0BPr_BGvisWuz": {
"title": "User Management",
"description": "Linux user management allows multiple users to interact with the system in isolation. Includes creating, deleting, modifying users and groups, assigning permissions and ownership. Key commands: `adduser`/`useradd` creates users, `deluser`/`userdel` removes users, `passwd` manages passwords, `su` switches users. Essential for providing proper accessibility and maintaining Linux system security.\n\nLearn more from the following resources:",
"links": [
{
"title": "User Account Management",
"url": "https://labex.io/tutorials/linux-user-account-management-49",
"type": "article"
},
{
"title": "Creating, Modifying, and Deleting User Accounts",
"url": "https://serveracademy.com/courses/linux-server-administration/creating-modifying-and-deleting-user-accounts/",
"type": "article"
},
{
"title": "User Management in Linux: A Beginner's Guide",
"url": "https://dev.to/austinozor/user-management-in-linux-a-beginners-guide-to-creating-modifying-and-deleting-users-fhf",
"type": "article"
}
]
},
"R9TZfkgVUQNLnMpDhovJa": {
"title": "Create / Delete / Update",
"description": "Linux user management involves creating, updating, and deleting user accounts for system security and resource management. Use `useradd` or `adduser` to create users, `usermod` to update user details like home directory or shell, and `userdel` to delete users. Effective user management maintains system security and organization in multi-user environments.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Creating, Modifying, and Deleting User Accounts",
"url": "https://serveracademy.com/courses/linux-server-administration/creating-modifying-and-deleting-user-accounts/",
"type": "article"
},
{
"title": "How to create, update, and delete users account on Linux",
"url": "https://linuxconfig.org/how-to-create-modify-and-delete-users-account-on-linux",
"type": "article"
},
{
"title": "User Management in Linux: A Beginner's Guide",
"url": "https://dev.to/austinozor/user-management-in-linux-a-beginners-guide-to-creating-modifying-and-deleting-users-fhf",
"type": "article"
}
]
},
"h8wc8XEwWYHErna68w7Mg": {
"title": "Users and Groups",
"description": "User management in Linux uses groups to organize users and manage permissions efficiently. Groups are collections of users that simplify system administration by controlling access to resources like files and directories. Users can belong to multiple groups, enabling precise privilege management. Commands like `groupadd`, `groupdel`, `groupmod`, `usermod`, and `gpasswd` manage groups effectively. Proper group management is crucial for a secure and organized system environment.\n\nLearn more from the following resources:",
"links": [
{
"title": "How to create, delete, and modify groups in Linux",
"url": "https://www.redhat.com/sysadmin/linux-groups",
"type": "article"
},
{
"title": "How to Manage Groups on Linux",
"url": "https://linuxconfig.org/how-to-manage-groups-on-linux",
"type": "article"
},
{
"title": "Creating, Modifying, and Deleting User Accounts",
"url": "https://serveracademy.com/courses/linux-server-administration/creating-modifying-and-deleting-user-accounts/",
"type": "article"
},
{
"title": "User Management in Linux: A Beginner's Guide",
"url": "https://dev.to/austinozor/user-management-in-linux-a-beginners-guide-to-creating-modifying-and-deleting-users-fhf",
"type": "article"
}
]
},
"L6RMExeqi9501y-eCHDt1": {
"title": "Managing Permissions",
"description": "Linux file permissions control access to files and directories using read, write, and execute rights for user, group, and others. Use `chmod` to change permissions, `chown` to change ownership, and `chgrp` to change group ownership. Proper permission management is essential for system security and prevents unauthorized access to sensitive files and directories.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Linux File Permissions and Ownership Explained",
"url": "https://linuxhandbook.com/linux-file-permissions/",
"type": "article"
},
{
"title": "Linux File Permissions Explained",
"url": "https://www.redhat.com/sysadmin/linux-file-permissions-explained",
"type": "article"
},
{
"title": "Linux File Permissions in 5 minutes",
"url": "https://www.youtube.com/watch?v=LnKoncbQBsM",
"type": "video"
}
]
},
"F1sU3O1ouxTOvpidDfN3k": {
"title": "Service Management (systemd)",
"description": "Service management in Linux controls system daemons during boot/shutdown processes. Modern Linux distributions use systemd for service management with commands like `systemctl start/stop/restart/status/enable/disable`. Services perform various background functions independent of user interfaces. Effective service management is essential for system stability and security.\n\nLearn more from the following resources:",
"links": [
{
"title": "Service Management in Linux: A Comprehensive Guide",
"url": "https://medium.com/@thesureshvadde/service-management-in-linux-a-comprehensive-guide-cb4c7e81dfa9",
"type": "article"
},
{
"title": "How to Master Linux Service Management with Systemctl",
"url": "https://labex.io/tutorials/linux-how-to-master-linux-service-management-with-systemctl-392864",
"type": "article"
},
{
"title": "How to Manage Services in Linux: systemd and SysVinit",
"url": "https://dev.to/iaadidev/how-to-manage-services-in-linux-systemd-and-sysvinit-essentials-devops-prerequisite-8-1jop",
"type": "article"
}
]
},
"34UUrc8Yjc_8lvTL8itc3": {
"title": "Creating New Services",
"description": "Creating custom services in Linux involves writing systemd service unit files that define how processes should start, stop, and restart. Service files are placed in `/etc/systemd/system/` and contain sections like \\[Unit\\], \\[Service\\], and \\[Install\\]. Use `systemctl enable` to enable services at boot and `systemctl start` to run them. Custom services allow automation of background processes.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "How to Create a systemd Service in Linux",
"url": "https://linuxhandbook.com/create-systemd-services/",
"type": "article"
},
{
"title": "A Beginner's Guide to Creating Linux Services",
"url": "https://www.fosslinux.com/111815/a-guide-to-creating-linux-services-with-systemd.htm",
"type": "article"
}
]
},
"FStz-bftQBK0M6zz2Bxl4": {
"title": "Checking Service Logs",
"description": "Linux service management involves controlling system services like databases, web servers, and network services. Use `systemctl start service_name` to start services, `systemctl stop service_name` to stop them, and `systemctl restart service_name` to restart. These commands require root permissions via sudo and are essential for system administration and configuration management.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Using systemctl Command [15 Examples] - Linux Handbook",
"url": "https://linuxhandbook.com/systemctl-commands/",
"type": "article"
},
{
"title": "Start, Stop & Restart Services in Ubuntu and Other Linux",
"url": "https://itsfoss.com/start-stop-restart-services-linux/",
"type": "article"
},
{
"title": "Start, Restart, and Stop Service Linux: 3 Effective Ways",
"url": "https://linuxier.com/start-stop-and-restart-services-in-linux/",
"type": "article"
}
]
},
"DuEfJNrm4Jfmp8-8Pggrf": {
"title": "Starting / Stopping Services",
"description": "System logs are essential for troubleshooting and monitoring Linux systems. Most logs are stored in `/var/log` directory and managed by systemd. Use `journalctl` to view system logs and `journalctl -u service_name` for specific service logs. The `dmesg` command displays kernel messages. Regular log monitoring is crucial for system administration.\n\nLearn more from the following resources:",
"links": [
{
"title": "How to Use journalctl Command to Analyze Logs in Linux",
"url": "https://linuxhandbook.com/journalctl-command/",
"type": "article"
},
{
"title": "journalctl — Linux manual page",
"url": "https://www.man7.org/linux/man-pages/man1/journalctl.1.html",
"type": "article"
},
{
"title": "Linux Log Files Location & How To View Logs Files",
"url": "https://www.cyberciti.biz/faq/linux-log-files-location-and-how-do-i-view-logs-files/",
"type": "article"
}
]
},
"xk5Xgi797HlVjdZJRfwX1": {
"title": "Checking Service Status",
"description": "Checking service status in Linux helps monitor system health and troubleshoot issues. Use `systemctl status service_name` to view detailed service information including active state, process ID, and recent log entries. Commands like `systemctl is-active` and `systemctl is-enabled` provide quick status checks. Service status monitoring is crucial for maintaining system reliability and performance.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Use systemctl Status Command to Check Service Status",
"url": "https://linuxhandbook.com/systemctl-check-service-status/",
"type": "article"
},
{
"title": "systemctl - [15 Examples] - Linux Handbook",
"url": "https://linuxhandbook.com/systemctl-commands/",
"type": "article"
},
{
"title": "Start, Restart, and Stop Service Linux: 3 Effective Ways",
"url": "https://linuxier.com/start-stop-and-restart-services-in-linux/",
"type": "article"
}
]
},
"4eINX8jYMJxfYh7ZV47YI": {
"title": "Package Management",
"description": "Package management handles software installation, updates, configuration, and removal in Linux. It manages collections of files and tracks software prerequisites automatically. Common package managers include `apt` (Debian-based), `yum`/`dnf` (Red Hat-based), and `pacman` (Arch). Example: `sudo apt install <package-name>` installs packages. Essential for efficient application management.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "APT Package Manager",
"url": "https://www.debian.org/doc/manuals/apt-guide/index.en.html",
"type": "article"
},
{
"title": "Yum Package Manager",
"url": "http://yum.baseurl.org/",
"type": "article"
},
{
"title": "Using the DNF Software Package Manager",
"url": "https://docs.fedoraproject.org/en-US/quick-docs/dnf/",
"type": "article"
},
{
"title": "Linux Package Manager Explained",
"url": "https://geekflare.com/dev/linux-package-manager-explained/",
"type": "article"
},
{
"title": "8 Best Package Manager for Linux",
"url": "https://linuxsimply.com/linux-basics/package-management/best-package-manager/",
"type": "article"
},
{
"title": "Software Installation on Linux",
"url": "https://labex.io/tutorials/linux-software-installation-on-linux-18005",
"type": "article"
}
]
},
"2oQiuQ2j02SCt9t5eV6hg": {
"title": "Package Repositories",
"description": "Package repositories are storage locations containing software packages for Linux distributions. They enable easy installation, updates, and dependency management through package managers like apt, yum, or dnf. Each distribution has pre-configured repositories with tested, secure packages. Use commands like `apt update` or `yum update` to sync with repositories.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "APT Package Manager",
"url": "https://www.debian.org/doc/manuals/apt-guide/index.en.html",
"type": "article"
},
{
"title": "What is Repository in Linux?",
"url": "https://linuxsimply.com/what-is-repository-in-linux/",
"type": "article"
},
{
"title": "Official Repositories - ArchWiki",
"url": "https://wiki.archlinux.org/title/Official_repositories",
"type": "article"
},
{
"title": "Understanding Linux Repositories",
"url": "https://blogs.maalavs.com/linux/understanding-linux-repositories/",
"type": "article"
}
]
},
"Z23eJZjmWoeXQuezR9AhG": {
"title": "Finding & Installing Packages",
"description": "Linux package managers like `apt`, `yum`, and `dnf` automate software installation, updates, and removal. Use `apt-get update && apt-get install package-name` on Debian/Ubuntu systems or `dnf install package-name` on Fedora/CentOS. Package management eliminates manual compilation from source code and requires appropriate permissions (usually root access).\n\nVisit the following resources to learn more:",
"links": [
{
"title": "APT Package Manager",
"url": "https://www.debian.org/doc/manuals/apt-guide/index.en.html",
"type": "article"
},
{
"title": "Yum Package Manager",
"url": "http://yum.baseurl.org/",
"type": "article"
},
{
"title": "Using the DNF Software Package Manager",
"url": "https://docs.fedoraproject.org/en-US/quick-docs/dnf/",
"type": "article"
},
{
"title": "Linux Package Manager Explained",
"url": "https://geekflare.com/dev/linux-package-manager-explained/",
"type": "article"
},
{
"title": "8 Best Package Manager for Linux - LinuxSimply",
"url": "https://linuxsimply.com/linux-basics/package-management/best-package-manager/",
"type": "article"
}
]
},
"48wAoAAlCNt3j5mBpKTWC": {
"title": "Listing Installed Packages",
"description": "Linux distributions use different package managers: `apt` (Debian-based), `dnf` (Fedora), `zypper` (OpenSUSE), `pacman` (Arch). Listing installed packages helps with auditing software and deployment automation. Commands: `sudo apt list --installed` for apt systems, `dnf list installed` for dnf systems. Each distribution has its own syntax for this command.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "APT Package Manager",
"url": "https://www.debian.org/doc/manuals/apt-guide/index.en.html",
"type": "article"
},
{
"title": "5 ways to list installed packages in Linux",
"url": "https://www.howtouselinux.com/post/list-installed-packages-in-linux",
"type": "article"
},
{
"title": "Linux Package Manager Explained",
"url": "https://geekflare.com/dev/linux-package-manager-explained/",
"type": "article"
}
]
},
"xEHiB-egkkcBuZmgMoqHT": {
"title": "Install / Remove / Upgrade Packages",
"description": "Package management in Linux involves installing, removing, and upgrading software using distribution-specific tools. Use `apt` for Debian/Ubuntu, `yum`/`dnf` for Fedora/RHEL/CentOS, and `zypper` for SUSE. Common operations include `install package-name`, `remove package-name`, and `upgrade` commands. Each package manager has specific syntax but similar functionality for software lifecycle management.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "APT Package Manager",
"url": "https://www.debian.org/doc/manuals/apt-guide/index.en.html",
"type": "article"
},
{
"title": "Yum Package Manager",
"url": "http://yum.baseurl.org/",
"type": "article"
},
{
"title": "Using the DNF Software Package Manager",
"url": "https://docs.fedoraproject.org/en-US/quick-docs/dnf/",
"type": "article"
},
{
"title": "Linux Package Manager Explained",
"url": "https://geekflare.com/dev/linux-package-manager-explained/",
"type": "article"
}
]
},
"eKyMZn30UxQeBZQ7FxFbF": {
"title": "Snap",
"description": "Snap is a modern Linux package management system by Canonical providing self-contained packages with all dependencies included. Snaps run consistently across different Linux distributions, install from Snapcraft store, and update automatically. Updates are transactional with automatic rollback on failure. Install packages using `sudo snap install [package-name]` command.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "The \"snap\" Command in Linux",
"url": "https://linuxsimply.com/snap-command-in-linux/",
"type": "article"
},
{
"title": "How to Install and Use Snap in Various Linux Distributions",
"url": "https://itsfoss.com/install-snap-linux/",
"type": "article"
}
]
},
"Fn_uYKigJRgb7r_iYGVBr": {
"title": "Disks and Filesystems",
"description": "Linux supports various filesystems like EXT4, FAT32, NTFS, and Btrfs for organizing data on storage devices. Each filesystem has specific advantages - EXT4 for Linux systems, FAT32 for compatibility across operating systems. The `df -T` command displays mounted filesystems with their types, sizes, and available space information.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Filesystems in the Linux Kernel",
"url": "https://www.kernel.org/doc/html/v6.16-rc2/filesystems/index.html",
"type": "article"
},
{
"title": "Partitions And Filesystems In Linux - Introduction",
"url": "https://www.linuxfordevices.com/tutorials/linux/partitions-and-filesystems",
"type": "article"
},
{
"title": "Overview of File System Hierarchy Standard (FHS)",
"url": "https://access.redhat.com/documentation/ru-ru/red_hat_enterprise_linux/4/html/reference_guide/s1-filesystem-fhs#s3-filesystem-usr",
"type": "article"
},
{
"title": "Understanding Linux Filesystems: Inodes, Block Sizes, and Data",
"url": "https://www.linuxjournal.com/content/understanding-linux-filesystems-inodes-block-sizes-and-data-structures",
"type": "article"
}
]
},
"AwQJYL60NNbA5_z7iLcM7": {
"title": "Inodes",
"description": "An inode (index node) is a data structure in Linux filesystems that stores metadata about files and directories except their names and actual data. Contains file size, owner, permissions, timestamps, and more. Each file has a unique inode number for identification. Understanding inodes helps with advanced operations like linking and file recovery. Use `ls -i filename` to view inode numbers.\n\nLearn more from the following resources:",
"links": [
{
"title": "Introduction to Inodes",
"url": "https://linuxjourney.com/lesson/inodes",
"type": "article"
},
{
"title": "Index Nodes — The Linux Kernel documentation",
"url": "https://www.kernel.org/doc/html/latest/filesystems/ext4/inodes.html?highlight=inode",
"type": "article"
}
]
},
"LFPhSHOhUqM98fUxMjQUw": {
"title": "Filesystems",
"description": "Filesystems define how files are stored and organized on Linux storage disks, ensuring data integrity, reliability, and efficient access. Linux supports various types like EXT4, XFS, BTRFS with different performance and recovery capabilities. All files start from root directory '/'. Use `df -T` to display filesystem types and disk usage status. Essential for Linux administration tasks.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Filesystems in the Linux Kernel",
"url": "https://www.kernel.org/doc/html/v6.16-rc2/filesystems/index.html",
"type": "article"
},
{
"title": "df command in Linux (Check Disk Space)",
"url": "https://linuxize.com/post/how-to-check-disk-space-in-linux-using-the-df-command/",
"type": "article"
},
{
"title": "Partitions And Filesystems In Linux - Introduction",
"url": "https://www.linuxfordevices.com/tutorials/linux/partitions-and-filesystems",
"type": "article"
}
]
},
"AWosNs2nvDGV8r6WvgBI1": {
"title": "Swap",
"description": "Swap space extends physical memory by using disk storage when RAM is full. Inactive memory pages move to swap, freeing RAM but with performance impact due to slower disk access. Swap can exist as dedicated partitions or regular files. Create with `fallocate`, `mkswap`, and `swapon` commands. Critical for memory management and system stability optimization.\n\nLearn more from the following resources:",
"links": [
{
"title": "Swap - Arch Wiki",
"url": "https://wiki.archlinux.org/title/Swap",
"type": "article"
},
{
"title": "How to Increase Swap Space on Linux",
"url": "https://linuxconfig.org/how-to-increase-swap-space-on-linux",
"type": "article"
}
]
},
"zmb5lK_EGMAChPoPvP9E0": {
"title": "Mounts",
"description": "Mounting in Linux attaches filesystems to specific directories (mount points) in the directory tree, allowing the OS to access data on storage devices. The `mount` command performs this operation. Example: `mount /dev/sdb1 /mnt` mounts second partition to `/mnt` directory. The `/mnt` directory is conventionally used for temporary mounting operations. Essential for Linux disk and filesystem management.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "The mount command manual page",
"url": "https://man7.org/linux/man-pages/man8/mount.8.html",
"type": "article"
},
{
"title": "Mounting, unmounting and the /mnt directory - The Linux Documentation Project",
"url": "https://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/mnt.html",
"type": "article"
},
{
"title": "Linux mount command with Examples",
"url": "https://phoenixnap.com/kb/linux-mount-command",
"type": "article"
}
]
},
"4xBaZPk0eSsWG1vK3e2yW": {
"title": "Adding Disks",
"description": "Adding disks in Linux involves partitioning, creating filesystems, and mounting. Use `lsblk` to list devices, `fdisk /dev/sdX` to create partitions, `mkfs.ext4 /dev/sdX1` to create filesystems, and `mount /dev/sdX1 /mount/point` to mount. This process prepares new storage devices for seamless integration into the Linux filesystem hierarchy.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "How to Add a New Disk",
"url": "https://linuxconfig.org/how-to-add-new-disk-to-existing-linux-system",
"type": "article"
},
{
"title": "How to Add a New Disk to an Existing Linux Server",
"url": "https://www.tecmint.com/add-new-disk-to-an-existing-linux/",
"type": "article"
}
]
},
"I3LNa1cM_zRkBy8wKdz3g": {
"title": "LVM",
"description": "LVM provides logical volume management through device mapper framework, offering flexible disk management with resizing, mirroring, and moving capabilities. Three levels: Physical Volumes (PVs - actual disks), Volume Groups (VGs - storage pools), and Logical Volumes (LVs - carved portions). Create with `pvcreate`, `vgcreate`, and `lvcreate` commands. Essential for enterprise storage systems.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "The Complete Beginner's Guide to LVM in Linux",
"url": "https://linuxhandbook.com/lvm-guide/",
"type": "article"
},
{
"title": "A Beginner's Guide to LVM in Linux - It's FOSS",
"url": "https://itsfoss.com/lvm-guide/",
"type": "article"
}
]
},
"DQEa8LrJ9TVW4ULBE4aHJ": {
"title": "Booting Linux",
"description": "Linux booting involves several stages: POST, MBR, GRUB, Kernel, Init, and GUI/CLI. The bootloader loads the kernel into memory, which detects hardware, loads drivers, mounts filesystems, starts system processes, and presents login prompts. GRUB configuration is managed through `/etc/default/grub` with settings like timeout and default boot options.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "The GNU GRUB",
"url": "https://www.gnu.org/software/grub/",
"type": "article"
},
{
"title": "Booting process of Linux - Wikipedia",
"url": "https://en.wikipedia.org/wiki/Booting_process_of_Linux",
"type": "article"
},
{
"title": "The Linux Booting Process",
"url": "https://thelinuxcode.com/the-linux-booting-process-6-steps-described-in-detail/",
"type": "article"
}
]
},
"ru7mpLQZKE1QxAdiA1sS3": {
"title": "Logs",
"description": "Linux maintains logs documenting system activities, errors, and kernel messages. Boot logs record all operations during system startup for troubleshooting. Use `dmesg` to view kernel ring buffer messages in real-time, or access logs in `/var/log`. Systemd uses `journalctl` for logging. Log levels range from emergency (system unusable) to debug messages.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "How to Use journalctl Command to Analyze Logs in Linux",
"url": "https://linuxhandbook.com/journalctl-command/",
"type": "article"
},
{
"title": "How to Check System Logs on Linux",
"url": "https://www.fosslinux.com/8984/how-to-check-system-logs-on-linux-complete-usage-guide.htm",
"type": "article"
},
{
"title": "What is dmesg in Linux, And How Do I Use It?",
"url": "https://linuxconfig.org/what-is-dmesg-and-how-do-i-use-it",
"type": "article"
}
]
},
"o5lSQFW-V_PqndGqo1mp3": {
"title": "Boot Loaders",
"description": "Boot loaders load the OS kernel into memory when systems start. Common Linux boot loaders include GRUB (modern, feature-rich with graphical interface) and LILO (older, broader hardware support). Boot loaders initialize hardware, load drivers, start schedulers, and execute init processes. Use `sudo update-grub` to update GRUB configuration. Enable multi-OS booting on single machines.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "The GNU GRUB",
"url": "https://www.gnu.org/software/grub/",
"type": "article"
},
{
"title": "Bootloader - Archlinux wiki",
"url": "https://wiki.archlinux.org/title/Arch_boot_process#Boot_loader",
"type": "article"
},
{
"title": "Most Popular Linux Boot Loaders",
"url": "https://thelinuxcode.com/what-is-a-boot-loader/",
"type": "article"
},
{
"title": "GRUB Bootloader in Linux",
"url": "https://phoenixnap.com/kb/what-is-grub",
"type": "article"
}
]
},
"Mb42VFjCzMZn_PovKIfKx": {
"title": "Networking",
"description": "Linux networking enables system connections and resource sharing across platforms with robust management tools. Network configurations stored in `/etc/network/interfaces`. Key commands include `ifconfig` (deprecated) and `ip` for interface management. Supports various protocols with excellent scalability. Essential for system connectivity and network troubleshooting. Linux adopts a file-based approach for network configuration, storing network-related settings and configurations in standard files, such as `/etc/network/interfaces` or `/etc/sysconfig/network-scripts/`, depending on the Linux distribution.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "A Comprehensive Guide to Linux Networking",
"url": "https://centlinux.com/linux-networking/",
"type": "article"
},
{
"title": "A Beginner's Guide to Linux Networking Fundamentals",
"url": "https://dev.to/iaadidev/a-beginners-guide-to-linux-networking-fundamentals-dev-ops-prerequisite-7-434o",
"type": "article"
},
{
"title": "Practice on Networking Fundamentals",
"url": "https://linuxjourney.com/lesson/network-basics",
"type": "article"
}
]
},
"0pciSsiQqIGJh3x8465_s": {
"title": "TCP/IP Stack",
"description": "TCP/IP (Transmission Control Protocol/Internet Protocol) is the foundational networking protocol suite that enables computer communication over networks. It consists of four layers: Network Interface, Internet, Transport, and Application. In Linux, TCP/IP is integral to the OS functionality, allowing hosts to connect and transfer data across same or different networks.\n\nLearn more from the following resources:",
"links": [
{
"title": "TCP/IP Commands for Linux",
"url": "https://whatismyipaddress.com/tcp-ip-commands-linux",
"type": "article"
},
{
"title": "Netstat Command in Linux",
"url": "https://phoenixnap.com/kb/netstat-command",
"type": "article"
},
{
"title": "Netstat Command in Linux: 13 Practical Examples",
"url": "https://linuxhandbook.com/netstat-command/",
"type": "article"
}
]
},
"Xszo9vXuwwXZo26seHehD": {
"title": "Subnetting",
"description": "Subnetting divides networks into smaller subnets to improve performance and security in Linux networking. It organizes IP addresses within IP addressing schemes, preventing conflicts and efficiently utilizing address ranges. Use `route -n` to view routing tables and `route add -net xxx.xxx.xxx.x/xx gw yyy.yyy.yyy.y` to add subnets. Essential for complex networking environments.\n\nLearn more from the following resources:",
"links": [
{
"title": "Understanding IP Addressing and Subnetting in Linux",
"url": "https://useful.codes/understanding-ip-addressing-and-subnetting-in-linux/",
"type": "article"
},
{
"title": "The Basics of IP Subnetting | Linux Journal",
"url": "https://www.linuxjournal.com/article/6287",
"type": "article"
},
{
"title": "How to Find Subnet Mask in Linux",
"url": "https://www.howtouselinux.com/post/find-subnet-mask-on-linux",
"type": "article"
}
]
},
"4ees23q281J1DPVAc7iXd": {
"title": "Ethernet & arp/rarp",
"description": "Key networking protocols in Linux include Ethernet (LAN communication standard), ARP (Address Resolution Protocol - converts IP to MAC addresses), and RARP (Reverse ARP - converts MAC to IP addresses). These protocols enable local network communication and address resolution, essential for network troubleshooting and management in Linux systems.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "A Comprehensive guide to Linux Networking",
"url": "https://centlinux.com/linux-networking/",
"type": "article"
},
{
"title": "A Beginner's Guide to Linux Networking Fundamentals",
"url": "https://dev.to/iaadidev/a-beginners-guide-to-linux-networking-fundamentals-dev-ops-prerequisite-7-434o",
"type": "article"
},
{
"title": "ARP Explained - Address Resolution Protocol",
"url": "https://www.youtube.com/watch?v=cn8Zxh9bPio",
"type": "video"
},
{
"title": "What is Ethernet?",
"url": "https://www.youtube.com/watch?v=HLziLmaYsO0",
"type": "video"
}
]
},
"X6Jw95kbyPgsDNRhvkQP9": {
"title": "DHCP",
"description": "DHCP (Dynamic Host Configuration Protocol) automatically allocates IP addresses and network configuration to clients, ensuring unique addresses for each machine. In Linux, install with `sudo apt-get install isc-dhcp-server` and configure via `/etc/dhcp/dhcpd.conf`. DHCP servers require static IPs for effective management and can handle DNS and network data. The DHCP server effectively manages the IP addresses and information related to them, making sure that each client machine gets a unique IP and all the correct network information.\n\nVisit the following sources to learn more:",
"links": [
{
"title": "Dynamic Host Configuration Protocol - Wikipedia",
"url": "https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol",
"type": "article"
},
{
"title": "DHCP Protocol: How Dynamic Host Configuration Protocol Works",
"url": "https://network-guides.com/dhcp-protocol/",
"type": "article"
}
]
},
"D0yUzzaJsfhtdBWMtquAj": {
"title": "IP Routing",
"description": "IP routing in Linux involves configuring routing tables and network routes for packet forwarding across networks. The kernel handles route selection to send packets to their destinations. Use the `ip` command (replacing deprecated `ifconfig`) for network configuration. Example: `ip route show` displays all kernel-known routes for network troubleshooting and management.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Linux Set Up Routing with ip Command",
"url": "https://www.cyberciti.biz/faq/howto-linux-configuring-default-route-with-ipcommand/",
"type": "article"
},
{
"title": "Linux Networking: A Simplified Guide to IP Addresses",
"url": "https://www.linuxjournal.com/content/linux-networking-simplified-guide-ip-addresses-and-routing",
"type": "article"
}
]
},
"f5oQYhmjNM2_FD7Qe1zGK": {
"title": "DNS Resolution",
"description": "DNS (Domain Name System) converts hostnames to IP addresses, enabling users to access websites without remembering numeric addresses. Linux systems use `/etc/resolv.conf` to configure DNS resolution. Applications consult the DNS resolver, which communicates with DNS servers for address translation. Use `nslookup` or `dig` commands to query DNS and troubleshoot network connectivity issues.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Setup DNS Resolution With \"resolv.conf\" in Examples",
"url": "https://www.shellhacks.com/setup-dns-resolution-resolvconf-example/",
"type": "article"
},
{
"title": "DNS Resolution",
"url": "https://wiki.archlinux.org/title/Domain_name_resolution",
"type": "article"
},
{
"title": "nslookup command",
"url": "https://linuxconfig.org/nslookup-linux-command",
"type": "article"
},
{
"title": "dig command",
"url": "https://linuxhandbook.com/dig-command/",
"type": "article"
}
]
},
"bZ8Yj6QfBeDdh8hRM_aZs": {
"title": "Netfilter",
"description": "Netfilter is a Linux kernel framework for manipulating and filtering network packets with hooks at various stages (pre-routing, input, forward, output, post-routing). Used for firewalls and NAT management with iptables configuration. Essential for traffic control, packet modification, logging, and intrusion detection in Linux networking systems.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "netfilter/iptables project homepage",
"url": "https://netfilter.org/",
"type": "article"
},
{
"title": "Packet filtering in Linux - iptables, nftables and firewalld",
"url": "https://wyssmann.com/blog/2021/07/packet-filtering-in-linux-iptables-nftables-and-firewalld/",
"type": "article"
}
]
},
"uk6UMuI8Uhf02TBAGVeLS": {
"title": "SSH",
"description": "SSH (Secure Shell) is a cryptographic network protocol providing secure remote access, command execution, and data communication between networked computers. Replaces insecure protocols like Telnet with confidentiality, integrity, and security. Use `ssh username@server_ip_address` to connect to remote Linux servers. Essential for secure system administration and remote management.\n\nLearn more from the following resources:",
"links": [
{
"title": "Secure Shell",
"url": "https://en.wikipedia.org/wiki/Secure_Shell",
"type": "article"
},
{
"title": "Mastering SSH - A Complete Guide to Secure Shell Protocol",
"url": "https://www.socketxp.com/iot/ssh-secure-shell/",
"type": "article"
},
{
"title": "What is SSH? | Secure Shell (SSH) Protocol - Cloudflare",
"url": "https://www.cloudflare.com/learning/access-management/what-is-ssh/",
"type": "article"
}
]
},
"tVrbVcNEfc11FbEUoO2Dk": {
"title": "File Transfer",
"description": "Linux file transfer involves copying or moving files between systems over networks. Command-line tools support protocols like FTP, HTTP, SCP, SFTP, and NFS. Common commands include `scp`, `rsync`, and `wget`. Example: `scp /local/file username@remote:/destination` copies files to remote systems. These tools make network file sharing streamlined, easier, and more secure.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "How to Use Linux FTP Command to Transfer Files",
"url": "https://linuxize.com/post/how-to-use-linux-ftp-command-to-transfer-files/",
"type": "article"
},
{
"title": "Rsync Command in Linux with Examples",
"url": "https://linuxize.com/post/how-to-use-rsync-for-local-and-remote-data-transfer-and-synchronization/",
"type": "article"
},
{
"title": "Using scp Command in Linux",
"url": "https://linuxhandbook.com/scp-command/",
"type": "article"
},
{
"title": "Wget Command in Linux with Examples",
"url": "https://linuxize.com/post/wget-command-examples/",
"type": "article"
}
]
},
"4tFZ1PLpz50bddf7zSFrW": {
"title": "Shell Programming",
"description": "Shell programming (scripting) automates administrative tasks, repetitive operations, and system monitoring in Linux. Bash is the default shell and scripting language in most distributions. Scripts are text files executed by the shell, excellent for system automation. Example: `#!/bin/bash echo \"Hello, World!\"` creates a simple script that prints output to terminal.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Learn Shell - Free Interactive Shell Tutorial",
"url": "https://www.learnshell.org/",
"type": "article"
},
{
"title": "Bash Scripting Tutorial Series for Beginners",
"url": "https://linuxhandbook.com/bash/",
"type": "article"
},
{
"title": "Linux Bash Shell Scripting Tutorial Wiki",
"url": "https://bash.cyberciti.biz/guide/Main_Page",
"type": "article"
},
{
"title": "Bash Scripting on Linux - YT Playlist",
"url": "https://youtube.com/playlist?list=PLT98CRl2KxKGj-VKtApD8-zCqSaN2mD4w&si=MSehStqnhSqgoMSj",
"type": "video"
}
]
},
"-pW7R76yNIeGf7TQoX4QL": {
"title": "Literals",
"description": "Shell literals are fixed values in source code including string literals (enclosed in quotes), numeric literals (sequences of digits), and boolean literals (1=true, 0=false). String examples: 'Hello, world!' or \"Hello, world!\". Numeric examples: 25, 100, 1234. Understanding literals is fundamental for shell scripting readability and functionality in Linux programming.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Bash Tutorial - Quoting literal text",
"url": "https://riptutorial.com/bash/example/2465/quoting-literal-text",
"type": "article"
},
{
"title": "Handling Special Characters in Shell Scripts",
"url": "https://www.baeldung.com/linux/special-characters-in-shell-scripts",
"type": "article"
}
]
},
"JyxvZOb7iusOSUYSlniGl": {
"title": "Variables",
"description": "Shell variables store system or user-defined data that can change during script execution. Two categories exist: System Variables (PATH, HOME, PWD) created by Linux, and User-Defined Variables created by users. Define variables with `=` operator and retrieve values with `$` prefix. Example: `MY_VARIABLE=\"Hello World\"` then `echo $MY_VARIABLE` prints the value.\n\nLearn more from the following resources:",
"links": [
{
"title": "Learning The Shell",
"url": "https://www.linuxcommand.org/lc3_lts0010.php",
"type": "article"
},
{
"title": "How to Use Variables in Bash Shell Scripts",
"url": "https://linuxhandbook.com/bash-variables/",
"type": "article"
},
{
"title": "How To Read and Set Environmental and Shell Variables",
"url": "https://www.digitalocean.com/community/tutorials/how-to-read-and-set-environmental-and-shell-variables-on-linux",
"type": "article"
}
]
},
"WJT-yrMq8cEI87RHWA2jY": {
"title": "Loops",
"description": "Shell loops automate repetitive tasks with three types: `for` (iterates over lists), `while` (executes while condition true), `until` (runs until condition true). Example: `for i in 1 2 3; do echo \"$i\"; done` outputs each number. Essential for script efficiency, automation, and effective Linux shell programming.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Using For, While and Until Loops in Bash",
"url": "https://linuxhandbook.com/bash-loops/",
"type": "article"
},
{
"title": "Bash Loops with examples",
"url": "https://linuxconfig.org/bash-loops-with-examples",
"type": "article"
}
]
},
"rQxfp7UWqN72iqewZhOdc": {
"title": "Conditionals",
"description": "Shell conditionals allow scripts to make decisions based on conditions using `if`, `elif`, and `else` statements. These control process flow by evaluating string variables, arithmetic tests, or process status. Conditions are checked sequentially - if true, the corresponding code block executes; otherwise, it moves to the next condition until finding a match or reaching `else`.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Bash Scripting: Conditionals",
"url": "https://linuxconfig.org/bash-scripting-conditionals",
"type": "article"
},
{
"title": "Using If Else in Bash Scripts [Examples] - Linux Handbook",
"url": "https://linuxhandbook.com/if-else-bash/",
"type": "article"
}
]
},
"rOGnHbGIr3xPCFdpkqoeK": {
"title": "Debugging",
"description": "Shell script debugging in Linux uses tools like bash's `-x` option for execution traces, `trap`, `set` commands, and external tools like `shellcheck`. Use `#!/bin/bash -x` in scripts or `bash -x script.sh` from command line for tracing. These debugging options help detect, trace, and fix errors to make scripts more efficient and error-proof.\n\nVisit the following sources to learn more:",
"links": [
{
"title": "How To Debug a Bash Shell Script Under Linux or UNIX",
"url": "https://www.cyberciti.biz/tips/debugging-shell-script.html",
"type": "article"
},
{
"title": "How to Debug a Bash Shell Script in Linux",
"url": "https://www.linuxtechi.com/debugging-shell-scripts-in-linux/",
"type": "article"
},
{
"title": "How to Debug Bash Scripts",
"url": "https://thelinuxcode.com/debug-bash-script/",
"type": "article"
}
]
},
"bdQNcr1sj94aX_gjwf2Fa": {
"title": "Troubleshooting",
"description": "Linux troubleshooting involves identifying and resolving system errors, hardware/software issues, network problems, and resource management challenges. Key skills include using command-line tools, inspecting log files, understanding processes, and interpreting error messages. Tools like `top` provide real-time process monitoring to identify resource-heavy processes causing performance issues efficiently.\n\nLearn more from the following resources:",
"links": [
{
"title": "Troubleshooting Linux Problems: A Beginner's Guide",
"url": "https://learn.redhat.com/t5/Platform-Linux/Troubleshooting-Linux-Problems-A-Beginner-s-Guide/td-p/36236",
"type": "article"
},
{
"title": "Linux Top 20 Important Commands for Monitoring and Troubleshooting",
"url": "https://medium.com/@stepstodevops/linux-top-20-important-commands-for-monitoring-and-troubleshooting-a-comprehensive-guide-for-cd5aaa37da17",
"type": "article"
},
{
"title": "10 Linux Troubleshooting Tips - dummies",
"url": "https://www.dummies.com/article/technology/computers/operating-systems/linux/10-linux-troubleshooting-tips-274301/",
"type": "article"
}
]
},
"Ymf3u_sG1dyt8ZR_LbwqJ": {
"title": "ICMP",
"description": "Internet Control Message Protocol (ICMP) is a supportive protocol used by network devices to communicate error messages and operational information. Essential for Linux network troubleshooting, ICMP enables tools like `ping` and `traceroute` to diagnose network connectivity and routing issues. Use `ping www.google.com` to send ICMP echo requests and test network reachability effectively.\n\nLearn more from the following resources:",
"links": [
{
"title": "icmp(7) — Linux manual page",
"url": "https://www.man7.org/linux/man-pages/man7/icmp.7.html",
"type": "article"
},
{
"title": "Understanding ICMP Packets with Examples",
"url": "https://www.howtouselinux.com/post/icmp-packets",
"type": "article"
}
]
},
"Uc36t92UAlILgM3_XxcMG": {
"title": "ping",
"description": "The `ping` command is essential for Linux network troubleshooting, checking connectivity between your host and target machines. It sends ICMP ECHO\\_REQUEST packets and listens for ECHO\\_RESPONSE returns, providing insights into connection health and speed. Use `ping <target IP or hostname>` to diagnose network connectivity issues and identify reachability problems efficiently.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Ping Command in Linux",
"url": "https://linuxize.com/post/linux-ping-command/",
"type": "article"
},
{
"title": "Ping Command Examples in Linux - It's FOSS",
"url": "https://itsfoss.com/ping-command/",
"type": "article"
}
]
},
"BnB3Rirh4R7a7LW7-k-95": {
"title": "traceroute",
"description": "Traceroute is a Linux network diagnostic tool that displays the path packets take from your system to a destination. It identifies routing problems, measures latency, and reveals network structure as packets traverse the internet. Each hop is tested multiple times with round-trip times displayed. Use `traceroute www.example.com` to discover packet routes and diagnose failures.\n\nLearn more from the following resources:",
"links": [
{
"title": "traceroute Command Examples in Linux",
"url": "https://linuxhandbook.com/traceroute/",
"type": "article"
},
{
"title": "How to Use the traceroute Command on Linux",
"url": "https://www.howtogeek.com/657780/how-to-use-the-traceroute-command-on-linux/",
"type": "article"
}
]
},
"yrxNYMluJ9OAQCKuM5W1u": {
"title": "netstat",
"description": "Netstat is a command-line tool for network troubleshooting and performance measurement in Linux. It provides network statistics, open ports, routing table information, and protocol details. Use options like `-n` for numerical addresses, `-c` for continuous monitoring, and `-t`/`-u` for specific protocols. Example: `netstat -n` lists all connections with numerical values.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Netstat Command in Linux",
"url": "https://linuxhandbook.com/netstat-command/",
"type": "article"
},
{
"title": "How to Use netstat on Linux",
"url": "https://www.howtogeek.com/513003/how-to-use-netstat-on-linux/",
"type": "article"
}
]
},
"7seneb4TWts4v1_x8xlcZ": {
"title": "Packet Analysis",
"description": "Packet analysis is a key Linux network troubleshooting skill involving capturing and analyzing network traffic to identify performance issues, connectivity problems, and security vulnerabilities. Tools like tcpdump and Wireshark provide packet-level details for network diagnostics. Use `sudo tcpdump -i eth0` to capture packets on the eth0 interface for debugging network protocols.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "How to Capture and Analyze Packets with tcpdump",
"url": "https://www.debian.org/doc/manuals/apt-guide/index.en.html",
"type": "article"
},
{
"title": "Mastering Network Traffic Analysis in Linux",
"url": "https://en.ittrip.xyz/linux/linux-network-analysis",
"type": "article"
},
{
"title": "16 Best Free and Open Source Network Analyzers",
"url": "https://www.linuxlinks.com/best-free-open-source-network-analyzers/",
"type": "article"
}
]
},
"3OpGaQhyNtk1n1MLp-tlb": {
"title": "Containerization",
"description": "Containerization is a virtualization method that encapsulates applications in containers with isolated operating environments, enabling reliable deployment across computing environments. Unlike VMs requiring full operating systems, containers share the host system's user space, making them lightweight and faster. Docker is a popular Linux containerization tool for managing complex applications.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Docker",
"url": "https://docker.com",
"type": "article"
},
{
"title": "Kubernetes",
"url": "https://kubernetes.io",
"type": "article"
},
{
"title": "What is Containerization? - Containerization Explained - AWS",
"url": "https://aws.amazon.com/what-is/containerization/",
"type": "article"
},
{
"title": "What is Containerization? - DigitalOcean",
"url": "https://www.digitalocean.com/resources/articles/what-is-containerization",
"type": "article"
}
]
},
"QgfenmhMc18cU_JngQ1n0": {
"title": "ulimits",
"description": "Ulimits (user limits) are Linux kernel features that restrict resources like file handles and memory that processes can consume. In containerization, ulimits prevent rogue processes from exhausting server resources and creating denial-of-service situations. Use `ulimit -a` to view current limits and `ulimit -n 1024` to set specific limits for optimal container performance and security.\n\nLearn more from the following resources:",
"links": [
{
"title": "Check and set user limits with ulimit Linux command",
"url": "https://linuxconfig.org/limit-user-environment-with-ulimit-linux-command",
"type": "article"
},
{
"title": "How to Use Ulimit Command in Linux",
"url": "https://linuxhandbook.com/ulimit-command/",
"type": "article"
},
{
"title": "10 Linux Troubleshooting Tips",
"url": "https://www.dummies.com/article/technology/computers/operating-systems/linux/10-linux-troubleshooting-tips-274301/",
"type": "article"
}
]
},
"23lsrUw8ux6ZP9JlDNNu2": {
"title": "cgroups",
"description": "Cgroups (control groups) are a Linux kernel feature that organizes processes into hierarchical groups and limits their resource usage (CPU, memory, disk I/O). Essential for containerization, cgroups prevent containers from monopolizing host resources, ensuring system stability and performance. Use `cgcreate` to create groups, assign processes, and set resource limits effectively.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Control Groups — The Linux Kernel",
"url": "https://docs.kernel.org/admin-guide/cgroup-v1/",
"type": "article"
},
{
"title": "cgroups — Linux manual page",
"url": "https://www.man7.org/linux/man-pages/man7/cgroups.7.html",
"type": "article"
},
{
"title": "Introduction to Control Groups (Cgroups)",
"url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/7/html/resource_management_guide/chap-introduction_to_control_groups",
"type": "article"
}
]
},
"bVCwRoFsYb3HD8X4xuKOo": {
"title": "Container Runtime",
"description": "Container runtime is software responsible for running containers in Linux, providing image transport, storage, execution, and network interactions. Popular options include Docker (comprehensive ecosystem), Containerd (lightweight standalone), and CRI-O (Kubernetes-optimized). Each runtime offers specific features and benefits for different use cases in containerized application deployment and management.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Container Runtimes",
"url": "https://kubernetes.io/docs/setup/production-environment/container-runtimes/",
"type": "article"
},
{
"title": "What are Container Runtimes? Types and Popular Runtime",
"url": "https://www.wiz.io/academy/container-runtimes",
"type": "article"
},
{
"title": "What are container runtimes?",
"url": "https://opensource.com/article/21/9/container-runtimes",
"type": "article"
}
]
},
"MfengY3ouz6sSOx3PXYf8": {
"title": "Docker",
"description": "Docker is an open-source containerization platform that uses OS-level virtualization to package applications with dependencies into lightweight containers. In Linux, Docker containers share the kernel and use features like namespaces and cgroups for isolation. This provides less overhead than traditional VMs while enabling consistent deployment across environments.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Visit Dedicated Docker Roadmap",
"url": "https://roadmap.sh/docker",
"type": "article"
},
{
"title": "Docker",
"url": "https://docker.com",
"type": "article"
},
{
"title": "Docker Documentation",
"url": "https://docs.docker.com/",
"type": "article"
},
{
"title": "How To Install and Use Docker on Ubuntu",
"url": "https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-20-04",
"type": "article"
}
]
}
}