diff --git a/src/data/roadmaps/linux/content/adding-disks@4xBaZPk0eSsWG1vK3e2yW.md b/src/data/roadmaps/linux/content/adding-disks@4xBaZPk0eSsWG1vK3e2yW.md index 22c03a9a7..6cd6eb355 100644 --- a/src/data/roadmaps/linux/content/adding-disks@4xBaZPk0eSsWG1vK3e2yW.md +++ b/src/data/roadmaps/linux/content/adding-disks@4xBaZPk0eSsWG1vK3e2yW.md @@ -1,3 +1,8 @@ # Adding Disks -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. \ No newline at end of file +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. + +Visit the following resources to learn more: + +- [@article@How to Add a New Disk](https://linuxconfig.org/how-to-add-new-disk-to-existing-linux-system) +- [@article@How to Add a New Disk to an Existing Linux Server](https://www.tecmint.com/add-new-disk-to-an-existing-linux/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/archiving-and-compressing@iD073xTmpzvQFfXwcwXcY.md b/src/data/roadmaps/linux/content/archiving-and-compressing@iD073xTmpzvQFfXwcwXcY.md index b6f60dbfd..88b8a67ed 100644 --- a/src/data/roadmaps/linux/content/archiving-and-compressing@iD073xTmpzvQFfXwcwXcY.md +++ b/src/data/roadmaps/linux/content/archiving-and-compressing@iD073xTmpzvQFfXwcwXcY.md @@ -2,6 +2,7 @@ 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. -Learn more from the following resources: +Visit the following resources to learn more: -- [@article@Linux File Packaging and Compression](https://labex.io/tutorials/linux-file-packaging-and-compression-385413) \ No newline at end of file +- [@article@Linux File Packaging and Compression](https://labex.io/tutorials/linux-file-packaging-and-compression-385413) +- [@article@Compression and Archiving with `tar`, `gzip`, and `bzip2`](https://www.linuxbash.sh/post/compression-and-archiving-with-tar-gzip-and-bzip2) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/auth-logs@WwybfdKuP9ogCGpT7d3NU.md b/src/data/roadmaps/linux/content/auth-logs@WwybfdKuP9ogCGpT7d3NU.md index 3e7fd5b26..342527e51 100644 --- a/src/data/roadmaps/linux/content/auth-logs@WwybfdKuP9ogCGpT7d3NU.md +++ b/src/data/roadmaps/linux/content/auth-logs@WwybfdKuP9ogCGpT7d3NU.md @@ -1,3 +1,8 @@ # Authentication Logs -Authentication logs record system login events, password changes, and sudo commands, located in `/var/log/auth.log` (Debian) or `/var/log/secure` (Red Hat/CentOS). Essential for monitoring server security, detecting brute force attacks and unauthorized access attempts. Use `tail /var/log/auth.log` to view recent entries. Regular analysis ensures server security and data integrity. \ No newline at end of file +Authentication logs record system login events, password changes, and sudo commands, located in `/var/log/auth.log` (Debian) or `/var/log/secure` (Red Hat/CentOS). Essential for monitoring server security, detecting brute force attacks and unauthorized access attempts. Use `tail /var/log/auth.log` to view recent entries. Regular analysis ensures server security and data integrity. + +Visit the following resources to learn more: + +- [@article@Monitoring Linux Authentication Logs](https://betterstack.com/community/guides/logging/monitoring-linux-auth-logs/) +- [@article@How to Check Linux Login History - Linux Handbook](https://linuxhandbook.com/linux-login-history/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/authentication-logs@WwybfdKuP9ogCGpT7d3NU.md b/src/data/roadmaps/linux/content/authentication-logs@WwybfdKuP9ogCGpT7d3NU.md index eb5ef074e..59a9650c1 100644 --- a/src/data/roadmaps/linux/content/authentication-logs@WwybfdKuP9ogCGpT7d3NU.md +++ b/src/data/roadmaps/linux/content/authentication-logs@WwybfdKuP9ogCGpT7d3NU.md @@ -8,4 +8,7 @@ Here is an example of how you can use the `tail` command to view the last few en tail /var/log/auth.log ``` -Get yourself familiar with reading and understanding auth logs, as it's one essential way to keep your server secure. \ No newline at end of file +Visit the following resources to learn more: + +- [@article@Monitoring Linux Authentication Logs](https://betterstack.com/community/guides/logging/monitoring-linux-auth-logs/) +- [@article@How to Check Linux Login History - Linux Handbook](https://linuxhandbook.com/linux-login-history/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/available-mem@tx0nh6cbBjVxwNlyrBNYm.md b/src/data/roadmaps/linux/content/available-mem@tx0nh6cbBjVxwNlyrBNYm.md index 7e00ed201..bbacddd4f 100644 --- a/src/data/roadmaps/linux/content/available-mem@tx0nh6cbBjVxwNlyrBNYm.md +++ b/src/data/roadmaps/linux/content/available-mem@tx0nh6cbBjVxwNlyrBNYm.md @@ -2,3 +2,7 @@ Evaluating available memory is crucial for Linux system health monitoring. Use command-line tools like `free`, `vmstat`, and `top` to track memory usage and performance metrics. The `free -h` command shows total, used, free, shared, buffer/cache, and available memory in human-readable format. Essential for maintaining optimal server performance and troubleshooting resource issues. +Visit the following resources to learn more: + +- [@article@5 Best Ways To Check Available Memory In Linux](https://itslinuxfoss.com/5-ways-check-available-memory-linux/) +- [@article@Free vs. Available Memory in Linux](https://linuxblog.io/free-vs-available-memory-in-linux/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/available-memory--disk@tx0nh6cbBjVxwNlyrBNYm.md b/src/data/roadmaps/linux/content/available-memory--disk@tx0nh6cbBjVxwNlyrBNYm.md index a141dd49a..103c126b3 100644 --- a/src/data/roadmaps/linux/content/available-memory--disk@tx0nh6cbBjVxwNlyrBNYm.md +++ b/src/data/roadmaps/linux/content/available-memory--disk@tx0nh6cbBjVxwNlyrBNYm.md @@ -2,13 +2,7 @@ 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. -The `free` command, for instance, gives a summary of the overall memory usage including total used and free memory, swap memory and buffer/cache memory. Here's an example: +Visit the following resources to learn more: -```bash -$ free -h - total used free shared buff/cache available -Mem: 15Gi 10Gi 256Mi 690Mi 5.3Gi 4.2Gi -Swap: 8.0Gi 1.3Gi 6.7Gi -``` - -In this output, the '-h' option is used to present the results in a human-readable format. Understanding the state of memory usage in your Linux server can help maintain optimal server performance and troubleshoot any potential issues. \ No newline at end of file +- [@article@5 Best Ways To Check Available Memory In Linux](https://itslinuxfoss.com/5-ways-check-available-memory-linux/) +- [@article@Free vs. Available Memory in Linux](https://linuxblog.io/free-vs-available-memory-in-linux/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/awk@QTmECqpRVMjNgQU70uCF8.md b/src/data/roadmaps/linux/content/awk@QTmECqpRVMjNgQU70uCF8.md index 390df1b02..1345b1f88 100644 --- a/src/data/roadmaps/linux/content/awk@QTmECqpRVMjNgQU70uCF8.md +++ b/src/data/roadmaps/linux/content/awk@QTmECqpRVMjNgQU70uCF8.md @@ -1,11 +1,13 @@ # AWK -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. Example: `awk '{print $1,$2}' filename` prints first two fields of each line. +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. + +Example: `awk '{print $1,$2}' filename` prints first two fields of each line. Visit the following resources to learn more: - [@article@IBM.com: Awk by Example](https://developer.ibm.com/tutorials/l-awk1/) -- [@article@Linux Handbook: Awk](https://linuxhandbook.com/awk-command-tutorial/) -- [@video@YouTube](https://www.youtube.com/watch?v=9YOZmI-zWok) -- [@feed@Explore top posts about Bash](https://app.daily.dev/tags/bash?ref=roadmapsh) -- [@article@Linux awk Command: Text Processing](https://labex.io/tutorials/linux-linux-awk-command-text-processing-388493) \ No newline at end of file +- [@article@AWK Tutorial](https://linuxhandbook.com/awk-command-tutorial/) +- [@video@Learning Awk Is Essential For Linux Users](https://www.youtube.com/watch?v=9YOZmI-zWok) +- [@article@Linux awk Command: Text Processing](https://labex.io/tutorials/linux-linux-awk-command-text-processing-388493) +- [@feed@Explore top posts about Bash](https://app.daily.dev/tags/bash?ref=roadmapsh) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/background--foreground-processes@mUKoiGUTpIaUgQNF3BND_.md b/src/data/roadmaps/linux/content/background--foreground-processes@mUKoiGUTpIaUgQNF3BND_.md index 0f6ee67f6..a56fdb109 100644 --- a/src/data/roadmaps/linux/content/background--foreground-processes@mUKoiGUTpIaUgQNF3BND_.md +++ b/src/data/roadmaps/linux/content/background--foreground-processes@mUKoiGUTpIaUgQNF3BND_.md @@ -2,23 +2,8 @@ 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. -Here's how you can send a running process to background: +Visit the following resources to learn more: -```bash -command & -``` - -Or if a process is already running: - -```bash -CTRL + Z # This will pause the process -bg # This resumes the paused process in the background -``` - -And to bring it back to the foreground: - -```bash -fg -``` - -These commands, `bg` and `fg` are part of job control in Unix-like operating systems, which lets you manage multiple tasks simultaneously from a single terminal. \ No newline at end of file +- [@article@Understanding Foreground and Background Processes](https://linuxconfig.org/understanding-foreground-and-background-linux-processes) +- [@article@Running Linux Commands in Background and Foreground](https://linuxhandbook.com/run-process-background/) +- [@article@Foreground and Background Processes - LinuxOPsys](https://linuxopsys.com/foreground-and-background-processes-co11/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/basic-commands@qLeEEwBvlGt1fP5Qcreah.md b/src/data/roadmaps/linux/content/basic-commands@qLeEEwBvlGt1fP5Qcreah.md index 380a1a5af..aa3d88be4 100644 --- a/src/data/roadmaps/linux/content/basic-commands@qLeEEwBvlGt1fP5Qcreah.md +++ b/src/data/roadmaps/linux/content/basic-commands@qLeEEwBvlGt1fP5Qcreah.md @@ -1,23 +1,9 @@ # Linux Navigation Basics: Basic Commands -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. - -```bash -# Change directory -cd /path/to/directory - -# Lists files and directories in the current directory. -ls - -# View current working directory -pwd - -# Displays the mannual page for a command -man ls -``` - -In this brief introduction, we will discuss and explore these basic commands and how they aid us in navigation around the Linux environment. +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. Learn more from the following resources: -- [@article@Linux pwd Command: Directory Displaying](https://labex.io/tutorials/linux-file-and-directory-operations-17997) +- [@article@Linux Filesystem Navigation Basics](https://linuxconfig.org/filesystem-basics) +- [@article@Linux Navigation and File Management](https://www.digitalocean.com/community/tutorials/basic-linux-navigation-and-file-management) +- [@article@Basic Navigation Commands: `cd`, `ls`, and `pwd` ](https://www.linuxbash.sh/post/basic-navigation-commands-cd-ls-and-pwd) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/bg-fg-processes@mUKoiGUTpIaUgQNF3BND_.md b/src/data/roadmaps/linux/content/bg-fg-processes@mUKoiGUTpIaUgQNF3BND_.md index e4fa46c68..6ebc01f5c 100644 --- a/src/data/roadmaps/linux/content/bg-fg-processes@mUKoiGUTpIaUgQNF3BND_.md +++ b/src/data/roadmaps/linux/content/bg-fg-processes@mUKoiGUTpIaUgQNF3BND_.md @@ -1,3 +1,9 @@ # Background and Foreground Processes -Linux processes run in foreground (taking direct user input) or background (running independently). Send processes to background with `&` or `bg` command. Bring to foreground with `fg`. Use Ctrl+Z to pause, then `bg` to resume in background. Part of job control for managing multiple tasks simultaneously from single terminal. \ No newline at end of file +Linux processes run in foreground (taking direct user input) or background (running independently). Send processes to background with `&` or `bg` command. Bring to foreground with `fg`. Use Ctrl+Z to pause, then `bg` to resume in background. Part of job control for managing multiple tasks simultaneously from single terminal. + +Visit the following resources to learn more: + +- [@article@Understanding Foreground and Background Processes](https://linuxconfig.org/understanding-foreground-and-background-linux-processes) +- [@article@Running Linux Commands in Background and Foreground](https://linuxhandbook.com/run-process-background/) +- [@article@Foreground and Background Processes - LinuxOPsys](https://linuxopsys.com/foreground-and-background-processes-co11/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/boot-loaders@o5lSQFW-V_PqndGqo1mp3.md b/src/data/roadmaps/linux/content/boot-loaders@o5lSQFW-V_PqndGqo1mp3.md index 0b8a8f99a..e53d03714 100644 --- a/src/data/roadmaps/linux/content/boot-loaders@o5lSQFW-V_PqndGqo1mp3.md +++ b/src/data/roadmaps/linux/content/boot-loaders@o5lSQFW-V_PqndGqo1mp3.md @@ -3,7 +3,8 @@ 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. Visit the following resources to learn more: -- [@article@comprehensive documentation of Bootloader - archlinux wiki](https://wiki.archlinux.org/title/Arch_boot_process#Boot_loader) -- [@article@What Is GRUB Bootloader in Linux?](https://phoenixnap.com/kb/what-is-grub) -- [@official@The GNU GRUB website](https://www.gnu.org/software/grub/) +- [@official@The GNU GRUB](https://www.gnu.org/software/grub/) +- [@article@Bootloader - Archlinux wiki](https://wiki.archlinux.org/title/Arch_boot_process#Boot_loader) +- [@article@Most Popular Linux Boot Loaders](https://thelinuxcode.com/what-is-a-boot-loader/) +- [@article@GRUB Bootloader in Linux](https://phoenixnap.com/kb/what-is-grub) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/booting-linux@DQEa8LrJ9TVW4ULBE4aHJ.md b/src/data/roadmaps/linux/content/booting-linux@DQEa8LrJ9TVW4ULBE4aHJ.md index deb9f08b3..ac0a70bc2 100644 --- a/src/data/roadmaps/linux/content/booting-linux@DQEa8LrJ9TVW4ULBE4aHJ.md +++ b/src/data/roadmaps/linux/content/booting-linux@DQEa8LrJ9TVW4ULBE4aHJ.md @@ -1,3 +1,9 @@ # Booting Linux -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. \ No newline at end of file +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. + +Visit the following resources to learn more: + +- [@official@The GNU GRUB](https://www.gnu.org/software/grub/) +- [@article@Booting process of Linux - Wikipedia](https://en.wikipedia.org/wiki/Booting_process_of_Linux) +- [@article@The Linux Booting Process](https://thelinuxcode.com/the-linux-booting-process-6-steps-described-in-detail/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/cgroups@23lsrUw8ux6ZP9JlDNNu2.md b/src/data/roadmaps/linux/content/cgroups@23lsrUw8ux6ZP9JlDNNu2.md index a366e91b3..9edd3a1af 100644 --- a/src/data/roadmaps/linux/content/cgroups@23lsrUw8ux6ZP9JlDNNu2.md +++ b/src/data/roadmaps/linux/content/cgroups@23lsrUw8ux6ZP9JlDNNu2.md @@ -2,17 +2,8 @@ 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. -Here's an example of how you might create a new cgroup for a container: +Visit the following resources to learn more: -```bash -# Create a new cgroup for a container; -sudo cgcreate -g cpu:/my_new_container - -# Assign the current shell's process to the new cgroup; -echo $$ | sudo tee /sys/fs/cgroup/cpu/my_new_container/tasks - -# Limit the CPU usage of the cgroup to 20%; -echo 200000 | sudo tee /sys/fs/cgroup/cpu/my_new_container/cpu.cfs_quota_us -``` - -In this snippet, we are using `cgcreate` to create a new cgroup, then adding the current process to it, and finally setting a CPU limit. \ No newline at end of file +- [@official@Control Groups — The Linux Kernel](https://docs.kernel.org/admin-guide/cgroup-v1/) +- [@article@cgroups — Linux manual page](https://www.man7.org/linux/man-pages/man7/cgroups.7.html) +- [@article@Introduction to Control Groups (Cgroups)](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/7/html/resource_management_guide/chap-introduction_to_control_groups) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/check-logs@DuEfJNrm4Jfmp8-8Pggrf.md b/src/data/roadmaps/linux/content/check-logs@DuEfJNrm4Jfmp8-8Pggrf.md index 4fb212986..ecd15120b 100644 --- a/src/data/roadmaps/linux/content/check-logs@DuEfJNrm4Jfmp8-8Pggrf.md +++ b/src/data/roadmaps/linux/content/check-logs@DuEfJNrm4Jfmp8-8Pggrf.md @@ -2,3 +2,8 @@ Linux system logs provide chronological records of events for debugging and troubleshooting, stored in `/var/log` directory. Use `dmesg` for kernel messages and `journalctl` for systemd logs. `journalctl -u service_name` shows logs for specific services. Essential skill for system administration, monitoring, and effective troubleshooting in Linux environments. +Visit the following resources to learn more: + +- [@article@How to Check System Logs on Linux](https://www.fosslinux.com/8984/how-to-check-system-logs-on-linux-complete-usage-guide.htm) +- [@article@Linux Log Files Location & How To View Logs Files](https://www.cyberciti.biz/faq/linux-log-files-location-and-how-do-i-view-logs-files/) +- [@article@System Logging - Linuxjourney](https://linuxjourney.com/lesson/system-logging) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/checking-service-logs@FStz-bftQBK0M6zz2Bxl4.md b/src/data/roadmaps/linux/content/checking-service-logs@FStz-bftQBK0M6zz2Bxl4.md index ea942746f..9d649484b 100644 --- a/src/data/roadmaps/linux/content/checking-service-logs@FStz-bftQBK0M6zz2Bxl4.md +++ b/src/data/roadmaps/linux/content/checking-service-logs@FStz-bftQBK0M6zz2Bxl4.md @@ -2,18 +2,8 @@ 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. -Here is a simple example: +Visit the following resources to learn more: -```bash -# To start a service -sudo systemctl start service_name - -# To stop a service -sudo systemctl stop service_name - -# To restart a service -sudo systemctl restart service_name -``` - -Replace `service_name` with the name of the service you want to start, stop or restart. Always make sure to use sudo to execute these commands as they require root permissions. -Please note, these commands will vary based on the specific Linux distribution and the init system it uses. \ No newline at end of file +- [@article@Using systemctl Command [15 Examples] - Linux Handbook](https://linuxhandbook.com/systemctl-commands/) +- [@article@Start, Stop & Restart Services in Ubuntu and Other Linux](https://itsfoss.com/start-stop-restart-services-linux/) +- [@article@Start, Restart, and Stop Service Linux: 3 Effective Ways](https://linuxier.com/start-stop-and-restart-services-in-linux/) diff --git a/src/data/roadmaps/linux/content/checking-service-status@xk5Xgi797HlVjdZJRfwX1.md b/src/data/roadmaps/linux/content/checking-service-status@xk5Xgi797HlVjdZJRfwX1.md index 6fdd11ef4..3989f7963 100644 --- a/src/data/roadmaps/linux/content/checking-service-status@xk5Xgi797HlVjdZJRfwX1.md +++ b/src/data/roadmaps/linux/content/checking-service-status@xk5Xgi797HlVjdZJRfwX1.md @@ -1,3 +1,9 @@ # Checking Service Status -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. \ No newline at end of file +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. + +Visit the following resources to learn more: + +- [@article@Use systemctl Status Command to Check Service Status](https://linuxhandbook.com/systemctl-check-service-status/) +- [@article@systemctl - [15 Examples] - Linux Handbook](https://linuxhandbook.com/systemctl-commands/) +- [@article@Start, Restart, and Stop Service Linux: 3 Effective Ways](https://linuxier.com/start-stop-and-restart-services-in-linux/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/command-help@KaMSsQnJzNqGHg0Oia4uy.md b/src/data/roadmaps/linux/content/command-help@KaMSsQnJzNqGHg0Oia4uy.md index aee0289f3..370062df8 100644 --- a/src/data/roadmaps/linux/content/command-help@KaMSsQnJzNqGHg0Oia4uy.md +++ b/src/data/roadmaps/linux/content/command-help@KaMSsQnJzNqGHg0Oia4uy.md @@ -2,8 +2,9 @@ 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. -Learn more from the following resources: +Visit the following resources to learn more: -- [@article@How to use the man page](https://www.baeldung.com/linux/man-command) +- [@article@Using the Help Command in Linux](https://linuxhandbook.com/help-command/) +- [@article@Chapter 10: Getting Help in Linux Terminal](https://itsfoss.com/linux-command-help/) - [@opensource@tldr-pages/tldr](https://github.com/tldr-pages/tldr) - [@article@Get Help on Linux Commands](https://labex.io/tutorials/linux-get-help-on-linux-commands-18000) diff --git a/src/data/roadmaps/linux/content/command-path@moGMHNR58wFlzhS7je1wc.md b/src/data/roadmaps/linux/content/command-path@moGMHNR58wFlzhS7je1wc.md index f7b447b55..d3a8f8049 100644 --- a/src/data/roadmaps/linux/content/command-path@moGMHNR58wFlzhS7je1wc.md +++ b/src/data/roadmaps/linux/content/command-path@moGMHNR58wFlzhS7je1wc.md @@ -1,13 +1,10 @@ -# Command Path in Shell Basics +# Command Path in Shell -In Linux, the command path is an important concept under shell basics. Simply put, 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! +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! Usually, 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. -```sh -echo $PATH -``` +Visit the following resources to learn more: -Running this command in a Linux terminal will return all the directories that the shell will search, in order, to find the command it has to run. The directories are separated by a colon. - -This feature makes using Linux command-line interface convenient and efficient. \ No newline at end of file +- [@article@Linux path environment variable](https://linuxconfig.org/linux-path-environment-variable) +- [@article@How to find a path of a Linux command like a pro](https://www.cyberciti.biz/howto/finding-a-path-of-a-linux-command-like-a-pro/) diff --git a/src/data/roadmaps/linux/content/conditionals@rQxfp7UWqN72iqewZhOdc.md b/src/data/roadmaps/linux/content/conditionals@rQxfp7UWqN72iqewZhOdc.md index 0d7575ef7..48e57654a 100644 --- a/src/data/roadmaps/linux/content/conditionals@rQxfp7UWqN72iqewZhOdc.md +++ b/src/data/roadmaps/linux/content/conditionals@rQxfp7UWqN72iqewZhOdc.md @@ -1,3 +1,8 @@ # Conditionals -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`. \ No newline at end of file +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`. + +Visit the following resources to learn more: + +- [@article@Bash Scripting: Conditionals](https://linuxconfig.org/bash-scripting-conditionals) +- [@article@Using If Else in Bash Scripts [Examples] - Linux Handbook](https://linuxhandbook.com/if-else-bash/) diff --git a/src/data/roadmaps/linux/content/container-runtime@bVCwRoFsYb3HD8X4xuKOo.md b/src/data/roadmaps/linux/content/container-runtime@bVCwRoFsYb3HD8X4xuKOo.md index 8994597f2..7d631f55c 100644 --- a/src/data/roadmaps/linux/content/container-runtime@bVCwRoFsYb3HD8X4xuKOo.md +++ b/src/data/roadmaps/linux/content/container-runtime@bVCwRoFsYb3HD8X4xuKOo.md @@ -1,3 +1,9 @@ # Container Runtime -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. \ No newline at end of file +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. + +Visit the following resources to learn more: + +- [@article@Container Runtimes](https://kubernetes.io/docs/setup/production-environment/container-runtimes/) +- [@article@What are Container Runtimes? Types and Popular Runtime](https://www.wiz.io/academy/container-runtimes) +- [@article@What are container runtimes?](https://opensource.com/article/21/9/container-runtimes) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/containerization@3OpGaQhyNtk1n1MLp-tlb.md b/src/data/roadmaps/linux/content/containerization@3OpGaQhyNtk1n1MLp-tlb.md index df6d6dc18..046b32729 100644 --- a/src/data/roadmaps/linux/content/containerization@3OpGaQhyNtk1n1MLp-tlb.md +++ b/src/data/roadmaps/linux/content/containerization@3OpGaQhyNtk1n1MLp-tlb.md @@ -1,3 +1,10 @@ # Containerization -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. \ No newline at end of file +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. + +Visit the following resources to learn more: + +- [@official@Docker](https://docker.com) +- [@official@Kubernetes](https://kubernetes.io) +- [@article@What is Containerization? - Containerization Explained - AWS](https://aws.amazon.com/what-is/containerization/) +- [@article@What is Containerization? - DigitalOcean](https://www.digitalocean.com/resources/articles/what-is-containerization) diff --git a/src/data/roadmaps/linux/content/copying-and-renaming@abKO6KuuIfl9ruVxBw6t_.md b/src/data/roadmaps/linux/content/copying-and-renaming@abKO6KuuIfl9ruVxBw6t_.md index 7a8d656e4..1b428e847 100644 --- a/src/data/roadmaps/linux/content/copying-and-renaming@abKO6KuuIfl9ruVxBw6t_.md +++ b/src/data/roadmaps/linux/content/copying-and-renaming@abKO6KuuIfl9ruVxBw6t_.md @@ -2,7 +2,9 @@ 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. -Learn more from the following resources: +Visit the following resources to learn more: +- [@article@mv and cp - Linux.org](https://www.linux.org/threads/mv-and-cp.54793/) +- [@article@Mastering cp and mv Commands in Linux](https://dev.to/ldwit/mastering-cp-and-mv-commands-in-linux-plus-related-cmds-5cc9) - [@article@Linux cp Command: File Copying](https://labex.io/tutorials/linux-linux-cp-command-file-copying-209744) - [@article@Linux mv Command: File Moving and Renaming](https://labex.io/tutorials/linux-linux-mv-command-file-moving-and-renaming-209743) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/copying-renaming@abKO6KuuIfl9ruVxBw6t_.md b/src/data/roadmaps/linux/content/copying-renaming@abKO6KuuIfl9ruVxBw6t_.md index 908ae43a0..1b428e847 100644 --- a/src/data/roadmaps/linux/content/copying-renaming@abKO6KuuIfl9ruVxBw6t_.md +++ b/src/data/roadmaps/linux/content/copying-renaming@abKO6KuuIfl9ruVxBw6t_.md @@ -1,22 +1,10 @@ # Copying and Renaming Files -In Linux, working with files is a daily operation. Whether you are a system administrator, a developer or a regular user, there are tasks where you need to copy, rename, or perform similar actions with files and directories. +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. -To copy files, we utilize the `cp` command. It stands for "copy" and operates on two primary arguments: the file you want to copy and the location where you want it copied. For instance: - -```bash -cp /path/to/original/file /path/to/copied/file -``` - -On the other hand, to rename or move files, we use the `mv` command. The `mv` command stands for "move". Similar to the `cp` command, it operates on two arguments being the file you want to rename or move and the file or directory you want to rename or move it to. This would look something like: - -```bash -mv /path/to/original/file /path/to/new/file -``` - -Remember that Linux commands are case sensitive so make sure to enter the commands exactly as they are. - -Learn more from the following resources: +Visit the following resources to learn more: +- [@article@mv and cp - Linux.org](https://www.linux.org/threads/mv-and-cp.54793/) +- [@article@Mastering cp and mv Commands in Linux](https://dev.to/ldwit/mastering-cp-and-mv-commands-in-linux-plus-related-cmds-5cc9) - [@article@Linux cp Command: File Copying](https://labex.io/tutorials/linux-linux-cp-command-file-copying-209744) - [@article@Linux mv Command: File Moving and Renaming](https://labex.io/tutorials/linux-linux-mv-command-file-moving-and-renaming-209743) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/create--delete--update@R9TZfkgVUQNLnMpDhovJa.md b/src/data/roadmaps/linux/content/create--delete--update@R9TZfkgVUQNLnMpDhovJa.md index 0e29f6c15..64324b133 100644 --- a/src/data/roadmaps/linux/content/create--delete--update@R9TZfkgVUQNLnMpDhovJa.md +++ b/src/data/roadmaps/linux/content/create--delete--update@R9TZfkgVUQNLnMpDhovJa.md @@ -2,7 +2,8 @@ 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. -Learn more from the following resources: +Visit the following resources to learn more: +- [@article@Creating, Modifying, and Deleting User Accounts](https://serveracademy.com/courses/linux-server-administration/creating-modifying-and-deleting-user-accounts/) - [@article@How to create, update, and delete users account on Linux](https://linuxconfig.org/how-to-create-modify-and-delete-users-account-on-linux) -- [@article@How to manage users in Linux](https://www.freecodecamp.org/news/how-to-manage-users-in-linux/) \ No newline at end of file +- [@article@User Management in Linux: A Beginner's Guide](https://dev.to/austinozor/user-management-in-linux-a-beginners-guide-to-creating-modifying-and-deleting-users-fhf) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/create-update@R9TZfkgVUQNLnMpDhovJa.md b/src/data/roadmaps/linux/content/create-update@R9TZfkgVUQNLnMpDhovJa.md index 68042d33e..14aa6e67e 100644 --- a/src/data/roadmaps/linux/content/create-update@R9TZfkgVUQNLnMpDhovJa.md +++ b/src/data/roadmaps/linux/content/create-update@R9TZfkgVUQNLnMpDhovJa.md @@ -2,7 +2,8 @@ Linux user management involves creating, updating, and deleting user accounts for system security and resource utilization. Key commands: `useradd`/`adduser` (create users), `usermod` (update user details like home directory/shell), `userdel` (delete users). Essential for maintaining secure, organized multi-user system environments and efficient resource allocation. -Learn more from the following resources: +Visit the following resources to learn more: +- [@article@Creating, Modifying, and Deleting User Accounts](https://serveracademy.com/courses/linux-server-administration/creating-modifying-and-deleting-user-accounts/) - [@article@How to create, update, and delete users account on Linux](https://linuxconfig.org/how-to-create-modify-and-delete-users-account-on-linux) -- [@article@How to manage users in Linux](https://www.freecodecamp.org/news/how-to-manage-users-in-linux/) \ No newline at end of file +- [@article@User Management in Linux: A Beginner's Guide](https://dev.to/austinozor/user-management-in-linux-a-beginners-guide-to-creating-modifying-and-deleting-users-fhf) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/creating--deleting-files--dirs@9oo2fxTM2_p0VYPBroqxa.md b/src/data/roadmaps/linux/content/creating--deleting-files--dirs@9oo2fxTM2_p0VYPBroqxa.md index e3824f301..a856fb7db 100644 --- a/src/data/roadmaps/linux/content/creating--deleting-files--dirs@9oo2fxTM2_p0VYPBroqxa.md +++ b/src/data/roadmaps/linux/content/creating--deleting-files--dirs@9oo2fxTM2_p0VYPBroqxa.md @@ -2,6 +2,8 @@ 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. -Learn more from the following resources: +Visit the following resources to learn more: -- [@article@Linux rm Command: File Removing](https://labex.io/tutorials/linux-linux-rm-command-file-removing-209741) +- [@article@What is the Difference Between Cat and Touch Command](https://linuxways.net/centos/what-is-the-difference-between-cat-and-touch-command/) +- [@article@Creating and Deleting Files / Directories in Linux](https://useful.codes/creating-and-deleting-files-directories-in-linux/) +- [@article@Creating, Moving, and Deleting Files and Folders](https://dev.to/alkesh009/linux-basics-part-4-creating-moving-and-deleting-files-and-folders-5hip) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/creating-files@9oo2fxTM2_p0VYPBroqxa.md b/src/data/roadmaps/linux/content/creating-files@9oo2fxTM2_p0VYPBroqxa.md index 97fb9df04..8e9d89580 100644 --- a/src/data/roadmaps/linux/content/creating-files@9oo2fxTM2_p0VYPBroqxa.md +++ b/src/data/roadmaps/linux/content/creating-files@9oo2fxTM2_p0VYPBroqxa.md @@ -2,6 +2,8 @@ Linux file creation uses `touch` for empty files, `echo "text" > filename` for text files, or `cat > filename` for interactive input. Commands like `mkdir` create directories. File creation is immediate and permanent. Essential for organizing data, scripts, and configuration files in Linux systems. -Learn more from the following resources: +Visit the following resources to learn more: -- [@article@Linux rm Command: File Removing](https://labex.io/tutorials/linux-linux-rm-command-file-removing-209741) \ No newline at end of file +- [@article@What is the Difference Between Cat and Touch Command](https://linuxways.net/centos/what-is-the-difference-between-cat-and-touch-command/) +- [@article@Creating and Deleting Files / Directories in Linux](https://useful.codes/creating-and-deleting-files-directories-in-linux/) +- [@article@Creating, Moving, and Deleting Files and Folders](https://dev.to/alkesh009/linux-basics-part-4-creating-moving-and-deleting-files-and-folders-5hip) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/creating-new-services@34UUrc8Yjc_8lvTL8itc3.md b/src/data/roadmaps/linux/content/creating-new-services@34UUrc8Yjc_8lvTL8itc3.md index a8dcf65ac..142488e3b 100644 --- a/src/data/roadmaps/linux/content/creating-new-services@34UUrc8Yjc_8lvTL8itc3.md +++ b/src/data/roadmaps/linux/content/creating-new-services@34UUrc8Yjc_8lvTL8itc3.md @@ -1,3 +1,8 @@ # Creating New Services -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. \ No newline at end of file +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. + +Visit the following resources to learn more: + +- [@article@How to Create a systemd Service in Linux](https://linuxhandbook.com/create-systemd-services/) +- [@article@A Beginner's Guide to Creating Linux Services](https://www.fosslinux.com/111815/a-guide-to-creating-linux-services-with-systemd.htm) diff --git a/src/data/roadmaps/linux/content/creating-services@xk5Xgi797HlVjdZJRfwX1.md b/src/data/roadmaps/linux/content/creating-services@xk5Xgi797HlVjdZJRfwX1.md index 48f49c9e6..babb7b691 100644 --- a/src/data/roadmaps/linux/content/creating-services@xk5Xgi797HlVjdZJRfwX1.md +++ b/src/data/roadmaps/linux/content/creating-services@xk5Xgi797HlVjdZJRfwX1.md @@ -2,3 +2,7 @@ Creating Linux services involves setting up background applications using systemd service files. Services run continuously performing essential tasks like web servers, databases, and mail servers. Create `.service` files in `/etc/systemd/system/` with Unit, Service, and Install sections. Control services using `systemctl` commands. Best practice: avoid running services as root for security. +Visit the following resources to learn more: + +- [@article@How to Create a systemd Service in Linux](https://linuxhandbook.com/create-systemd-services/) +- [@article@A Beginner's Guide to Creating Linux Services](https://www.fosslinux.com/111815/a-guide-to-creating-linux-services-with-systemd.htm) diff --git a/src/data/roadmaps/linux/content/cut@Z5Mf_e5G24IkmxEHgYBe2.md b/src/data/roadmaps/linux/content/cut@Z5Mf_e5G24IkmxEHgYBe2.md index 70cc75f42..b89b2bdb5 100644 --- a/src/data/roadmaps/linux/content/cut@Z5Mf_e5G24IkmxEHgYBe2.md +++ b/src/data/roadmaps/linux/content/cut@Z5Mf_e5G24IkmxEHgYBe2.md @@ -2,22 +2,7 @@ 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. -This command is extremely helpful when you only need certain parts of the file, such as a column, a range of columns, or a specific field. For example, with Linux system logs or CSV files, you might only be interested in certain bits of information. - -A basic syntax of `cut` command is: - -``` -cut OPTION... [FILE]... -``` - -Here's an example of how you might use the `cut` command in Linux: - -```bash -echo "one,two,three,four" | cut -d "," -f 2 -``` - -This command will output the second field (`two`) by using the comma as a field delimiter (`-d ","`). - -Learn more from the following resources: +Visit the following resources to learn more: +- [@article@Cut Command in Linux | Linuxize](https://linuxize.com/post/linux-cut-command/) - [@article@Linux cut Command: Text Cutting](https://labex.io/tutorials/linux-linux-cut-command-text-cutting-219187) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/debugging@rOGnHbGIr3xPCFdpkqoeK.md b/src/data/roadmaps/linux/content/debugging@rOGnHbGIr3xPCFdpkqoeK.md index 3e670152f..06a8999af 100644 --- a/src/data/roadmaps/linux/content/debugging@rOGnHbGIr3xPCFdpkqoeK.md +++ b/src/data/roadmaps/linux/content/debugging@rOGnHbGIr3xPCFdpkqoeK.md @@ -2,5 +2,8 @@ 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. -Visit the following sources to learn more: -- [@official@Official Bashdb Documentation](https://bashdb.readthedocs.io/) +Visit the following sources to learn more: + +- [@article@How To Debug a Bash Shell Script Under Linux or UNIX](https://www.cyberciti.biz/tips/debugging-shell-script.html) +- [@article@How to Debug a Bash Shell Script in Linux](https://www.linuxtechi.com/debugging-shell-scripts-in-linux/) +- [@article@How to Debug Bash Scripts](https://thelinuxcode.com/debug-bash-script/) diff --git a/src/data/roadmaps/linux/content/dhcp@X6Jw95kbyPgsDNRhvkQP9.md b/src/data/roadmaps/linux/content/dhcp@X6Jw95kbyPgsDNRhvkQP9.md index f23fb0f17..9da756d74 100644 --- a/src/data/roadmaps/linux/content/dhcp@X6Jw95kbyPgsDNRhvkQP9.md +++ b/src/data/roadmaps/linux/content/dhcp@X6Jw95kbyPgsDNRhvkQP9.md @@ -1,17 +1,8 @@ # DHCP -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. +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. -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. +Visit the following sources to learn more: -In Linux, DHCP can be configured and managed using terminal commands. This involves the installation of the DHCP server software, editing the configuration files, and managing the server's services. - -A traditional DHCP server should have a static IP address to manage the IP distribution effectively. The DHCP in Linux also handles DNS and other related data that your network might require. - -Here is an example of a basic command to install a DHCP server in a Debian-based Linux: - -```bash -sudo apt-get install isc-dhcp-server -``` - -After the installation process, all configurations of the DHCP server are done in the configuration file located at `/etc/dhcp/dhcpd.conf` which can be edited using any text editor. \ No newline at end of file +- [@article@Dynamic Host Configuration Protocol - Wikipedia](https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol) +- [@article@DHCP Protocol: How Dynamic Host Configuration Protocol Works](https://network-guides.com/dhcp-protocol/) diff --git a/src/data/roadmaps/linux/content/directory-hierarchy-overview@3fzuXKH7az_LVnmnoXB1p.md b/src/data/roadmaps/linux/content/directory-hierarchy-overview@3fzuXKH7az_LVnmnoXB1p.md index b88cbcd46..79bcf4fb2 100644 --- a/src/data/roadmaps/linux/content/directory-hierarchy-overview@3fzuXKH7az_LVnmnoXB1p.md +++ b/src/data/roadmaps/linux/content/directory-hierarchy-overview@3fzuXKH7az_LVnmnoXB1p.md @@ -15,5 +15,5 @@ In Linux, understanding the directory hierarchy is crucial for efficient navigat Visit the following resources to learn more: -- [@article@Overview of File System Hierarchy Standard (FHS)](https://access.redhat.com/documentation/ru-ru/red_hat_enterprise_linux/4/html/reference_guide/s1-filesystem-fhs#s3-filesystem-usr). -- [@video@The Linux File System explained in 1,233 seconds](https://youtu.be/A3G-3hp88mo?si=sTJTSzubdb0Vizjr) +- [@article@Overview of File System Hierarchy Standard (FHS)](https://access.redhat.com/documentation/ru-ru/red_hat_enterprise_linux/4/html/reference_guide/s1-filesystem-fhs#s3-filesystem-usr) +- [@video@The Linux File System Explained in 1,233 Seconds](https://youtu.be/A3G-3hp88mo?si=sTJTSzubdb0Vizjr) diff --git a/src/data/roadmaps/linux/content/directory-hierarchy@3fzuXKH7az_LVnmnoXB1p.md b/src/data/roadmaps/linux/content/directory-hierarchy@3fzuXKH7az_LVnmnoXB1p.md index b88cbcd46..e1c12454f 100644 --- a/src/data/roadmaps/linux/content/directory-hierarchy@3fzuXKH7az_LVnmnoXB1p.md +++ b/src/data/roadmaps/linux/content/directory-hierarchy@3fzuXKH7az_LVnmnoXB1p.md @@ -15,5 +15,6 @@ In Linux, understanding the directory hierarchy is crucial for efficient navigat Visit the following resources to learn more: -- [@article@Overview of File System Hierarchy Standard (FHS)](https://access.redhat.com/documentation/ru-ru/red_hat_enterprise_linux/4/html/reference_guide/s1-filesystem-fhs#s3-filesystem-usr). -- [@video@The Linux File System explained in 1,233 seconds](https://youtu.be/A3G-3hp88mo?si=sTJTSzubdb0Vizjr) +- [@article@Linux Directory Structure Explained for Beginners](https://linuxhandbook.com/linux-directory-structure/) +- [@article@Overview of File System Hierarchy Standard (FHS)](https://access.redhat.com/documentation/ru-ru/red_hat_enterprise_linux/4/html/reference_guide/s1-filesystem-fhs#s3-filesystem-usr) +- [@video@The Linux File System Explained in 1,233 Seconds](https://youtu.be/A3G-3hp88mo?si=sTJTSzubdb0Vizjr) diff --git a/src/data/roadmaps/linux/content/disks-and-filesystems@Fn_uYKigJRgb7r_iYGVBr.md b/src/data/roadmaps/linux/content/disks-and-filesystems@Fn_uYKigJRgb7r_iYGVBr.md index 40aea9181..a9c733e34 100644 --- a/src/data/roadmaps/linux/content/disks-and-filesystems@Fn_uYKigJRgb7r_iYGVBr.md +++ b/src/data/roadmaps/linux/content/disks-and-filesystems@Fn_uYKigJRgb7r_iYGVBr.md @@ -1,11 +1,10 @@ # Disks and Filesystems -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. +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. -Here's an example of how to display the type of filesystems of your mounted devices with the "df" command in Linux: +Visit the following resources to learn more: -```bash -df -T -``` - -The output shows the names of your disks, their filesystem types, and other additional information such as total space, used space, and available space on the disks. \ No newline at end of file +- [@official@Filesystems in the Linux Kernel](https://www.kernel.org/doc/html/v6.16-rc2/filesystems/index.html) +- [@article@Partitions And Filesystems In Linux - Introduction](https://www.linuxfordevices.com/tutorials/linux/partitions-and-filesystems) +- [@article@Overview of File System Hierarchy Standard (FHS)](https://access.redhat.com/documentation/ru-ru/red_hat_enterprise_linux/4/html/reference_guide/s1-filesystem-fhs#s3-filesystem-usr) +- [@article@Understanding Linux Filesystems: Inodes, Block Sizes, and Data](https://www.linuxjournal.com/content/understanding-linux-filesystems-inodes-block-sizes-and-data-structures) diff --git a/src/data/roadmaps/linux/content/disks-filesystems@Fn_uYKigJRgb7r_iYGVBr.md b/src/data/roadmaps/linux/content/disks-filesystems@Fn_uYKigJRgb7r_iYGVBr.md index 47feaf47c..efe3a9512 100644 --- a/src/data/roadmaps/linux/content/disks-filesystems@Fn_uYKigJRgb7r_iYGVBr.md +++ b/src/data/roadmaps/linux/content/disks-filesystems@Fn_uYKigJRgb7r_iYGVBr.md @@ -2,10 +2,9 @@ Linux uses various filesystems to organize, store, and retrieve data from storage devices. Popular filesystems include EXT4 (robust for Linux volumes), FAT32 (compatible with all OS for removable media), NTFS, and Btrfs. Each has specific advantages and use cases. Use `df -T` command to display filesystem types, disk space usage, and mounted device information. -Here's an example of how to display the type of filesystems of your mounted devices with the "df" command in Linux: +Visit the following resources to learn more: -```bash -df -T -``` - -The output shows the names of your disks, their filesystem types, and other additional information such as total space, used space, and available space on the disks. \ No newline at end of file +- [@official@Filesystems in the Linux Kernel](https://www.kernel.org/doc/html/v6.16-rc2/filesystems/index.html) +- [@article@Partitions And Filesystems In Linux - Introduction](https://www.linuxfordevices.com/tutorials/linux/partitions-and-filesystems) +- [@article@Overview of File System Hierarchy Standard (FHS)](https://access.redhat.com/documentation/ru-ru/red_hat_enterprise_linux/4/html/reference_guide/s1-filesystem-fhs#s3-filesystem-usr) +- [@article@Understanding Linux Filesystems: Inodes, Block Sizes, and Data](https://www.linuxjournal.com/content/understanding-linux-filesystems-inodes-block-sizes-and-data-structures) diff --git a/src/data/roadmaps/linux/content/dns-resolution@f5oQYhmjNM2_FD7Qe1zGK.md b/src/data/roadmaps/linux/content/dns-resolution@f5oQYhmjNM2_FD7Qe1zGK.md index 1b63fdf7b..40a051ac1 100644 --- a/src/data/roadmaps/linux/content/dns-resolution@f5oQYhmjNM2_FD7Qe1zGK.md +++ b/src/data/roadmaps/linux/content/dns-resolution@f5oQYhmjNM2_FD7Qe1zGK.md @@ -1,3 +1,10 @@ # DNS Resolution -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. \ No newline at end of file +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. + +Visit the following resources to learn more: + +- [@article@Setup DNS Resolution With "resolv.conf" in Examples](https://www.shellhacks.com/setup-dns-resolution-resolvconf-example/) +- [@article@DNS Resolution](https://wiki.archlinux.org/title/Domain_name_resolution) +- [@article@nslookup command](https://linuxconfig.org/nslookup-linux-command) +- [@article@dig command](https://linuxhandbook.com/dig-command/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/docker@MfengY3ouz6sSOx3PXYf8.md b/src/data/roadmaps/linux/content/docker@MfengY3ouz6sSOx3PXYf8.md index 1815e811c..6fcd43de4 100644 --- a/src/data/roadmaps/linux/content/docker@MfengY3ouz6sSOx3PXYf8.md +++ b/src/data/roadmaps/linux/content/docker@MfengY3ouz6sSOx3PXYf8.md @@ -1,15 +1,10 @@ # Docker -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. +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. -Here's a basic example of running an application (for example, hello-world) with Docker on Linux: +Visit the following resources to learn more: -```bash -# Pull the Docker image from Docker Hub -sudo docker pull hello-world - -# Run the Docker container -sudo docker run hello-world -``` - -The above commands allow you to download a Docker image and run it on your Linux system, providing the foundation for deploying containers in development, testing, and production environments. \ No newline at end of file +- [@roadmap@Visit Dedicated Docker Roadmap](https://roadmap.sh/docker) +- [@official@Docker](https://docker.com) +- [@official@Docker Documentation](https://docs.docker.com/) +- [@article@How To Install and Use Docker on Ubuntu](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-20-04) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/editing-files@HGmeYvRf7_XusZl_K4x9k.md b/src/data/roadmaps/linux/content/editing-files@HGmeYvRf7_XusZl_K4x9k.md index 0090f2394..97c0eaa56 100644 --- a/src/data/roadmaps/linux/content/editing-files@HGmeYvRf7_XusZl_K4x9k.md +++ b/src/data/roadmaps/linux/content/editing-files@HGmeYvRf7_XusZl_K4x9k.md @@ -1,22 +1,9 @@ -# Editing Files +# Editing Files 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. -For instance, `nano` is a basic text editor, which is easy to use and perfect for simple text file editing. `Vi/vim`, on the other hand, is more advanced and offers a wide range of features and commands. +Visit the following resources to learn more: -To edit a file you first need to open it using a command like: - -```bash -nano [filename] -``` - -```bash -vi [filename] or vim [filename] -``` - -```bash -gedit [filename] -``` -Visit the following resources to learn more: - -- [@article@How to edit a file](https://www.scaler.com/topics/how-to-edit-a-file-in-linux/) \ No newline at end of file +- [@article@Editing Files in Linux Command Line](https://itsfoss.com/edit-files-linux/) +- [@article@The Complete Guide to Text Editing in Linux with Nano and Vim](https://thelinuxcode.com/how-to-edit-file-in-linux/) +- [@article@Vim Tutorial for Beginners](https://linuxconfig.org/vim-tutorial) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/environment-variables@zwXEmpPYjA7_msS43z7I0.md b/src/data/roadmaps/linux/content/environment-variables@zwXEmpPYjA7_msS43z7I0.md index 12d5c6f77..deea1e0df 100644 --- a/src/data/roadmaps/linux/content/environment-variables@zwXEmpPYjA7_msS43z7I0.md +++ b/src/data/roadmaps/linux/content/environment-variables@zwXEmpPYjA7_msS43z7I0.md @@ -1,23 +1,11 @@ -# Environment Variables Under Shell Basics +# Environment Variables -In Linux, 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. +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. Environment 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. -You can use the 'env' command to list all the environment variables in a shell session. If you want to print a particular variable, such as the PATH variable, you can use the 'echo $PATH' command. - -Here's an example of how you would do that: - -```bash -# List all environment variables -$ env - -# Print a particular variable like PATH -$ echo $PATH -``` - -Remember, every shell, such as Bourne shell, C shell, or Korn shell in Unix or Linux has different syntax and semantics to define and use environment variables. - Learn more from the following resources: -- [@article@Environment Variables in Linux](https://labex.io/tutorials/linux-environment-variables-in-linux-385274) \ No newline at end of file +- [@article@Environment Variables in Linux](https://labex.io/tutorials/linux-environment-variables-in-linux-385274) +- [@article@Linux Environment Variables List, Set, Create & Remove](https://www.computernetworkingnotes.com/linux-tutorials/linux-environment-variables-list-set-create-remove.html) +- [@article@How to Set and List Environment Variables in Linux](https://linuxize.com/post/how-to-set-and-list-environment-variables-in-linux/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/ethernet--arprarp@4ees23q281J1DPVAc7iXd.md b/src/data/roadmaps/linux/content/ethernet--arprarp@4ees23q281J1DPVAc7iXd.md index 3c536376b..d83faff93 100644 --- a/src/data/roadmaps/linux/content/ethernet--arprarp@4ees23q281J1DPVAc7iXd.md +++ b/src/data/roadmaps/linux/content/ethernet--arprarp@4ees23q281J1DPVAc7iXd.md @@ -4,5 +4,7 @@ Key networking protocols in Linux include Ethernet (LAN communication standard), Visit the following resources to learn more: +- [@article@A Comprehensive guide to Linux Networking](https://centlinux.com/linux-networking/) +- [@article@A Beginner's Guide to Linux Networking Fundamentals](https://dev.to/iaadidev/a-beginners-guide-to-linux-networking-fundamentals-dev-ops-prerequisite-7-434o) - [@video@ARP Explained - Address Resolution Protocol](https://www.youtube.com/watch?v=cn8Zxh9bPio) - [@video@What is Ethernet?](https://www.youtube.com/watch?v=HLziLmaYsO0) diff --git a/src/data/roadmaps/linux/content/ethernet-arp-rarp@4ees23q281J1DPVAc7iXd.md b/src/data/roadmaps/linux/content/ethernet-arp-rarp@4ees23q281J1DPVAc7iXd.md index 93003c910..4361af532 100644 --- a/src/data/roadmaps/linux/content/ethernet-arp-rarp@4ees23q281J1DPVAc7iXd.md +++ b/src/data/roadmaps/linux/content/ethernet-arp-rarp@4ees23q281J1DPVAc7iXd.md @@ -4,5 +4,7 @@ Three crucial Linux networking components: Ethernet enables LAN device communica Visit the following resources to learn more: +- [@article@A Comprehensive guide to Linux Networking](https://centlinux.com/linux-networking/) +- [@article@A Beginner's Guide to Linux Networking Fundamentals](https://dev.to/iaadidev/a-beginners-guide-to-linux-networking-fundamentals-dev-ops-prerequisite-7-434o) - [@video@ARP Explained - Address Resolution Protocol](https://www.youtube.com/watch?v=cn8Zxh9bPio) - [@video@What is Ethernet?](https://www.youtube.com/watch?v=HLziLmaYsO0) diff --git a/src/data/roadmaps/linux/content/expand@TZuDVFS7DZFBgaSYYXoGe.md b/src/data/roadmaps/linux/content/expand@TZuDVFS7DZFBgaSYYXoGe.md index fea9e714d..3685b8f22 100644 --- a/src/data/roadmaps/linux/content/expand@TZuDVFS7DZFBgaSYYXoGe.md +++ b/src/data/roadmaps/linux/content/expand@TZuDVFS7DZFBgaSYYXoGe.md @@ -1,3 +1,8 @@ # Expand 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. + +Visit the following resources to learn more: + +- [@article@expand — Linux manual page](https://www.man7.org/linux/man-pages/man1/expand.1.html) +- [@article@How to Use the 'expand' Command (with examples)](https://commandmasters.com/commands/expand-common/) diff --git a/src/data/roadmaps/linux/content/file-permissions@TnrT-cqMA8urew9nLv0Ns.md b/src/data/roadmaps/linux/content/file-permissions@TnrT-cqMA8urew9nLv0Ns.md index 4e9381ddd..0289535d6 100644 --- a/src/data/roadmaps/linux/content/file-permissions@TnrT-cqMA8urew9nLv0Ns.md +++ b/src/data/roadmaps/linux/content/file-permissions@TnrT-cqMA8urew9nLv0Ns.md @@ -2,10 +2,9 @@ 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. +Visit the following resources to learn more: - -Learn more from the following resources: - +- [@article@Understanding Linux File Permissions](https://linuxize.com/post/understanding-linux-file-permissions/) - [@article@Linux File Permissions](https://linuxhandbook.com/linux-file-permissions/) -- [@video@Linux File Permissions in 5 Minutes](https://www.youtube.com/watch?v=LnKoncbQBsM) -- [@article@Linux Permissions of Files](https://labex.io/tutorials/linux-permissions-of-files-270252) \ No newline at end of file +- [@article@Linux Permissions of Files](https://labex.io/tutorials/linux-permissions-of-files-270252) +- [@video@Linux File Permissions in 5 Minutes](https://www.youtube.com/watch?v=LnKoncbQBsM) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/file-transfer@tVrbVcNEfc11FbEUoO2Dk.md b/src/data/roadmaps/linux/content/file-transfer@tVrbVcNEfc11FbEUoO2Dk.md index 036d9a486..dce9c9733 100644 --- a/src/data/roadmaps/linux/content/file-transfer@tVrbVcNEfc11FbEUoO2Dk.md +++ b/src/data/roadmaps/linux/content/file-transfer@tVrbVcNEfc11FbEUoO2Dk.md @@ -1,3 +1,10 @@ # File Transfer -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. \ No newline at end of file +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. + +Visit the following resources to learn more: + +- [@article@How to Use Linux FTP Command to Transfer Files](https://linuxize.com/post/how-to-use-linux-ftp-command-to-transfer-files/) +- [@article@Rsync Command in Linux with Examples](https://linuxize.com/post/how-to-use-rsync-for-local-and-remote-data-transfer-and-synchronization/) +- [@article@Using scp Command in Linux](https://linuxhandbook.com/scp-command/) +- [@article@Wget Command in Linux with Examples](https://linuxize.com/post/wget-command-examples/) diff --git a/src/data/roadmaps/linux/content/filesystems@LFPhSHOhUqM98fUxMjQUw.md b/src/data/roadmaps/linux/content/filesystems@LFPhSHOhUqM98fUxMjQUw.md index 86de62cf9..beeaa1ca8 100644 --- a/src/data/roadmaps/linux/content/filesystems@LFPhSHOhUqM98fUxMjQUw.md +++ b/src/data/roadmaps/linux/content/filesystems@LFPhSHOhUqM98fUxMjQUw.md @@ -2,14 +2,8 @@ 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. -A disk installed in a Linux system can be divided into multiple partitions, each with its own filesystem. Linux supports various types of filesystems, such as EXT4, XFS, BTRFS, etc. Each one of them has their own advantages regarding performance, data integrity and recovery options. +Visit the following resources to learn more: -Configuration of these filesystems relies on a defined hierarchical structure. All the files and directories start from the root directory, presented by '/'. - -Understanding the concept and management of filesystems is key for the successful administration of Linux systems, as it involves routine tasks like mounting/unmounting drives, checking disk space, managing file permissions, and repairing corrupted filesystems. - -Code snippet to display the file system in Linux: -```bash -df -T -``` -This command will display the type of filesystem, along with the disk usage status. \ No newline at end of file +- [@official@Filesystems in the Linux Kernel](https://www.kernel.org/doc/html/v6.16-rc2/filesystems/index.html) +- [@article@df command in Linux (Check Disk Space)](https://linuxize.com/post/how-to-check-disk-space-in-linux-using-the-df-command/) +- [@article@Partitions And Filesystems In Linux - Introduction](https://www.linuxfordevices.com/tutorials/linux/partitions-and-filesystems) diff --git a/src/data/roadmaps/linux/content/finding--installing-packages@Z23eJZjmWoeXQuezR9AhG.md b/src/data/roadmaps/linux/content/finding--installing-packages@Z23eJZjmWoeXQuezR9AhG.md index 29641e0b2..ba87a390f 100644 --- a/src/data/roadmaps/linux/content/finding--installing-packages@Z23eJZjmWoeXQuezR9AhG.md +++ b/src/data/roadmaps/linux/content/finding--installing-packages@Z23eJZjmWoeXQuezR9AhG.md @@ -2,18 +2,10 @@ 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). -For example, on a Debian-based system like Ubuntu you would use `apt` or `apt-get` to install a new package like so: +Visit the following resources to learn more: -``` -sudo apt-get update -sudo apt-get install package-name -``` - -While in a Fedora or CentOS you would use `dnf` or `yum`: - -``` -sudo dnf update -sudo dnf install package-name -``` - -Note that you should replace `package-name` with the name of the package you want to install. Remember that you will need appropriate permissions (often root) to install packages in a Linux system. \ No newline at end of file +- [@official@APT Package Manager](https://www.debian.org/doc/manuals/apt-guide/index.en.html) +- [@official@Yum Package Manager](http://yum.baseurl.org/) +- [@official@Using the DNF Software Package Manager](https://docs.fedoraproject.org/en-US/quick-docs/dnf/) +- [@article@Linux Package Manager Explained](https://geekflare.com/dev/linux-package-manager-explained/) +- [@article@8 Best Package Manager for Linux - LinuxSimply](https://linuxsimply.com/linux-basics/package-management/best-package-manager/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/finding-installing-packages@Z23eJZjmWoeXQuezR9AhG.md b/src/data/roadmaps/linux/content/finding-installing-packages@Z23eJZjmWoeXQuezR9AhG.md index b458a9f3f..6d129a77d 100644 --- a/src/data/roadmaps/linux/content/finding-installing-packages@Z23eJZjmWoeXQuezR9AhG.md +++ b/src/data/roadmaps/linux/content/finding-installing-packages@Z23eJZjmWoeXQuezR9AhG.md @@ -2,3 +2,10 @@ Linux package managers like `apt`, `yum`, and `dnf` automate software installation, upgrading, configuring, and removal. Debian-based systems: `sudo apt-get update && sudo apt-get install package-name`. Fedora/CentOS: `sudo dnf update && sudo dnf install package-name`. Package management eliminates manual compilation from source code. Root permissions required for installation. +Visit the following resources to learn more: + +- [@official@APT Package Manager](https://www.debian.org/doc/manuals/apt-guide/index.en.html) +- [@official@Yum Package Manager](http://yum.baseurl.org/) +- [@official@Using the DNF Software Package Manager](https://docs.fedoraproject.org/en-US/quick-docs/dnf/) +- [@article@Linux Package Manager Explained](https://geekflare.com/dev/linux-package-manager-explained/) +- [@article@8 Best Package Manager for Linux](https://linuxsimply.com/linux-basics/package-management/best-package-manager/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/grep@umlhxidsvtZG9k40Ca0Ac.md b/src/data/roadmaps/linux/content/grep@umlhxidsvtZG9k40Ca0Ac.md index baaf29840..c9dbc51f3 100644 --- a/src/data/roadmaps/linux/content/grep@umlhxidsvtZG9k40Ca0Ac.md +++ b/src/data/roadmaps/linux/content/grep@umlhxidsvtZG9k40Ca0Ac.md @@ -2,8 +2,6 @@ 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. - - Visit the following resources to learn more: - [@article@Grep and Regular Expressions for Beginners](https://ryanstutorials.net/linuxtutorial/grep.php) diff --git a/src/data/roadmaps/linux/content/head@6xdkFk_GT93MigeTSSGCp.md b/src/data/roadmaps/linux/content/head@6xdkFk_GT93MigeTSSGCp.md index 75c7863fd..4629ab839 100644 --- a/src/data/roadmaps/linux/content/head@6xdkFk_GT93MigeTSSGCp.md +++ b/src/data/roadmaps/linux/content/head@6xdkFk_GT93MigeTSSGCp.md @@ -2,16 +2,7 @@ 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. -```bash -head file.txt -``` - -The number of output lines can be customized using an option. For example, to display first 5 lines, we use `-n` option followed by the number of lines: - -```bash -head -n 5 file.txt -``` - Learn more from the following resources: +- [@article@Head Command in Linux - 5 Essential Examples](https://linuxhandbook.com/head-command/) - [@article@Linux head Command: File Beginning Display](https://labex.io/tutorials/linux-linux-head-command-file-beginning-display-214302) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/icmp@Ymf3u_sG1dyt8ZR_LbwqJ.md b/src/data/roadmaps/linux/content/icmp@Ymf3u_sG1dyt8ZR_LbwqJ.md index 12fc59ecc..6d927645b 100644 --- a/src/data/roadmaps/linux/content/icmp@Ymf3u_sG1dyt8ZR_LbwqJ.md +++ b/src/data/roadmaps/linux/content/icmp@Ymf3u_sG1dyt8ZR_LbwqJ.md @@ -1,3 +1,8 @@ # ICMP -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. \ No newline at end of file +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. + +Learn more from the following resources: + +- [@article@icmp(7) — Linux manual page](https://www.man7.org/linux/man-pages/man7/icmp.7.html) +- [@article@Understanding ICMP Packets with Examples](https://www.howtouselinux.com/post/icmp-packets) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/inodes@AwQJYL60NNbA5_z7iLcM7.md b/src/data/roadmaps/linux/content/inodes@AwQJYL60NNbA5_z7iLcM7.md index b5f68b5d7..195e82f3e 100644 --- a/src/data/roadmaps/linux/content/inodes@AwQJYL60NNbA5_z7iLcM7.md +++ b/src/data/roadmaps/linux/content/inodes@AwQJYL60NNbA5_z7iLcM7.md @@ -2,11 +2,7 @@ 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. -```bash -# Retrieve the inode of a file -ls -i filename -``` - Learn more from the following resources: - [@article@Introduction to Inodes](https://linuxjourney.com/lesson/inodes) +- [@article@Index Nodes — The Linux Kernel documentation](https://www.kernel.org/doc/html/latest/filesystems/ext4/inodes.html?highlight=inode) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/install--remove--upgrade-packages@xEHiB-egkkcBuZmgMoqHT.md b/src/data/roadmaps/linux/content/install--remove--upgrade-packages@xEHiB-egkkcBuZmgMoqHT.md index 66f741ae1..018d1a43b 100644 --- a/src/data/roadmaps/linux/content/install--remove--upgrade-packages@xEHiB-egkkcBuZmgMoqHT.md +++ b/src/data/roadmaps/linux/content/install--remove--upgrade-packages@xEHiB-egkkcBuZmgMoqHT.md @@ -1,11 +1,10 @@ # Installing, Removing, and Upgrading Packages -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. +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. -A typical package management task such as installing a new package using `apt` would involve executing a command like: +Visit the following resources to learn more: -```bash -sudo apt-get install packagename -``` - -However, the exact command varies depending on the package manager in use. Similarly, removing and upgrading packages also utilize command-line instructions specific to each package manager. Detailed understanding of these tasks is crucial for effective Linux system administration. \ No newline at end of file +- [@official@APT Package Manager](https://www.debian.org/doc/manuals/apt-guide/index.en.html) +- [@official@Yum Package Manager](http://yum.baseurl.org/) +- [@official@Using the DNF Software Package Manager](https://docs.fedoraproject.org/en-US/quick-docs/dnf/) +- [@article@Linux Package Manager Explained](https://geekflare.com/dev/linux-package-manager-explained/) diff --git a/src/data/roadmaps/linux/content/ip-routing@D0yUzzaJsfhtdBWMtquAj.md b/src/data/roadmaps/linux/content/ip-routing@D0yUzzaJsfhtdBWMtquAj.md index d387e3a71..92d0d5526 100644 --- a/src/data/roadmaps/linux/content/ip-routing@D0yUzzaJsfhtdBWMtquAj.md +++ b/src/data/roadmaps/linux/content/ip-routing@D0yUzzaJsfhtdBWMtquAj.md @@ -1,3 +1,8 @@ # IP Routing -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. \ No newline at end of file +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. + +Visit the following resources to learn more: + +- [@article@Linux Set Up Routing with ip Command](https://www.cyberciti.biz/faq/howto-linux-configuring-default-route-with-ipcommand/) +- [@article@Linux Networking: A Simplified Guide to IP Addresses](https://www.linuxjournal.com/content/linux-networking-simplified-guide-ip-addresses-and-routing) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/join@vfcCS1GoyKpU1rQaE8I5r.md b/src/data/roadmaps/linux/content/join@vfcCS1GoyKpU1rQaE8I5r.md index 9cb2d2434..e74ddd931 100644 --- a/src/data/roadmaps/linux/content/join@vfcCS1GoyKpU1rQaE8I5r.md +++ b/src/data/roadmaps/linux/content/join@vfcCS1GoyKpU1rQaE8I5r.md @@ -1,17 +1,9 @@ -# join Command in Text Processing on Linux +# join Command `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. -For instance, if you have two files that have a list of items, one with costs and the other with quantities, you can use `join` to combine these two files so each item has a cost and quantity on the same line. - -```bash -# Syntax -join file1.txt file2.txt -``` - -Please note that `join` command works properly only when the files are sorted. -It's crucial to understand all the provided options and flags to use `join` effectively in text processing tasks. - Learn more from the following resources: +- [@article@join(1) — Linux manual page](https://www.man7.org/linux/man-pages/man1/join.1.html) +- [@article@join command in Linux with examples](https://linuxconfig.org/join) - [@article@Linux join Command: File Joining](https://labex.io/tutorials/linux-linux-join-command-file-joining-219193) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/kill-processes@0FLUI9r7znMqi6YKReLzD.md b/src/data/roadmaps/linux/content/kill-processes@0FLUI9r7znMqi6YKReLzD.md index 01a13843a..86fc37e24 100644 --- a/src/data/roadmaps/linux/content/kill-processes@0FLUI9r7znMqi6YKReLzD.md +++ b/src/data/roadmaps/linux/content/kill-processes@0FLUI9r7znMqi6YKReLzD.md @@ -2,3 +2,7 @@ The `kill` command terminates processes manually by sending specific signals to Process IDs (PIDs). Used when processes behave unexpectedly due to system bugs or accidental initiation. Syntax: `kill [signal or option] PID(s)`. Essential for Linux process management, allowing administrators to stop, pause, or terminate problematic processes and maintain system stability. +Learn more from the following resources: + +- [@article@Using Kill Command in Linux](https://linuxhandbook.com/kill-command/) +- [@article@Kill Command in Linux](https://linuxize.com/post/kill-command-in-linux/) diff --git a/src/data/roadmaps/linux/content/killing-processes@0FLUI9r7znMqi6YKReLzD.md b/src/data/roadmaps/linux/content/killing-processes@0FLUI9r7znMqi6YKReLzD.md index 11076a74c..80a5051ea 100644 --- a/src/data/roadmaps/linux/content/killing-processes@0FLUI9r7znMqi6YKReLzD.md +++ b/src/data/roadmaps/linux/content/killing-processes@0FLUI9r7znMqi6YKReLzD.md @@ -2,12 +2,7 @@ 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. -'Kill' in Linux is a built-in command that is used to terminate processes manually. You can use the `kill` command to send a specific signal to a process. When we use the `kill` command, we basically request a process to stop, pause, or terminate. +Learn more from the following resources: -Here's a basic illustration on how to use the `kill` command in Linux: - -```bash -kill [signal or option] PID(s) -``` - -In practice, you would identify the Process ID (PID) of the process you want to terminate and replace PID(s) in the above command. The signal or option part is optional, but very powerful allowing for specific termination actions. \ No newline at end of file +- [@article@Using Kill Command in Linux](https://linuxhandbook.com/kill-command/) +- [@article@Kill Command in Linux](https://linuxize.com/post/kill-command-in-linux/) diff --git a/src/data/roadmaps/linux/content/listing--finding-processes@lf3_CRyOI2ZXGzz5ff451.md b/src/data/roadmaps/linux/content/listing--finding-processes@lf3_CRyOI2ZXGzz5ff451.md index e9caeab52..ce811bbf6 100644 --- a/src/data/roadmaps/linux/content/listing--finding-processes@lf3_CRyOI2ZXGzz5ff451.md +++ b/src/data/roadmaps/linux/content/listing--finding-processes@lf3_CRyOI2ZXGzz5ff451.md @@ -1,25 +1,9 @@ # Listing and Finding Processes -Linux provides several tools to list and monitor running processes. The `/proc` filesystem contains process information accessible via PID directories. Commands like `ps -ef` show process snapshots, while `top` and `htop` provide real-time process monitoring. Use `cat /proc/{PID}/status` to view specific process details. These tools are essential for system monitoring and troubleshooting. - -```bash -# list all running processes -ps -ef - -# display ongoing list of running processes -top - -# alternatively, for a more user-friendly interface -htop -``` -Exploring the proc directory (`/proc`), we dive even deeper, enabling us to view the system's kernel parameters and each process's specific system details. - -```bash -# view specifics of a particular PID -cat /proc/{PID}/status -``` -In short, 'Finding and Listing Processes (proc)' in Linux is not just a core aspect of process management, but also a necessary skill for enhancing system performance and resolution of issues. +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. Visit the following resources to learn more: - [@article@The /proc File System](https://www.kernel.org/doc/html/latest/filesystems/proc.html) +- [@article@What is a Process in Linux/Unix?](https://www.scaler.com/topics/linux-process/) +- [@article@Exploring the Linux /proc Filesystem](https://www.redhat.com/en/blog/linux-proc-filesystem) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/listing-finding-proc@lf3_CRyOI2ZXGzz5ff451.md b/src/data/roadmaps/linux/content/listing-finding-proc@lf3_CRyOI2ZXGzz5ff451.md index 9e6361319..ce811bbf6 100644 --- a/src/data/roadmaps/linux/content/listing-finding-proc@lf3_CRyOI2ZXGzz5ff451.md +++ b/src/data/roadmaps/linux/content/listing-finding-proc@lf3_CRyOI2ZXGzz5ff451.md @@ -5,3 +5,5 @@ Linux processes can be monitored using the `proc` virtual filesystem and command Visit the following resources to learn more: - [@article@The /proc File System](https://www.kernel.org/doc/html/latest/filesystems/proc.html) +- [@article@What is a Process in Linux/Unix?](https://www.scaler.com/topics/linux-process/) +- [@article@Exploring the Linux /proc Filesystem](https://www.redhat.com/en/blog/linux-proc-filesystem) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/listing-installed-packages@48wAoAAlCNt3j5mBpKTWC.md b/src/data/roadmaps/linux/content/listing-installed-packages@48wAoAAlCNt3j5mBpKTWC.md index 61dd94d23..a223206f7 100644 --- a/src/data/roadmaps/linux/content/listing-installed-packages@48wAoAAlCNt3j5mBpKTWC.md +++ b/src/data/roadmaps/linux/content/listing-installed-packages@48wAoAAlCNt3j5mBpKTWC.md @@ -2,16 +2,8 @@ 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. -Below is the command for listing installed packages in an `apt` package manager: +Visit the following resources to learn more: -```shell -sudo apt list --installed -``` - -For `dnf` package manager, you would use: - -```shell -dnf list installed -``` - -Remember, different distributions will have their own syntax for this command. \ No newline at end of file +- [@official@APT Package Manager](https://www.debian.org/doc/manuals/apt-guide/index.en.html) +- [@article@5 ways to list installed packages in Linux](https://www.howtouselinux.com/post/list-installed-packages-in-linux) +- [@article@Linux Package Manager Explained](https://geekflare.com/dev/linux-package-manager-explained/) diff --git a/src/data/roadmaps/linux/content/literals@-pW7R76yNIeGf7TQoX4QL.md b/src/data/roadmaps/linux/content/literals@-pW7R76yNIeGf7TQoX4QL.md index e10813c7f..3886d69bc 100644 --- a/src/data/roadmaps/linux/content/literals@-pW7R76yNIeGf7TQoX4QL.md +++ b/src/data/roadmaps/linux/content/literals@-pW7R76yNIeGf7TQoX4QL.md @@ -1,3 +1,8 @@ # Literals 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. + +Visit the following resources to learn more: + +- [@article@Bash Tutorial - Quoting literal text](https://riptutorial.com/bash/example/2465/quoting-literal-text) +- [@article@Handling Special Characters in Shell Scripts](https://www.baeldung.com/linux/special-characters-in-shell-scripts) diff --git a/src/data/roadmaps/linux/content/logs@ru7mpLQZKE1QxAdiA1sS3.md b/src/data/roadmaps/linux/content/logs@ru7mpLQZKE1QxAdiA1sS3.md index 4f5a917ae..147ead485 100644 --- a/src/data/roadmaps/linux/content/logs@ru7mpLQZKE1QxAdiA1sS3.md +++ b/src/data/roadmaps/linux/content/logs@ru7mpLQZKE1QxAdiA1sS3.md @@ -1,3 +1,9 @@ # System Logs -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. \ No newline at end of file +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. + +Visit the following resources to learn more: + +- [@article@How to Use journalctl Command to Analyze Logs in Linux](https://linuxhandbook.com/journalctl-command/) +- [@article@How to Check System Logs on Linux](https://www.fosslinux.com/8984/how-to-check-system-logs-on-linux-complete-usage-guide.htm) +- [@article@What is dmesg in Linux, And How Do I Use It?](https://linuxconfig.org/what-is-dmesg-and-how-do-i-use-it) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/loops@WJT-yrMq8cEI87RHWA2jY.md b/src/data/roadmaps/linux/content/loops@WJT-yrMq8cEI87RHWA2jY.md index c7561d3b1..39aaa23ae 100644 --- a/src/data/roadmaps/linux/content/loops@WJT-yrMq8cEI87RHWA2jY.md +++ b/src/data/roadmaps/linux/content/loops@WJT-yrMq8cEI87RHWA2jY.md @@ -2,4 +2,7 @@ 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. +Visit the following resources to learn more: +- [@article@Using For, While and Until Loops in Bash](https://linuxhandbook.com/bash-loops/) +- [@article@Bash Loops with examples](https://linuxconfig.org/bash-loops-with-examples) diff --git a/src/data/roadmaps/linux/content/lvm@I3LNa1cM_zRkBy8wKdz3g.md b/src/data/roadmaps/linux/content/lvm@I3LNa1cM_zRkBy8wKdz3g.md index 5d585dc42..a56284028 100644 --- a/src/data/roadmaps/linux/content/lvm@I3LNa1cM_zRkBy8wKdz3g.md +++ b/src/data/roadmaps/linux/content/lvm@I3LNa1cM_zRkBy8wKdz3g.md @@ -1,3 +1,8 @@ # LVM (Logical Volume Manager) -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. \ No newline at end of file +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. + +Visit the following resources to learn more: + +- [@article@The Complete Beginner's Guide to LVM in Linux](https://linuxhandbook.com/lvm-guide/) +- [@article@A Beginner's Guide to LVM in Linux - It's FOSS](https://itsfoss.com/lvm-guide/) diff --git a/src/data/roadmaps/linux/content/managing-permissions@L6RMExeqi9501y-eCHDt1.md b/src/data/roadmaps/linux/content/managing-permissions@L6RMExeqi9501y-eCHDt1.md index ab3a86db4..bd8ac8979 100644 --- a/src/data/roadmaps/linux/content/managing-permissions@L6RMExeqi9501y-eCHDt1.md +++ b/src/data/roadmaps/linux/content/managing-permissions@L6RMExeqi9501y-eCHDt1.md @@ -2,7 +2,8 @@ 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. -Learn more from the following resources: +Visit the following resources to learn more: -- [@article@Linux file permissions explained](https://www.redhat.com/sysadmin/linux-file-permissions-explained) -- [@video@Linux file permissions in 5 minutes](https://www.youtube.com/watch?v=LnKoncbQBsM) \ No newline at end of file +- [@article@Linux File Permissions and Ownership Explained](https://linuxhandbook.com/linux-file-permissions/) +- [@article@Linux File Permissions Explained](https://www.redhat.com/sysadmin/linux-file-permissions-explained) +- [@video@Linux File Permissions in 5 minutes](https://www.youtube.com/watch?v=LnKoncbQBsM) diff --git a/src/data/roadmaps/linux/content/mounts@zmb5lK_EGMAChPoPvP9E0.md b/src/data/roadmaps/linux/content/mounts@zmb5lK_EGMAChPoPvP9E0.md index 8d87262fe..c7291c5cf 100644 --- a/src/data/roadmaps/linux/content/mounts@zmb5lK_EGMAChPoPvP9E0.md +++ b/src/data/roadmaps/linux/content/mounts@zmb5lK_EGMAChPoPvP9E0.md @@ -3,6 +3,7 @@ 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. Visit the following resources to learn more: + +- [@official@The `mount` command manual page](https://man7.org/linux/man-pages/man8/mount.8.html) - [@article@Mounting, unmounting and the /mnt directory - The Linux Documentation Project](https://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/mnt.html) -- [@article@Linux `mount` command with Examples](https://phoenixnap.com/kb/linux-mount-command) -- [@official@The `mount` command manual page](https://man7.org/linux/man-pages/man8/mount.8.html) \ No newline at end of file +- [@article@Linux `mount` command with Examples](https://phoenixnap.com/kb/linux-mount-command) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/moving-files--directories@q-Ky0ietZGpyUcBQfh-BJ.md b/src/data/roadmaps/linux/content/moving-files--directories@q-Ky0ietZGpyUcBQfh-BJ.md index 7c7e1fc84..a38bd1477 100644 --- a/src/data/roadmaps/linux/content/moving-files--directories@q-Ky0ietZGpyUcBQfh-BJ.md +++ b/src/data/roadmaps/linux/content/moving-files--directories@q-Ky0ietZGpyUcBQfh-BJ.md @@ -4,4 +4,6 @@ The `mv` command moves files and directories between locations and can also rena Learn more from the following resources: +- [@article@mv command](https://linuxhandbook.com/mv-command/) +- [@article@mv Cheat Sheet](https://www.commandinline.com/cheat-sheet/mv/) - [@article@Linux mv Command: File Moving and Renaming](https://labex.io/tutorials/linux-linux-mv-command-file-moving-and-renaming-209743) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/moving-files@q-Ky0ietZGpyUcBQfh-BJ.md b/src/data/roadmaps/linux/content/moving-files@q-Ky0ietZGpyUcBQfh-BJ.md index 1843f5e5f..bfaead6d8 100644 --- a/src/data/roadmaps/linux/content/moving-files@q-Ky0ietZGpyUcBQfh-BJ.md +++ b/src/data/roadmaps/linux/content/moving-files@q-Ky0ietZGpyUcBQfh-BJ.md @@ -2,16 +2,8 @@ In Linux, moving files is an essential task that you will need to perform quite frequently. The `mv` command, short for move, is used to move files and directories from one location to another. The `mv` command can also be used for renaming files in Linux. -The general syntax for the `mv` command is as follows: - -```bash -mv [options] source destination -``` - -Here, `source` denotes the file or directory that you want to move while `destination` denotes the location where you want to move your source file or directory. - -The `mv` command is widely used because of its simplicity and versatility. Whether you want to organize your files by moving them into different directories or rename a bunch of files, the `mv` command is your go-to tool in Linux. - Learn more from the following resources: -- [@article@Linux mv Command: File Moving and Renaming](https://labex.io/tutorials/linux-linux-mv-command-file-moving-and-renaming-209743) \ No newline at end of file +- [@article@mv command](https://linuxhandbook.com/mv-command/) +- [@article@mv Cheat Sheet](https://www.commandinline.com/cheat-sheet/mv/) +- [@article@Linux mv Command: File Moving and Renaming](https://labex.io/tutorials/linux-linux-mv-command-file-moving-and-renaming-209743) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/nano@yqRwmcZThjQuqh2ao0dWK.md b/src/data/roadmaps/linux/content/nano@yqRwmcZThjQuqh2ao0dWK.md index fc020ad92..9316831fb 100644 --- a/src/data/roadmaps/linux/content/nano@yqRwmcZThjQuqh2ao0dWK.md +++ b/src/data/roadmaps/linux/content/nano@yqRwmcZThjQuqh2ao0dWK.md @@ -2,26 +2,9 @@ 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. -Nano comes pre-installed with many Linux distributions but if it's not installed, here's how to do it for popular Linux distributions. - -```bash -# Ubuntu based distributions -sudo apt update -sudo apt install nano -``` - -```bash -# Arch Linux -sudo pacman -S nano -``` - -To use Nano to edit or create files in Linux, the following command can be used: - -```bash -nano filename -``` - Visit the following resources to learn more: -- [@article@Blog on nano](https://ioflood.com/blog/nano-linux-command/) +- [@official@nano - Text editor](https://www.nano-editor.org/) +- [@article@Editing Files With Nano in Linux](https://itsfoss.com/nano-editor-guide/) +- [@article@Nano in Linux](https://ioflood.com/blog/nano-linux-command/) - [@video@Nano editor fundamentals](https://www.youtube.com/watch?v=gyKiDczLIZ4&ab_channel=HackerSploit) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/navigation-basics@y7KjVfSI6CAduyHd4mBFT.md b/src/data/roadmaps/linux/content/navigation-basics@y7KjVfSI6CAduyHd4mBFT.md index 6f955976d..c51bb85e4 100644 --- a/src/data/roadmaps/linux/content/navigation-basics@y7KjVfSI6CAduyHd4mBFT.md +++ b/src/data/roadmaps/linux/content/navigation-basics@y7KjVfSI6CAduyHd4mBFT.md @@ -2,23 +2,10 @@ 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. -Here is how you use these commands: - -- To change directories, use the `cd` command: - -```bash -cd /path/to/directory -``` - -- To list the contents of a directory, use the `ls` command: - -```bash -ls -``` - Visit the following resources to learn more: -- [@article@Intro to Linux](https://www.linkedin.com/pulse/intro-linux-fundamentals-what-hillary-nyakundi-4u7af/) +- [@article@Linux Filesystem Navigation Basics](https://linuxconfig.org/filesystem-basics) +- [@article@Basic Navigation Commands: `cd`, `ls`, and `pwd`](https://www.linuxbash.sh/post/basic-navigation-commands-cd-ls-and-pwd) +- [@article@Practice on Linux Fundamentals](https://linuxjourney.com/) - [@video@Linux fundamentals](https://www.youtube.com/watch?v=kPylihJRG70&t=1381s&ab_channel=TryHackMe) -- [@article@Practice on Linux fundamentals](https://linuxjourney.com/) - [@course@Linux for Noobs (Hands-on)](https://labex.io/courses/linux-for-noobs) diff --git a/src/data/roadmaps/linux/content/netfilter@bZ8Yj6QfBeDdh8hRM_aZs.md b/src/data/roadmaps/linux/content/netfilter@bZ8Yj6QfBeDdh8hRM_aZs.md index c91607b5a..65c36cc38 100644 --- a/src/data/roadmaps/linux/content/netfilter@bZ8Yj6QfBeDdh8hRM_aZs.md +++ b/src/data/roadmaps/linux/content/netfilter@bZ8Yj6QfBeDdh8hRM_aZs.md @@ -1,4 +1,8 @@ # Netfilter -Netfilter is a Linux kernel framework for manipulating and filtering network packets with hooks at various stages (prerouting, input, forward, output, postrouting). Used for firewalls and NAT management with iptables configuration. Essential for traffic control, packet modification, logging, and intrusion detection in Linux networking systems. +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. +Visit the following resources to learn more: + +- [@official@netfilter/iptables project homepage](https://netfilter.org/) +- [@article@Packet filtering in Linux - iptables, nftables and firewalld](https://wyssmann.com/blog/2021/07/packet-filtering-in-linux-iptables-nftables-and-firewalld/) diff --git a/src/data/roadmaps/linux/content/netstat@yrxNYMluJ9OAQCKuM5W1u.md b/src/data/roadmaps/linux/content/netstat@yrxNYMluJ9OAQCKuM5W1u.md index 96a73ecd9..005132adb 100644 --- a/src/data/roadmaps/linux/content/netstat@yrxNYMluJ9OAQCKuM5W1u.md +++ b/src/data/roadmaps/linux/content/netstat@yrxNYMluJ9OAQCKuM5W1u.md @@ -1,3 +1,8 @@ # Netstat -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. \ No newline at end of file +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. + +Visit the following resources to learn more: + +- [@article@Netstat Command in Linux](https://linuxhandbook.com/netstat-command/) +- [@article@How to Use netstat on Linux](https://www.howtogeek.com/513003/how-to-use-netstat-on-linux/) diff --git a/src/data/roadmaps/linux/content/networking@Mb42VFjCzMZn_PovKIfKx.md b/src/data/roadmaps/linux/content/networking@Mb42VFjCzMZn_PovKIfKx.md index 1b2b3bd05..b06ebf6b5 100644 --- a/src/data/roadmaps/linux/content/networking@Mb42VFjCzMZn_PovKIfKx.md +++ b/src/data/roadmaps/linux/content/networking@Mb42VFjCzMZn_PovKIfKx.md @@ -1,13 +1,9 @@ # Networking -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 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. -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. +Visit the following resources to learn more: -Perhaps one of the most popular commands related to networking on a Linux system is the `ifconfig` command: - -```bash -ifconfig -``` - -This will output information about all network interfaces currently active on the system. However, please note that `ifconfig` is becoming obsolete and being replaced by `ip`, which offers more features and capabilities. +- [@article@A Comprehensive Guide to Linux Networking](https://centlinux.com/linux-networking/) +- [@article@A Beginner's Guide to Linux Networking Fundamentals](https://dev.to/iaadidev/a-beginners-guide-to-linux-networking-fundamentals-dev-ops-prerequisite-7-434o) +- [@article@Practice on Networking Fundamentals](https://linuxjourney.com/lesson/network-basics) diff --git a/src/data/roadmaps/linux/content/nl@YSfGrmT795miIeIZrtC3D.md b/src/data/roadmaps/linux/content/nl@YSfGrmT795miIeIZrtC3D.md index dd7c22c61..119357ceb 100644 --- a/src/data/roadmaps/linux/content/nl@YSfGrmT795miIeIZrtC3D.md +++ b/src/data/roadmaps/linux/content/nl@YSfGrmT795miIeIZrtC3D.md @@ -4,4 +4,6 @@ The `nl` command numbers lines in text files, providing an overview of line loca Learn more from the following resources: -- [@article@Linux nl Command: Line Numbering](https://labex.io/tutorials/linux-linux-nl-command-line-numbering-210988) \ No newline at end of file +- [@article@nl command](https://www.computerhope.com/unix/nl.htm) +- [@article@Linux nl Command: Line Numbering](https://labex.io/tutorials/linux-linux-nl-command-line-numbering-210988) +- [@article@Master the Linux 'nl' Command: A Comprehensive Guide](https://hopeness.medium.com/master-the-linux-nl-command-a-comprehensive-guide-79c6adf50fa9) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/package-management@4eINX8jYMJxfYh7ZV47YI.md b/src/data/roadmaps/linux/content/package-management@4eINX8jYMJxfYh7ZV47YI.md index 34282426f..ae30d8aef 100644 --- a/src/data/roadmaps/linux/content/package-management@4eINX8jYMJxfYh7ZV47YI.md +++ b/src/data/roadmaps/linux/content/package-management@4eINX8jYMJxfYh7ZV47YI.md @@ -2,6 +2,11 @@ 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 ` installs packages. Essential for efficient application management. -Learn more from the following resources: +Visit the following resources to learn more: -- [@article@Software Installation on Linux](https://labex.io/tutorials/linux-software-installation-on-linux-18005) +- [@official@APT Package Manager](https://www.debian.org/doc/manuals/apt-guide/index.en.html) +- [@official@Yum Package Manager](http://yum.baseurl.org/) +- [@official@Using the DNF Software Package Manager](https://docs.fedoraproject.org/en-US/quick-docs/dnf/) +- [@article@Linux Package Manager Explained](https://geekflare.com/dev/linux-package-manager-explained/) +- [@article@8 Best Package Manager for Linux](https://linuxsimply.com/linux-basics/package-management/best-package-manager/) +- [@article@Software Installation on Linux](https://labex.io/tutorials/linux-software-installation-on-linux-18005) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/package-repositories@2oQiuQ2j02SCt9t5eV6hg.md b/src/data/roadmaps/linux/content/package-repositories@2oQiuQ2j02SCt9t5eV6hg.md index 820a2003b..4e68a1954 100644 --- a/src/data/roadmaps/linux/content/package-repositories@2oQiuQ2j02SCt9t5eV6hg.md +++ b/src/data/roadmaps/linux/content/package-repositories@2oQiuQ2j02SCt9t5eV6hg.md @@ -2,10 +2,9 @@ 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. -``` -sudo apt update # command to update the repository in Ubuntu -sudo yum update # command to update the repository in CentOS or Fedora -raco pkg update # command in Racket to update all installed packages -``` +Visit the following resources to learn more: -These repositories are what make Linux a force to reckon with when it comes to software management with an element of security ensuring that the users only install software that is secure and reliable. \ No newline at end of file +- [@official@APT Package Manager](https://www.debian.org/doc/manuals/apt-guide/index.en.html) +- [@article@What is Repository in Linux?](https://linuxsimply.com/what-is-repository-in-linux/) +- [@article@Official Repositories - ArchWiki](https://wiki.archlinux.org/title/Official_repositories) +- [@article@Understanding Linux Repositories](https://blogs.maalavs.com/linux/understanding-linux-repositories/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/packet-analysis@7seneb4TWts4v1_x8xlcZ.md b/src/data/roadmaps/linux/content/packet-analysis@7seneb4TWts4v1_x8xlcZ.md index 694a03052..9cf949b6e 100644 --- a/src/data/roadmaps/linux/content/packet-analysis@7seneb4TWts4v1_x8xlcZ.md +++ b/src/data/roadmaps/linux/content/packet-analysis@7seneb4TWts4v1_x8xlcZ.md @@ -1,3 +1,9 @@ # Packet Analysis -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. \ No newline at end of file +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. + +Visit the following resources to learn more: + +- [@article@How to Capture and Analyze Packets with tcpdump](https://www.debian.org/doc/manuals/apt-guide/index.en.html) +- [@article@Mastering Network Traffic Analysis in Linux](https://en.ittrip.xyz/linux/linux-network-analysis) +- [@article@16 Best Free and Open Source Network Analyzers](https://www.linuxlinks.com/best-free-open-source-network-analyzers/) diff --git a/src/data/roadmaps/linux/content/paste@5658kdqJw-pIOyyhll80a.md b/src/data/roadmaps/linux/content/paste@5658kdqJw-pIOyyhll80a.md index 152f0fd77..c8d3162c0 100644 --- a/src/data/roadmaps/linux/content/paste@5658kdqJw-pIOyyhll80a.md +++ b/src/data/roadmaps/linux/content/paste@5658kdqJw-pIOyyhll80a.md @@ -1,11 +1,8 @@ # Paste -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. +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`. -A common use case of the paste command in Linux is the combination of two text files into one, like shown in the example snippet below. +Visit the following resources to learn more: -```bash -paste file1.txt file2.txt > combined.txt -``` - -Over the years, this command has proved to be critical in Linux file processing tasks due to its efficiency, and simplicity. \ No newline at end of file +- [@article@Paste Command in Linux (Merge Lines)](https://linuxize.com/post/paste-command-in-linux/) +- [@article@7 Practical Usage of Paste Command in Linux](https://linuxhandbook.com/paste-command/) diff --git a/src/data/roadmaps/linux/content/permissions@L6RMExeqi9501y-eCHDt1.md b/src/data/roadmaps/linux/content/permissions@L6RMExeqi9501y-eCHDt1.md index 93b8b9f2c..796964413 100644 --- a/src/data/roadmaps/linux/content/permissions@L6RMExeqi9501y-eCHDt1.md +++ b/src/data/roadmaps/linux/content/permissions@L6RMExeqi9501y-eCHDt1.md @@ -2,7 +2,9 @@ Linux permissions control file and directory access for users, groups, and others with read, write, and execute types. Commands include `chmod` (change permissions), `chown` (change owner), and `chgrp` (change group). Proper permission management is crucial for system security and organization. Essential for maintaining controlled access to system resources. -Learn more from the following resources: +Visit the following resources to learn more: -- [@article@Linux file permissions explained](https://www.redhat.com/sysadmin/linux-file-permissions-explained) -- [@video@Linux file permissions in 5 minutes](https://www.youtube.com/watch?v=LnKoncbQBsM) \ No newline at end of file +- [@article@Understanding Linux File Permissions](https://linuxize.com/post/understanding-linux-file-permissions/) +- [@article@Linux File Permissions](https://linuxhandbook.com/linux-file-permissions/) +- [@article@Linux Permissions of Files](https://labex.io/tutorials/linux-permissions-of-files-270252) +- [@video@Linux File Permissions in 5 Minutes](https://www.youtube.com/watch?v=LnKoncbQBsM) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/ping@Uc36t92UAlILgM3_XxcMG.md b/src/data/roadmaps/linux/content/ping@Uc36t92UAlILgM3_XxcMG.md index c0df983e7..a067127f1 100644 --- a/src/data/roadmaps/linux/content/ping@Uc36t92UAlILgM3_XxcMG.md +++ b/src/data/roadmaps/linux/content/ping@Uc36t92UAlILgM3_XxcMG.md @@ -1,3 +1,8 @@ # Ping -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 ` to diagnose network connectivity issues and identify reachability problems efficiently. \ No newline at end of file +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 ` to diagnose network connectivity issues and identify reachability problems efficiently. + +Visit the following resources to learn more: + +- [@article@Ping Command in Linux](https://linuxize.com/post/linux-ping-command/) +- [@article@Ping Command Examples in Linux - It's FOSS](https://itsfoss.com/ping-command/) diff --git a/src/data/roadmaps/linux/content/pipe@v32PJl4fzIFTOirOm6G44.md b/src/data/roadmaps/linux/content/pipe@v32PJl4fzIFTOirOm6G44.md index 4835c656c..75de36139 100644 --- a/src/data/roadmaps/linux/content/pipe@v32PJl4fzIFTOirOm6G44.md +++ b/src/data/roadmaps/linux/content/pipe@v32PJl4fzIFTOirOm6G44.md @@ -1,4 +1,4 @@ -# Pipe Commands +# Pipe Commands 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. @@ -12,4 +12,6 @@ In this example, `ls` lists the files in the current directory and `grep '\.txt$ Visit the following resources to learn more: +- [@article@An In-Depth Guide to Pipes in Linux - TheLinuxCode](https://thelinuxcode.com/linux-pipe-command-examples/) - [@article@Piping and Redirection](https://ryanstutorials.net/linuxtutorial/piping.php#piping) +- [@article@What is Piping in Linux?](https://linuxsimply.com/what-is-piping-in-linux/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/proc-forking@Rib7h9lh_ndiXkwNbftz_.md b/src/data/roadmaps/linux/content/proc-forking@Rib7h9lh_ndiXkwNbftz_.md index eacff7e7e..d41347109 100644 --- a/src/data/roadmaps/linux/content/proc-forking@Rib7h9lh_ndiXkwNbftz_.md +++ b/src/data/roadmaps/linux/content/proc-forking@Rib7h9lh_ndiXkwNbftz_.md @@ -2,3 +2,8 @@ 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. +Visit the following resources to learn more: + +- [@article@fork — Linux manual page](https://www.man7.org/linux/man-pages/man2/fork.2.html) +- [@article@Understanding the fork() System Call in Linux](https://thelinuxcode.com/fork-system-call-linux/) +- [@article@Linux Process calls: Creating process using fork](https://medium.com/@joshuaudayagiri/linux-process-calls-creating-process-using-fork-52a1eac7de8b) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/proc-priorities@5anSYRhaKIs3dCLWlvZfT.md b/src/data/roadmaps/linux/content/proc-priorities@5anSYRhaKIs3dCLWlvZfT.md index 426e481ab..52a83bc3e 100644 --- a/src/data/roadmaps/linux/content/proc-priorities@5anSYRhaKIs3dCLWlvZfT.md +++ b/src/data/roadmaps/linux/content/proc-priorities@5anSYRhaKIs3dCLWlvZfT.md @@ -2,6 +2,7 @@ Linux assigns priority levels to processes for efficient resource utilization and execution timing. Priority values ("nice" values) range from -20 (highest) to +19 (lowest priority). View priorities with `ps -eo pid,pri,user,comm`. Change priorities using `renice -5 -p [PID]`. Essential for system performance optimization and CPU resource management. -Here's a simple command in the Linux terminal to display the process ID, priority, and user for all processes: +Visit the following resources to learn more: -``` \ No newline at end of file +- [@article@Understanding Process Thread Priorities in Linux](https://blogs.oracle.com/linux/post/task-priority) +- [@article@How To Manipulate Process Priority In Linux](https://www.itsmarttricks.com/how-to-manipulate-process-priority-in-linux-using-nice-and-renice-commands/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/proc-signals@VkLWTvKnRXzvLGWza2v45.md b/src/data/roadmaps/linux/content/proc-signals@VkLWTvKnRXzvLGWza2v45.md index d54ea8013..a47b69a4e 100644 --- a/src/data/roadmaps/linux/content/proc-signals@VkLWTvKnRXzvLGWza2v45.md +++ b/src/data/roadmaps/linux/content/proc-signals@VkLWTvKnRXzvLGWza2v45.md @@ -1,3 +1,8 @@ # Process Signals -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. \ No newline at end of file +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. + +Visit the following resources to learn more: + +- [@article@Understanding Linux Process Signals](https://www.ceos3c.com/linux/understanding-linux-process-signals-a-complete/) +- [@article@Linux Process Signals and their meaning](https://linux-audit.com/processes/linux-process-signals/) diff --git a/src/data/roadmaps/linux/content/process-forking@Rib7h9lh_ndiXkwNbftz_.md b/src/data/roadmaps/linux/content/process-forking@Rib7h9lh_ndiXkwNbftz_.md index 8674f73a3..d41347109 100644 --- a/src/data/roadmaps/linux/content/process-forking@Rib7h9lh_ndiXkwNbftz_.md +++ b/src/data/roadmaps/linux/content/process-forking@Rib7h9lh_ndiXkwNbftz_.md @@ -1,28 +1,9 @@ # Process Forking -Process forking allows a running process (parent) to create a copy of itself (child) using the `fork()` system call. The child process is nearly identical to the parent except for process ID and parent process ID. Both processes execute concurrently and independently - changes in one don't affect the other. This mechanism is fundamental for Linux process creation. +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. -Here's a basic code snippet of proc forking in C: +Visit the following resources to learn more: -```c -#include -#include -#include - -int main() -{ - pid_t child_pid; - - // Try creating a child process - child_pid = fork(); - - // If a child is successfully created - if(child_pid >= 0) - printf("Child created with PID: %d\n", child_pid); - else - printf("Fork failed\n"); - return 0; -} -``` - -In this snippet, `fork()` is used to created a new child process. If the process creation is successful, fork() returns the process ID of the child process. If unsuccessful, it returns a negative value. \ No newline at end of file +- [@article@fork — Linux manual page](https://www.man7.org/linux/man-pages/man2/fork.2.html) +- [@article@Understanding the fork() System Call in Linux](https://thelinuxcode.com/fork-system-call-linux/) +- [@article@Linux Process calls: Creating process using fork](https://medium.com/@joshuaudayagiri/linux-process-calls-creating-process-using-fork-52a1eac7de8b) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/process-management@h01Y6dW09ChidlM2HYoav.md b/src/data/roadmaps/linux/content/process-management@h01Y6dW09ChidlM2HYoav.md index 329c79354..bd2c81e82 100644 --- a/src/data/roadmaps/linux/content/process-management@h01Y6dW09ChidlM2HYoav.md +++ b/src/data/roadmaps/linux/content/process-management@h01Y6dW09ChidlM2HYoav.md @@ -2,3 +2,7 @@ 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. +Visit the following resources to learn more: + +- [@article@The Complete Guide to Process Management Commands](https://thelinuxcode.com/process-management-commands-linux/) +- [@article@Commands for Process Management in Linux](https://www.digitalocean.com/community/tutorials/process-management-in-linux) diff --git a/src/data/roadmaps/linux/content/process-priorities@5anSYRhaKIs3dCLWlvZfT.md b/src/data/roadmaps/linux/content/process-priorities@5anSYRhaKIs3dCLWlvZfT.md index 622396767..52a83bc3e 100644 --- a/src/data/roadmaps/linux/content/process-priorities@5anSYRhaKIs3dCLWlvZfT.md +++ b/src/data/roadmaps/linux/content/process-priorities@5anSYRhaKIs3dCLWlvZfT.md @@ -1,7 +1,8 @@ # Process Priorities -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). 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. +Linux assigns priority levels to processes for efficient resource utilization and execution timing. Priority values ("nice" values) range from -20 (highest) to +19 (lowest priority). View priorities with `ps -eo pid,pri,user,comm`. Change priorities using `renice -5 -p [PID]`. Essential for system performance optimization and CPU resource management. -Here's a simple command in the Linux terminal to display the process ID, priority, and user for all processes: +Visit the following resources to learn more: -``` \ No newline at end of file +- [@article@Understanding Process Thread Priorities in Linux](https://blogs.oracle.com/linux/post/task-priority) +- [@article@How To Manipulate Process Priority In Linux](https://www.itsmarttricks.com/how-to-manipulate-process-priority-in-linux-using-nice-and-renice-commands/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/process-signals@VkLWTvKnRXzvLGWza2v45.md b/src/data/roadmaps/linux/content/process-signals@VkLWTvKnRXzvLGWza2v45.md index 407919e05..a47b69a4e 100644 --- a/src/data/roadmaps/linux/content/process-signals@VkLWTvKnRXzvLGWza2v45.md +++ b/src/data/roadmaps/linux/content/process-signals@VkLWTvKnRXzvLGWza2v45.md @@ -1,12 +1,8 @@ # Process Signals -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. Use the `kill` command to send signals to processes by PID. Understanding signals is essential for effective process management and system control. +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. -For instance, to send a SIGSTOP signal to a process with a PID of 12345 you would use `kill` command in terminal as follows: +Visit the following resources to learn more: -```bash -kill -SIGSTOP 12345 -``` -This will suspend the execution of the process until a SIGCONT signal is received. - -Understanding proc signals is essential for comprehensive process management and resource allocation in Linux. \ No newline at end of file +- [@article@Understanding Linux Process Signals](https://www.ceos3c.com/linux/understanding-linux-process-signals-a-complete/) +- [@article@Linux Process Signals and their meaning](https://linux-audit.com/processes/linux-process-signals/) diff --git a/src/data/roadmaps/linux/content/redirects@JgoZzx4BfK7tmosgpZOsf.md b/src/data/roadmaps/linux/content/redirects@JgoZzx4BfK7tmosgpZOsf.md index e1e4b8903..dc79934e6 100644 --- a/src/data/roadmaps/linux/content/redirects@JgoZzx4BfK7tmosgpZOsf.md +++ b/src/data/roadmaps/linux/content/redirects@JgoZzx4BfK7tmosgpZOsf.md @@ -1,4 +1,4 @@ -# Redirects In Shell Basics +# Redirects 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: @@ -6,16 +6,8 @@ The shell in Linux provides a robust way of managing input and output streams of - Standard Output (stdout) - The process writes its output to stdout. By default, this means the terminal. - Standard Error (stderr) - The process writes error messages to stderr. This also goes to the terminal by default. -Redirection in Linux allows us to manipulate these streams, advancing the flexibility with which commands or programs are run. Besides the default devices (keyboard for input and terminal for output), the I/O streams can be redirected to files or other devices. +Visit the following resources to learn more: -For example, if you want to store the output of a command into a file instead of printing it to the console, we can use the '>' operator. - -```bash -ls -al > file_list.txt -``` - -This command will write the output of 'ls -al' into 'file_list.txt', whether or not the file initially existed. It will be created if necessary, and if it already exists – it will be overwritten. - -Learn more from the following resources: - -- [@article@Logical Commands and Redirection](https://labex.io/tutorials/linux-logical-commands-and-redirection-387332) \ No newline at end of file +- [@article@Input Output & Error Redirection in Linux](https://linuxhandbook.com/redirection-linux/) +- [@article@Redirections (Bash Reference Manual)](https://www.gnu.org/software/bash/manual/html_node/Redirections.html) +- [@article@Redirections in Linux with Examples](https://linuxopsys.com/redirections-in-linux-with-examples) diff --git a/src/data/roadmaps/linux/content/repositories@2oQiuQ2j02SCt9t5eV6hg.md b/src/data/roadmaps/linux/content/repositories@2oQiuQ2j02SCt9t5eV6hg.md index 112d688f8..5ef74faa3 100644 --- a/src/data/roadmaps/linux/content/repositories@2oQiuQ2j02SCt9t5eV6hg.md +++ b/src/data/roadmaps/linux/content/repositories@2oQiuQ2j02SCt9t5eV6hg.md @@ -1,3 +1,10 @@ # Repositories -Repositories are storage locations containing collections of software packages for Linux distributions. They store thousands of compiled packages specific to each distribution (.deb for Debian/Ubuntu, .rpm for Fedora/CentOS). Repositories ensure secure, tested software with proper dependencies. Update commands: `sudo apt update` (Ubuntu), `sudo yum update` (CentOS/Fedora). Essential for secure software management. \ No newline at end of file +Repositories are storage locations containing collections of software packages for Linux distributions. They store thousands of compiled packages specific to each distribution (.deb for Debian/Ubuntu, .rpm for Fedora/CentOS). Repositories ensure secure, tested software with proper dependencies. Update commands: `sudo apt update` (Ubuntu), `sudo yum update` (CentOS/Fedora). Essential for secure software management. + +Visit the following resources to learn more: + +- [@official@APT Package Manager](https://www.debian.org/doc/manuals/apt-guide/index.en.html) +- [@article@What is Repository in Linux?](https://linuxsimply.com/what-is-repository-in-linux/) +- [@article@Official Repositories - ArchWiki](https://wiki.archlinux.org/title/Official_repositories) +- [@article@Understanding Linux Repositories](https://blogs.maalavs.com/linux/understanding-linux-repositories/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/server-review@jSzfQf0MlnXtWHCc-HYvr.md b/src/data/roadmaps/linux/content/server-review@jSzfQf0MlnXtWHCc-HYvr.md index 3b7ac81d9..8d81e3a8e 100644 --- a/src/data/roadmaps/linux/content/server-review@jSzfQf0MlnXtWHCc-HYvr.md +++ b/src/data/roadmaps/linux/content/server-review@jSzfQf0MlnXtWHCc-HYvr.md @@ -2,15 +2,8 @@ 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. -Linux, known for its stability and security, has become a staple on the back-end of many networks and servers worldwide. Depending on the distribution you are using, Linux offers multiple tools and commands to perform comprehensive server reviews. +Visit the following resources to learn more: -```bash -# A command often used for showing memory information -free -m - -# A command for showing disk usage -df -h - -# A command for showing CPU load -uptime -``` \ No newline at end of file +- [@article@Linux Server Management Essentials](https://www.ictbroadcast.com/linux-server-management-essentials-administration-monitoring-and-maintenance-guidelines-for-success/) +- [@article@Essential Linux Server Maintenance Checklist](https://tecadmin.net/linux-server-maintenance-checklist/) +- [@article@Optimizing Linux Server Performance](https://www.linuxjournal.com/content/optimizing-linux-server-performance-benchmarking-and-advanced-techniques) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/service-management-systemd@F1sU3O1ouxTOvpidDfN3k.md b/src/data/roadmaps/linux/content/service-management-systemd@F1sU3O1ouxTOvpidDfN3k.md index 9838bc87e..2318adc9d 100644 --- a/src/data/roadmaps/linux/content/service-management-systemd@F1sU3O1ouxTOvpidDfN3k.md +++ b/src/data/roadmaps/linux/content/service-management-systemd@F1sU3O1ouxTOvpidDfN3k.md @@ -4,4 +4,6 @@ Service management in Linux controls system daemons during boot/shutdown process Learn more from the following resources: +- [@article@Service Management in Linux: A Comprehensive Guide](https://medium.com/@thesureshvadde/service-management-in-linux-a-comprehensive-guide-cb4c7e81dfa9) - [@article@How to Master Linux Service Management with Systemctl](https://labex.io/tutorials/linux-how-to-master-linux-service-management-with-systemctl-392864) +- [@article@How to Manage Services in Linux: systemd and SysVinit](https://dev.to/iaadidev/how-to-manage-services-in-linux-systemd-and-sysvinit-essentials-devops-prerequisite-8-1jop) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/service-management@F1sU3O1ouxTOvpidDfN3k.md b/src/data/roadmaps/linux/content/service-management@F1sU3O1ouxTOvpidDfN3k.md index ff385b504..b08a54643 100644 --- a/src/data/roadmaps/linux/content/service-management@F1sU3O1ouxTOvpidDfN3k.md +++ b/src/data/roadmaps/linux/content/service-management@F1sU3O1ouxTOvpidDfN3k.md @@ -5,3 +5,5 @@ Service management controls Linux services (daemons) during boot and shutdown pr Learn more from the following resources: - [@article@How to Master Linux Service Management with Systemctl](https://labex.io/tutorials/linux-how-to-master-linux-service-management-with-systemctl-392864) +- [@article@Service Management in Linux: A Comprehensive Guide](https://medium.com/@thesureshvadde/service-management-in-linux-a-comprehensive-guide-cb4c7e81dfa9) +- [@article@How to Manage Services in Linux: systemd and SysVinit](https://dev.to/iaadidev/how-to-manage-services-in-linux-systemd-and-sysvinit-essentials-devops-prerequisite-8-1jop) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/service-status@34UUrc8Yjc_8lvTL8itc3.md b/src/data/roadmaps/linux/content/service-status@34UUrc8Yjc_8lvTL8itc3.md index 845d742fb..6c390a302 100644 --- a/src/data/roadmaps/linux/content/service-status@34UUrc8Yjc_8lvTL8itc3.md +++ b/src/data/roadmaps/linux/content/service-status@34UUrc8Yjc_8lvTL8itc3.md @@ -2,3 +2,8 @@ Service status shows the current state of Linux services including network processes, backend servers, and background applications. Use `systemctl status service_name` to check service states through systemd manager. Example: `systemctl status apache2.service` shows Apache web server status. Essential for diagnosing problems, maintaining performance, and preventing service downtimes. +Learn more from the following resources: + +- [@article@Service Management in Linux: A Comprehensive Guide](https://medium.com/@thesureshvadde/service-management-in-linux-a-comprehensive-guide-cb4c7e81dfa9) +- [@article@Use Systemctl Status Command to Check Service Status](https://linuxhandbook.com/systemctl-check-service-status/) +- [@article@How to Check All Running Services in Linux](https://www.2daygeek.com/how-to-check-all-running-services-in-linux/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/services-running@ewUuI_x-YhOQIYd3MTgJJ.md b/src/data/roadmaps/linux/content/services-running@ewUuI_x-YhOQIYd3MTgJJ.md index 044b6a84b..3ff23ef21 100644 --- a/src/data/roadmaps/linux/content/services-running@ewUuI_x-YhOQIYd3MTgJJ.md +++ b/src/data/roadmaps/linux/content/services-running@ewUuI_x-YhOQIYd3MTgJJ.md @@ -2,4 +2,8 @@ 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. -Linux has a variety of tools to achieve this, such as: `systemctl`, `service`, `netstat`, `ss` and ` \ No newline at end of file +Learn more from the following resources: + +- [@article@How to List Linux Services With systemctl](https://www.howtogeek.com/839285/how-to-list-linux-services-with-systemctl/) +- [@article@Service Management in Linux: A Comprehensive Guide](https://medium.com/@thesureshvadde/service-management-in-linux-a-comprehensive-guide-cb4c7e81dfa9) +- [@article@How to Manage Services in Linux: systemd and SysVinit](https://dev.to/iaadidev/how-to-manage-services-in-linux-systemd-and-sysvinit-essentials-devops-prerequisite-8-1jop) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/shell-and-other-basics@8QBMyL8D5jPovxN8jyZW9.md b/src/data/roadmaps/linux/content/shell-and-other-basics@8QBMyL8D5jPovxN8jyZW9.md index 28ee12818..4b03c859e 100644 --- a/src/data/roadmaps/linux/content/shell-and-other-basics@8QBMyL8D5jPovxN8jyZW9.md +++ b/src/data/roadmaps/linux/content/shell-and-other-basics@8QBMyL8D5jPovxN8jyZW9.md @@ -2,10 +2,8 @@ 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. -This is a follow up exercise to make your first bash script. Please run the commands in the terminal one by one and try to understand what they do: -``` -touch my_first_script.sh -chmod +x my_first_script.sh -echo "date" > my_first_script.sh -./my_first_script.sh -``` +Learn more from the following resources: + +- [@article@Learning The Shell](https://www.linuxcommand.org/lc3_lts0010.php) +- [@article@What is a Shell in Linux](https://linuxsimply.com/what-is-a-shell-linux/) +- [@article@Learn Linux Easily](https://linuxjourney.com) diff --git a/src/data/roadmaps/linux/content/shell-basics@8QBMyL8D5jPovxN8jyZW9.md b/src/data/roadmaps/linux/content/shell-basics@8QBMyL8D5jPovxN8jyZW9.md index e07fe819f..4b03c859e 100644 --- a/src/data/roadmaps/linux/content/shell-basics@8QBMyL8D5jPovxN8jyZW9.md +++ b/src/data/roadmaps/linux/content/shell-basics@8QBMyL8D5jPovxN8jyZW9.md @@ -1,13 +1,9 @@ -# Linux Shell Basics +# Shell Basics -The Linux shell is a command-line interface or terminal used to interact directly with the operating system. The shell helps facilitate system commands and acts as an intermediary interface between the user and the system's kernel. The shell can perform complex tasks efficiently and quickly. There are many types of shells available in Linux, including the Bourne Shell (sh), the C Shell (csh), and the Bourne-Again Shell (bash). +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. -The basics of using a Linux shell include navigating between directories, creating, renaming and deleting files and directories, and executing system commands. This introductory level knowledge is crucial for Linux system administration, scripting, and automation. +Learn more from the following resources: -This is a follow up exercise to make your first bash script. Please run the commands in the terminal one by one and try to understand what they do: -``` -touch my_first_script.sh -chmod +x my_first_script.sh -echo "date" > my_first_script.sh -./my_first_script.sh -``` +- [@article@Learning The Shell](https://www.linuxcommand.org/lc3_lts0010.php) +- [@article@What is a Shell in Linux](https://linuxsimply.com/what-is-a-shell-linux/) +- [@article@Learn Linux Easily](https://linuxjourney.com) diff --git a/src/data/roadmaps/linux/content/shell-programming@4tFZ1PLpz50bddf7zSFrW.md b/src/data/roadmaps/linux/content/shell-programming@4tFZ1PLpz50bddf7zSFrW.md index 291aea79c..4e3cd18d0 100644 --- a/src/data/roadmaps/linux/content/shell-programming@4tFZ1PLpz50bddf7zSFrW.md +++ b/src/data/roadmaps/linux/content/shell-programming@4tFZ1PLpz50bddf7zSFrW.md @@ -4,4 +4,7 @@ Shell programming (scripting) automates administrative tasks, repetitive operati Visit the following resources to learn more: +- [@article@Learn Shell - Free Interactive Shell Tutorial](https://www.learnshell.org/) +- [@article@Bash Scripting Tutorial Series for Beginners](https://linuxhandbook.com/bash/) +- [@article@Linux Bash Shell Scripting Tutorial Wiki](https://bash.cyberciti.biz/guide/Main_Page) - [@video@Bash Scripting on Linux - YT Playlist](https://youtube.com/playlist?list=PLT98CRl2KxKGj-VKtApD8-zCqSaN2mD4w&si=MSehStqnhSqgoMSj) diff --git a/src/data/roadmaps/linux/content/snap@eKyMZn30UxQeBZQ7FxFbF.md b/src/data/roadmaps/linux/content/snap@eKyMZn30UxQeBZQ7FxFbF.md index f8f03da0f..a758195f7 100644 --- a/src/data/roadmaps/linux/content/snap@eKyMZn30UxQeBZQ7FxFbF.md +++ b/src/data/roadmaps/linux/content/snap@eKyMZn30UxQeBZQ7FxFbF.md @@ -2,8 +2,7 @@ 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. -Here is a simple example of a snap command: +Visit the following resources to learn more: -```sh -sudo snap install [package-name] -``` \ No newline at end of file +- [@article@The "snap" Command in Linux](https://linuxsimply.com/snap-command-in-linux/) +- [@article@How to Install and Use Snap in Various Linux Distributions](https://itsfoss.com/install-snap-linux/) diff --git a/src/data/roadmaps/linux/content/soft-hard-links@KaXHG_EKxI5PUXmcvlJt6.md b/src/data/roadmaps/linux/content/soft-hard-links@KaXHG_EKxI5PUXmcvlJt6.md index 5e3030a94..ce8c94259 100644 --- a/src/data/roadmaps/linux/content/soft-hard-links@KaXHG_EKxI5PUXmcvlJt6.md +++ b/src/data/roadmaps/linux/content/soft-hard-links@KaXHG_EKxI5PUXmcvlJt6.md @@ -1,23 +1,9 @@ # Soft and Hard Links -In Unix-like operating systems like Linux, soft (symbolic) and hard links are simply references to existing files that allow users to create shortcuts and duplication effects within their file system. +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. -A hard link is a mirror reflection of the original file, sharing the same file data and inode number, but displaying a different name. It's vital to note that if the original file is deleted, the hard link still retains the file data. +Visit the following resources to learn more: -On the other hand, a soft link, also known as a symbolic link, is more like a shortcut to the original file. It has a different inode number and the file data resides only in the original file. If the original file is removed, the symbolic link breaks and will not work until the original file is restored. - -Below is an example of how to create a soft link and a hard link in Linux: - -```bash -# Create a hard link -ln source_file.txt hard_link.txt - -# Create a soft link -ln -s source_file.txt soft_link.txt -``` - -Please, understand that `source_file.txt` is the original file and `hard_link.txt` & `soft_link.txt` are the hard and soft links respectively. - -Learn more from the following resources: - -- [@article@How to understand the difference between hard and symbolic links in Linux](https://labex.io/tutorials/linux-how-to-understand-the-difference-between-hard-and-symbolic-links-in-linux-409929) +- [@article@Hard links and Soft links in Linux Explained](https://www.redhat.com/en/blog/linking-linux-explained) +- [@article@Difference between hard link and soft link](https://kerneltalks.com/commands/difference-between-hard-link-and-soft-link/) +- [@article@How to Understand the Difference between Hard and Symbolic Links in Linux](https://labex.io/tutorials/linux-how-to-understand-the-difference-between-hard-and-symbolic-links-in-linux-409929) diff --git a/src/data/roadmaps/linux/content/soft-links--hard-links@KaXHG_EKxI5PUXmcvlJt6.md b/src/data/roadmaps/linux/content/soft-links--hard-links@KaXHG_EKxI5PUXmcvlJt6.md index 80e213124..ce8c94259 100644 --- a/src/data/roadmaps/linux/content/soft-links--hard-links@KaXHG_EKxI5PUXmcvlJt6.md +++ b/src/data/roadmaps/linux/content/soft-links--hard-links@KaXHG_EKxI5PUXmcvlJt6.md @@ -2,18 +2,8 @@ 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. -Below is an example of how to create a soft link and a hard link in Linux: +Visit the following resources to learn more: -```bash -# Create a hard link -ln source_file.txt hard_link.txt - -# Create a soft link -ln -s source_file.txt soft_link.txt -``` - -Please, understand that `source_file.txt` is the original file and `hard_link.txt` & `soft_link.txt` are the hard and soft links respectively. - -Learn more from the following resources: - -- [@article@How to understand the difference between hard and symbolic links in Linux](https://labex.io/tutorials/linux-how-to-understand-the-difference-between-hard-and-symbolic-links-in-linux-409929) +- [@article@Hard links and Soft links in Linux Explained](https://www.redhat.com/en/blog/linking-linux-explained) +- [@article@Difference between hard link and soft link](https://kerneltalks.com/commands/difference-between-hard-link-and-soft-link/) +- [@article@How to Understand the Difference between Hard and Symbolic Links in Linux](https://labex.io/tutorials/linux-how-to-understand-the-difference-between-hard-and-symbolic-links-in-linux-409929) diff --git a/src/data/roadmaps/linux/content/sort@1WRIy3xHtQfiQFZrprobP.md b/src/data/roadmaps/linux/content/sort@1WRIy3xHtQfiQFZrprobP.md index 4962bbdd8..58ff4dd60 100644 --- a/src/data/roadmaps/linux/content/sort@1WRIy3xHtQfiQFZrprobP.md +++ b/src/data/roadmaps/linux/content/sort@1WRIy3xHtQfiQFZrprobP.md @@ -2,20 +2,8 @@ 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). -Here is a basic usage of the `sort` command: - -```bash -sort filename.txt -``` - -This command prints the sorted content of the filename.txt file. The original file content remains unchanged. In order to save the sorted contents back into the file, you can use redirection: - -```bash -sort filename.txt > sorted_filename.txt -``` - -This command sorts the content of filename.txt and redirects the sorted content into sorted_filename.txt. - Learn more from the following resources: +- [@article@Sort Command in Linux - 10 Useful Examples](https://linuxhandbook.com/sort-command/) +- [@article@Sort Command in Linux with Practical Examples](https://tecadmin.net/linux-sort-command/) - [@article@Linux sort Command: Text Sorting](https://labex.io/tutorials/linux-linux-sort-command-text-sorting-219196) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/split@Pl9s2ti25hsSEljXJvBTj.md b/src/data/roadmaps/linux/content/split@Pl9s2ti25hsSEljXJvBTj.md index 15e416754..192ec917f 100644 --- a/src/data/roadmaps/linux/content/split@Pl9s2ti25hsSEljXJvBTj.md +++ b/src/data/roadmaps/linux/content/split@Pl9s2ti25hsSEljXJvBTj.md @@ -1,19 +1,8 @@ -# Linux Text Processing: Split Command +# Split Command 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. -It's a useful command because of its practical applicability. For instance, if you have a large data file that can't be used efficiently because of its size, then the split command can be used to break up the file into more manageable pieces. +Learn more from the following resources: -The basic syntax of the `split` command is: - -```bash -split [options] [input [prefix]] -``` - -By default, the `split` command divides the file into smaller files of 1000 lines each. If no input file is provided, or if it is given as -, it reads from standard input. - -For example, to split a file named 'bigfile.txt' into files of 500 lines each, the command would be: - -```bash -split -l 500 bigfile.txt -``` \ No newline at end of file +- [@article@Split Command in Linux: 9 Useful Examples](https://linuxhandbook.com/split-command/) +- [@article@Split Command in Linux: Usage Guide with Examples](https://ioflood.com/blog/split-linux-command/) diff --git a/src/data/roadmaps/linux/content/ssh@uk6UMuI8Uhf02TBAGVeLS.md b/src/data/roadmaps/linux/content/ssh@uk6UMuI8Uhf02TBAGVeLS.md index 86d1f1b2b..d3611472e 100644 --- a/src/data/roadmaps/linux/content/ssh@uk6UMuI8Uhf02TBAGVeLS.md +++ b/src/data/roadmaps/linux/content/ssh@uk6UMuI8Uhf02TBAGVeLS.md @@ -2,3 +2,8 @@ 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. +Learn more from the following resources: + +- [@article@Secure Shell](https://en.wikipedia.org/wiki/Secure_Shell) +- [@article@Mastering SSH - A Complete Guide to Secure Shell Protocol](https://www.socketxp.com/iot/ssh-secure-shell/) +- [@article@What is SSH? | Secure Shell (SSH) Protocol - Cloudflare](https://www.cloudflare.com/learning/access-management/what-is-ssh/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/start-stop-service@FStz-bftQBK0M6zz2Bxl4.md b/src/data/roadmaps/linux/content/start-stop-service@FStz-bftQBK0M6zz2Bxl4.md index e52af1d82..4d8fd2e75 100644 --- a/src/data/roadmaps/linux/content/start-stop-service@FStz-bftQBK0M6zz2Bxl4.md +++ b/src/data/roadmaps/linux/content/start-stop-service@FStz-bftQBK0M6zz2Bxl4.md @@ -1,3 +1,9 @@ # Start and Stop Services -Linux service management controls system services like firewall, network, and database using `systemctl` commands. Basic operations: `sudo systemctl start service_name` (start), `sudo systemctl stop service_name` (stop), `sudo systemctl restart service_name` (restart). Root permissions required. Essential for system administrators managing updates and configuration changes. \ No newline at end of file +Linux service management controls system services like firewall, network, and database using `systemctl` commands. Basic operations: `sudo systemctl start service_name` (start), `sudo systemctl stop service_name` (stop), `sudo systemctl restart service_name` (restart). Root permissions required. Essential for system administrators managing updates and configuration changes. + +Learn more from the following resources: + +- [@article@Service Management in Linux: A Comprehensive Guide](https://medium.com/@thesureshvadde/service-management-in-linux-a-comprehensive-guide-cb4c7e81dfa9) +- [@article@How to Master Linux Service Management with Systemctl](https://labex.io/tutorials/linux-how-to-master-linux-service-management-with-systemctl-392864) +- [@article@How to Manage Services in Linux: systemd and SysVinit](https://dev.to/iaadidev/how-to-manage-services-in-linux-systemd-and-sysvinit-essentials-devops-prerequisite-8-1jop) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/starting--stopping-services@DuEfJNrm4Jfmp8-8Pggrf.md b/src/data/roadmaps/linux/content/starting--stopping-services@DuEfJNrm4Jfmp8-8Pggrf.md index 4318101e0..ae046bc11 100644 --- a/src/data/roadmaps/linux/content/starting--stopping-services@DuEfJNrm4Jfmp8-8Pggrf.md +++ b/src/data/roadmaps/linux/content/starting--stopping-services@DuEfJNrm4Jfmp8-8Pggrf.md @@ -2,16 +2,8 @@ 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. -```shell -journalctl -``` +Learn more from the following resources: -This command will show the entire system log from the boot to the moment you're calling the journal. - -To display logs for a specific service, the `-u` option can be used followed by the service's name. - -```shell -journalctl -u service_name -``` - -Remember, understanding and monitoring your system logs will provide you a clear view of what's going on in your Linux environment. It is a vital skill worth developing to effectively manage and troubleshoot systems. \ No newline at end of file +- [@article@How to Use journalctl Command to Analyze Logs in Linux](https://linuxhandbook.com/journalctl-command/) +- [@article@journalctl — Linux manual page](https://www.man7.org/linux/man-pages/man1/journalctl.1.html) +- [@article@Linux Log Files Location & How To View Logs Files](https://www.cyberciti.biz/faq/linux-log-files-location-and-how-do-i-view-logs-files/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/stdout--stdin--stderr@t3fxSgCgtxuMtHjclPHA6.md b/src/data/roadmaps/linux/content/stdout--stdin--stderr@t3fxSgCgtxuMtHjclPHA6.md index 1c32141ef..efee30685 100644 --- a/src/data/roadmaps/linux/content/stdout--stdin--stderr@t3fxSgCgtxuMtHjclPHA6.md +++ b/src/data/roadmaps/linux/content/stdout--stdin--stderr@t3fxSgCgtxuMtHjclPHA6.md @@ -2,10 +2,8 @@ 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. -Here is an example code snippet showing how these channels are used: +Learn more from the following resources: -```bash -$ command > stdout.txt 2>stderr.txt -``` - -In this example, the ">" operator redirects the standard output (stdout) into a text file named stdout.txt, while "2>" redirects the standard error (stderr) into stderr.txt. This way, normal output and error messages are separately stored in distinct files for further examination or processing. \ No newline at end of file +- [@article@Linux Fundamentals - I/O, Standard Streams, and Redirection](https://www.putorius.net/linux-io-file-descriptors-and-redirection.html) +- [@article@Understanding 'stdin', 'stdout' and 'stderr' in Linux](https://www.slingacademy.com/article/understanding-stdin-stdout-and-stderr-in-linux/) +- [@article@Working with data streams on the Linux command line](https://opensource.com/article/18/10/linux-data-streams) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/stdout-in-err@t3fxSgCgtxuMtHjclPHA6.md b/src/data/roadmaps/linux/content/stdout-in-err@t3fxSgCgtxuMtHjclPHA6.md index 17cbdba8f..efee30685 100644 --- a/src/data/roadmaps/linux/content/stdout-in-err@t3fxSgCgtxuMtHjclPHA6.md +++ b/src/data/roadmaps/linux/content/stdout-in-err@t3fxSgCgtxuMtHjclPHA6.md @@ -1,13 +1,9 @@ -# Stdout and stderr +# Stdout, Stdin, and Stderr -The concepts of stdout and stderr in Linux belong to the fundamentals of Linux text processing. In Linux, when a program is executed, three communication channels are typically opened, namely, STDIN (Standard Input), STDOUT (Standard Output), and STDERR (Standard Error). +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. -Each of these channels has a specific function. STDOUT is the channel through which the output from most shell commands is sent. STDERR, on the other hand, is used specifically for sending error messages. This distinction is very useful when scripting or programming, as it allows you to handle normal output and error messages in different manners. +Learn more from the following resources: -Here is an example code snippet showing how these channels are used: - -```bash -$ command > stdout.txt 2>stderr.txt -``` - -In this example, the ">" operator redirects the standard output (stdout) into a text file named stdout.txt, while "2>" redirects the standard error (stderr) into stderr.txt. This way, normal output and error messages are separately stored in distinct files for further examination or processing. \ No newline at end of file +- [@article@Linux Fundamentals - I/O, Standard Streams, and Redirection](https://www.putorius.net/linux-io-file-descriptors-and-redirection.html) +- [@article@Understanding 'stdin', 'stdout' and 'stderr' in Linux](https://www.slingacademy.com/article/understanding-stdin-stdout-and-stderr-in-linux/) +- [@article@Working with data streams on the Linux command line](https://opensource.com/article/18/10/linux-data-streams) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/subnetting@Xszo9vXuwwXZo26seHehD.md b/src/data/roadmaps/linux/content/subnetting@Xszo9vXuwwXZo26seHehD.md index 9e1964289..fff1d46ee 100644 --- a/src/data/roadmaps/linux/content/subnetting@Xszo9vXuwwXZo26seHehD.md +++ b/src/data/roadmaps/linux/content/subnetting@Xszo9vXuwwXZo26seHehD.md @@ -1,3 +1,9 @@ # Subnetting -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. \ No newline at end of file +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. + +Learn more from the following resources: + +- [@article@Understanding IP Addressing and Subnetting in Linux](https://useful.codes/understanding-ip-addressing-and-subnetting-in-linux/) +- [@article@The Basics of IP Subnetting | Linux Journal](https://www.linuxjournal.com/article/6287) +- [@article@How to Find Subnet Mask in Linux](https://www.howtouselinux.com/post/find-subnet-mask-on-linux) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/super-user@NIBSZGE9PskVrluJpdom0.md b/src/data/roadmaps/linux/content/super-user@NIBSZGE9PskVrluJpdom0.md index 6ea91b35b..566d74b49 100644 --- a/src/data/roadmaps/linux/content/super-user@NIBSZGE9PskVrluJpdom0.md +++ b/src/data/roadmaps/linux/content/super-user@NIBSZGE9PskVrluJpdom0.md @@ -4,14 +4,8 @@ The Super User, also known as "root user", represents a user account in Linux wi The 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. -Specifically, `su` switches the current user to the root, whereas `sudo` allows you to run a command as another user, default being root. However, they also have a key difference which is `sudo` will log the commands and its arguments which can be a handy audit trail. +Learn more from the following resources: -```bash -# This would prompt for root password and switch you to root usermode -$ su - - -# To perform a command as superuser (if allowed in sudoers list) -$ sudo -``` - -Note that super user privileges should be handled with care due to their potential to disrupt the system's functionality. Mistaken changes to key system files or unauthorized access can lead to severe issues. \ No newline at end of file +- [@article@Linux Superuser Access, Explained](https://www.redhat.com/en/blog/linux-superuser-access/) +- [@article@Difference between the root user and super (sudo) user](https://www.computernetworkingnotes.com/linux-tutorials/difference-between-the-root-user-and-super-sudo-user.html) +- [@article@What is Superuser Access in Linux?](https://www.scaler.com/topics/super-user-in-linux/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/swap@AWosNs2nvDGV8r6WvgBI1.md b/src/data/roadmaps/linux/content/swap@AWosNs2nvDGV8r6WvgBI1.md index 323ce2a22..472f43bd6 100644 --- a/src/data/roadmaps/linux/content/swap@AWosNs2nvDGV8r6WvgBI1.md +++ b/src/data/roadmaps/linux/content/swap@AWosNs2nvDGV8r6WvgBI1.md @@ -2,5 +2,7 @@ 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. +Learn more from the following resources: + - [@article@Swap - Arch Wiki](https://wiki.archlinux.org/title/Swap) -- [@article@zram (alternative) - Arch Wiki](https://wiki.archlinux.org/title/Zram) +- [@article@How to Increase Swap Space on Linux](https://linuxconfig.org/how-to-increase-swap-space-on-linux) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/tail@Yyk28H6TiteZEGv6Aps1h.md b/src/data/roadmaps/linux/content/tail@Yyk28H6TiteZEGv6Aps1h.md index e7c97f6e1..e4c13244f 100644 --- a/src/data/roadmaps/linux/content/tail@Yyk28H6TiteZEGv6Aps1h.md +++ b/src/data/roadmaps/linux/content/tail@Yyk28H6TiteZEGv6Aps1h.md @@ -2,14 +2,8 @@ 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. -Here is an example of tail command usage: - -```bash -tail /var/log/syslog -``` - -In the above example, the `tail` command will print the last 10 lines of the `/var/log/syslog` file. This is particularly useful in checking the most recent system log entries. - Learn more from the following resources: +- [@article@5 Practical Examples of Tail Command in Linux](https://linuxhandbook.com/tail-command/) +- [@article@Linux Tail Command | Linuxize](https://linuxize.com/post/linux-tail-command/) - [@article@Linux tail Command: File End Display](https://labex.io/tutorials/linux-linux-tail-command-file-end-display-214303) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/tcp-ip@0pciSsiQqIGJh3x8465_s.md b/src/data/roadmaps/linux/content/tcp-ip@0pciSsiQqIGJh3x8465_s.md index 9adb5e368..aad990fc8 100644 --- a/src/data/roadmaps/linux/content/tcp-ip@0pciSsiQqIGJh3x8465_s.md +++ b/src/data/roadmaps/linux/content/tcp-ip@0pciSsiQqIGJh3x8465_s.md @@ -2,3 +2,8 @@ TCP/IP (Transmission Control Protocol/Internet Protocol) forms the backbone of internet communication, allowing computers to connect and transfer data. It comprises four layers: Network Interface, Internet, Transport, and Application. Essential for Linux networking, enabling hosts to interact across networks. Use `netstat -at` to view active TCP/IP connections. Crucial for network management and troubleshooting. +Learn more from the following resources: + +- [@article@TCP/IP Commands for Linux](https://whatismyipaddress.com/tcp-ip-commands-linux) +- [@article@Netstat Command in Linux](https://phoenixnap.com/kb/netstat-command) +- [@article@Netstat Command in Linux: 13 Practical Examples](https://linuxhandbook.com/netstat-command/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/tcpip-stack@0pciSsiQqIGJh3x8465_s.md b/src/data/roadmaps/linux/content/tcpip-stack@0pciSsiQqIGJh3x8465_s.md index fa752b60f..c7f7fcbc6 100644 --- a/src/data/roadmaps/linux/content/tcpip-stack@0pciSsiQqIGJh3x8465_s.md +++ b/src/data/roadmaps/linux/content/tcpip-stack@0pciSsiQqIGJh3x8465_s.md @@ -2,9 +2,8 @@ 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. -Below is a basic command using TCP/IP protocol in Linux: +Learn more from the following resources: -```bash -# To view all active TCP/IP network connections -netstat -at -``` \ No newline at end of file +- [@article@TCP/IP Commands for Linux](https://whatismyipaddress.com/tcp-ip-commands-linux) +- [@article@Netstat Command in Linux](https://phoenixnap.com/kb/netstat-command) +- [@article@Netstat Command in Linux: 13 Practical Examples](https://linuxhandbook.com/netstat-command/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/tee@Bo9CdrGJej-QcNmw46k9t.md b/src/data/roadmaps/linux/content/tee@Bo9CdrGJej-QcNmw46k9t.md index 279bcaa61..da592b443 100644 --- a/src/data/roadmaps/linux/content/tee@Bo9CdrGJej-QcNmw46k9t.md +++ b/src/data/roadmaps/linux/content/tee@Bo9CdrGJej-QcNmw46k9t.md @@ -1,3 +1,8 @@ -# TEE +# Tee -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. \ No newline at end of file +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. + +Learn more from the following resources: + +- [@article@Tee Command in Linux Explained with Examples](https://linuxhandbook.com/tee-command/) +- [@article@Linux Tee Command](https://linuxize.com/post/linux-tee-command/) diff --git a/src/data/roadmaps/linux/content/text-processing@-B2Dvz7160Er0OBHzS6ro.md b/src/data/roadmaps/linux/content/text-processing@-B2Dvz7160Er0OBHzS6ro.md index 8597e43ab..240070c67 100644 --- a/src/data/roadmaps/linux/content/text-processing@-B2Dvz7160Er0OBHzS6ro.md +++ b/src/data/roadmaps/linux/content/text-processing@-B2Dvz7160Er0OBHzS6ro.md @@ -1,23 +1,10 @@ -# Text Processing +# Text Processing -Text processing is an essential task for system administrators and developers. Linux, being a robust operating system, provides powerful tools for text searching, manipulation, and processing. - -Users can utilize commands like `awk`, `sed`, `grep`, and `cut` for text filtering, substitution, and handling regular expressions. Additionally, the shell scripting and programming languages such as Python and Perl also provide remarkable text processing capabilities in Linux. - -Although being primarily a command-line operating system, Linux also offers numerous GUI-based text editors including `gedit`, `nano`, and `vim`, which make text editing convenient for both beginners and advanced users. - -Below is a simple example using `grep` command to search for the term "Linux" in a file named "sample.txt". - -```bash -grep 'Linux' sample.txt -``` - -This command will display all the lines in the sample.txt file which contain the word "Linux". - -Overall, the proficiency in text processing is crucial for Linux users as it allows them to automate tasks, parse files, and mine data efficiently. +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. Visit the following resources to learn more: +- [@article@Common Linux Text Processing Commands](https://www.commandinline.com/linux/common-linux-text-processing-commands/) - [@article@Linux Filters](https://ryanstutorials.net/linuxtutorial/filters.php) - [@article@Linux Text Processing Command](https://earthly.dev/blog/linux-text-processing-commands/) - [@article@Master Linux Text Processing Commands](https://everythingdevops.dev/linux-text-processing-commands/) diff --git a/src/data/roadmaps/linux/content/tr@O9Vci_WpUY-79AkA4HDx3.md b/src/data/roadmaps/linux/content/tr@O9Vci_WpUY-79AkA4HDx3.md index c421936b9..a6e1920e6 100644 --- a/src/data/roadmaps/linux/content/tr@O9Vci_WpUY-79AkA4HDx3.md +++ b/src/data/roadmaps/linux/content/tr@O9Vci_WpUY-79AkA4HDx3.md @@ -2,14 +2,7 @@ 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. -Here's a basic usage example: - -```bash -echo 'hello' | tr 'a-z' 'A-Z' -``` - -In this example, `tr` is used to convert the lowercase 'hello' to uppercase 'HELLO'. It's an essential tool for text processing tasks in the Linux environment. - Learn more from the following resources: +- [@article@tr Command in Linux: 6 Useful Examples](https://linuxhandbook.com/tr-command/) - [@article@Linux tr Command: Character Translating](https://labex.io/tutorials/linux-linux-tr-command-character-translating-388064) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/traceroute@BnB3Rirh4R7a7LW7-k-95.md b/src/data/roadmaps/linux/content/traceroute@BnB3Rirh4R7a7LW7-k-95.md index 11600c1ac..f504b4209 100644 --- a/src/data/roadmaps/linux/content/traceroute@BnB3Rirh4R7a7LW7-k-95.md +++ b/src/data/roadmaps/linux/content/traceroute@BnB3Rirh4R7a7LW7-k-95.md @@ -1,3 +1,8 @@ # Traceroute -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. \ No newline at end of file +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. + +Learn more from the following resources: + +- [@article@traceroute Command Examples in Linux](https://linuxhandbook.com/traceroute/) +- [@article@How to Use the traceroute Command on Linux](https://www.howtogeek.com/657780/how-to-use-the-traceroute-command-on-linux/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/troubleshooting@bdQNcr1sj94aX_gjwf2Fa.md b/src/data/roadmaps/linux/content/troubleshooting@bdQNcr1sj94aX_gjwf2Fa.md index 05261ea89..9b8e68237 100644 --- a/src/data/roadmaps/linux/content/troubleshooting@bdQNcr1sj94aX_gjwf2Fa.md +++ b/src/data/roadmaps/linux/content/troubleshooting@bdQNcr1sj94aX_gjwf2Fa.md @@ -1,3 +1,9 @@ # Troubleshooting -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. \ No newline at end of file +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. + +Learn more from the following resources: + +- [@article@Troubleshooting Linux Problems: A Beginner's Guide](https://learn.redhat.com/t5/Platform-Linux/Troubleshooting-Linux-Problems-A-Beginner-s-Guide/td-p/36236) +- [@article@Linux Top 20 Important Commands for Monitoring and Troubleshooting](https://medium.com/@stepstodevops/linux-top-20-important-commands-for-monitoring-and-troubleshooting-a-comprehensive-guide-for-cd5aaa37da17) +- [@article@10 Linux Troubleshooting Tips - dummies](https://www.dummies.com/article/technology/computers/operating-systems/linux/10-linux-troubleshooting-tips-274301/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/ulimits@QgfenmhMc18cU_JngQ1n0.md b/src/data/roadmaps/linux/content/ulimits@QgfenmhMc18cU_JngQ1n0.md index 2aee2bd02..1ff06799a 100644 --- a/src/data/roadmaps/linux/content/ulimits@QgfenmhMc18cU_JngQ1n0.md +++ b/src/data/roadmaps/linux/content/ulimits@QgfenmhMc18cU_JngQ1n0.md @@ -2,12 +2,8 @@ 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. -```bash -# To see current ulimits: -ulimit -a +Learn more from the following resources: -# To set a specific ulimit (soft limit), for example file handles: -ulimit -n 1024 -``` - -Properly configuring and understanding ulimits – especially in containerized environments – is an essential part of system administration in Linux. \ No newline at end of file +- [@article@Check and set user limits with ulimit Linux command](https://linuxconfig.org/limit-user-environment-with-ulimit-linux-command) +- [@article@How to Use Ulimit Command in Linux](https://linuxhandbook.com/ulimit-command/) +- [@article@10 Linux Troubleshooting Tips](https://www.dummies.com/article/technology/computers/operating-systems/linux/10-linux-troubleshooting-tips-274301/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/unexpand@sKduFaX6xZaUUBdXRMKCL.md b/src/data/roadmaps/linux/content/unexpand@sKduFaX6xZaUUBdXRMKCL.md index 64d7c47b6..59f74fd8c 100644 --- a/src/data/roadmaps/linux/content/unexpand@sKduFaX6xZaUUBdXRMKCL.md +++ b/src/data/roadmaps/linux/content/unexpand@sKduFaX6xZaUUBdXRMKCL.md @@ -2,8 +2,8 @@ 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. -An example of using the `unexpand` command: +Learn more from the following resources: -```bash -unexpand -t 4 file.txt -``` \ No newline at end of file +- [@article@unexpand Cheat Sheet](https://www.commandinline.com/cheat-sheet/unexpand/) +- [@article@Master the Linux 'unexpand' Command: A Comprehensive Guide](https://hopeness.medium.com/master-the-linux-unexpand-command-a-comprehensive-guide-6966c1f90acb) +- [@article@Linux unexpand Command with Practical Examples](https://labex.io/tutorials/linux-linux-unexpand-command-with-practical-examples-422975) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/uniq@qnBbzphImflQbEbtFub9x.md b/src/data/roadmaps/linux/content/uniq@qnBbzphImflQbEbtFub9x.md index 10075798c..ffaeb42f9 100644 --- a/src/data/roadmaps/linux/content/uniq@qnBbzphImflQbEbtFub9x.md +++ b/src/data/roadmaps/linux/content/uniq@qnBbzphImflQbEbtFub9x.md @@ -1,15 +1,9 @@ # Uniq -In Linux, `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. - -An example of using `uniq` would be: - -```bash -sort names.txt | uniq -``` - -In this example, `names.txt` is a file containing a list of names. The `sort` command sorts all the lines in the file, and then the `uniq` command removes all the duplicate lines. The resulting output would be a list of unique names from `names.txt`. +`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. Learn more from the following resources: -- [@article@Linux uniq Command: Duplicate Filtering](https://labex.io/tutorials/linux-linux-uniq-command-duplicate-filtering-219199) \ No newline at end of file +- [@article@Uniq Command in Unix and Linux: 7 Essential Examples](https://linuxhandbook.com/uniq-command/) +- [@article@Linux uniq Command: Duplicate Filtering](https://labex.io/tutorials/linux-linux-uniq-command-duplicate-filtering-219199) +- [@article@How to Use the Uniq Command to Process Lists in Linux](https://www.redhat.com/en/blog/uniq-command-lists) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/uptime-and-load@19lTWqAvZFT2CDlhLlPSq.md b/src/data/roadmaps/linux/content/uptime-and-load@19lTWqAvZFT2CDlhLlPSq.md index d787b16c9..866d7ef85 100644 --- a/src/data/roadmaps/linux/content/uptime-and-load@19lTWqAvZFT2CDlhLlPSq.md +++ b/src/data/roadmaps/linux/content/uptime-and-load@19lTWqAvZFT2CDlhLlPSq.md @@ -2,15 +2,8 @@ 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. -Here is an example of the `uptime` command and its output: - -```bash -$ uptime - 10:58:35 up 2 days, 20 min, 1 user, load average: 0.00, 0.01, 0.05 -``` - -In the output above, "2 days, 20 min" tells us how long the system has been up, while "0.00, 0.01, 0.05" shows the system's load average over the last one, five, and fifteen minutes, respectively. - Learn more from the following resources: +- [@article@Linux Uptime Command With Usage Examples](https://www.tecmint.com/linux-uptime-command-examples/) +- [@article@How to Check Uptime in Linux Command Line](https://linuxhandbook.com/uptime-command/) - [@article@Linux Load Average: What is Load Average in Linux?](https://www.digitalocean.com/community/tutorials/load-average-in-linux) diff --git a/src/data/roadmaps/linux/content/uptime-load@19lTWqAvZFT2CDlhLlPSq.md b/src/data/roadmaps/linux/content/uptime-load@19lTWqAvZFT2CDlhLlPSq.md index f4989a44a..3f2ebf41c 100644 --- a/src/data/roadmaps/linux/content/uptime-load@19lTWqAvZFT2CDlhLlPSq.md +++ b/src/data/roadmaps/linux/content/uptime-load@19lTWqAvZFT2CDlhLlPSq.md @@ -2,8 +2,8 @@ The `uptime` command shows system running time and load averages for 1, 5, and 15-minute intervals. Load average indicates computational work and processes waiting for CPU time. High load suggests insufficient resources or misconfigurations. Example: `uptime` shows "2 days, 20 min" uptime and "0.00, 0.01, 0.05" load averages. Essential for performance monitoring and capacity planning. - - Learn more from the following resources: +- [@article@Linux Uptime Command With Usage Examples](https://www.tecmint.com/linux-uptime-command-examples/) +- [@article@How to Check Uptime in Linux Command Line](https://linuxhandbook.com/uptime-command/) - [@article@Linux Load Average: What is Load Average in Linux?](https://www.digitalocean.com/community/tutorials/load-average-in-linux) diff --git a/src/data/roadmaps/linux/content/user-groups@h8wc8XEwWYHErna68w7Mg.md b/src/data/roadmaps/linux/content/user-groups@h8wc8XEwWYHErna68w7Mg.md index 3e8e9b938..ffe9b0836 100644 --- a/src/data/roadmaps/linux/content/user-groups@h8wc8XEwWYHErna68w7Mg.md +++ b/src/data/roadmaps/linux/content/user-groups@h8wc8XEwWYHErna68w7Mg.md @@ -5,4 +5,6 @@ Linux user groups simplify system administration by managing collections of user Learn more from the following resources: - [@article@How to create, delete, and modify groups in Linux](https://www.redhat.com/sysadmin/linux-groups) -- [@article@How to manage groups on Linux](https://linuxconfig.org/how-to-manage-groups-on-linux) \ No newline at end of file +- [@article@How to manage groups on Linux](https://linuxconfig.org/how-to-manage-groups-on-linux) +- [@article@Creating, Modifying, and Deleting User Accounts](https://serveracademy.com/courses/linux-server-administration/creating-modifying-and-deleting-user-accounts/) +- [@article@User Management in Linux: A Beginner's Guide](https://dev.to/austinozor/user-management-in-linux-a-beginners-guide-to-creating-modifying-and-deleting-users-fhf) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/user-management@g6n7f1Qi0BPr_BGvisWuz.md b/src/data/roadmaps/linux/content/user-management@g6n7f1Qi0BPr_BGvisWuz.md index 2dfbde35b..0b214bcdf 100644 --- a/src/data/roadmaps/linux/content/user-management@g6n7f1Qi0BPr_BGvisWuz.md +++ b/src/data/roadmaps/linux/content/user-management@g6n7f1Qi0BPr_BGvisWuz.md @@ -4,4 +4,6 @@ Linux user management allows multiple users to interact with the system in isola Learn more from the following resources: -- [@article@User Account Management](https://labex.io/tutorials/linux-user-account-management-49) \ No newline at end of file +- [@article@User Account Management](https://labex.io/tutorials/linux-user-account-management-49) +- [@article@Creating, Modifying, and Deleting User Accounts](https://serveracademy.com/courses/linux-server-administration/creating-modifying-and-deleting-user-accounts/) +- [@article@User Management in Linux: A Beginner's Guide](https://dev.to/austinozor/user-management-in-linux-a-beginners-guide-to-creating-modifying-and-deleting-users-fhf) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/users-and-groups@h8wc8XEwWYHErna68w7Mg.md b/src/data/roadmaps/linux/content/users-and-groups@h8wc8XEwWYHErna68w7Mg.md index 0be08b8a1..7e1e681ad 100644 --- a/src/data/roadmaps/linux/content/users-and-groups@h8wc8XEwWYHErna68w7Mg.md +++ b/src/data/roadmaps/linux/content/users-and-groups@h8wc8XEwWYHErna68w7Mg.md @@ -1,8 +1,10 @@ # Users and Groups -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. For detailed instructions, refer to resources on managing Linux groups. +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. Learn more from the following resources: - [@article@How to create, delete, and modify groups in Linux](https://www.redhat.com/sysadmin/linux-groups) -- [@article@How to manage groups on Linux](https://linuxconfig.org/how-to-manage-groups-on-linux) \ No newline at end of file +- [@article@How to Manage Groups on Linux](https://linuxconfig.org/how-to-manage-groups-on-linux) +- [@article@Creating, Modifying, and Deleting User Accounts](https://serveracademy.com/courses/linux-server-administration/creating-modifying-and-deleting-user-accounts/) +- [@article@User Management in Linux: A Beginner's Guide](https://dev.to/austinozor/user-management-in-linux-a-beginners-guide-to-creating-modifying-and-deleting-users-fhf) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/variables@JyxvZOb7iusOSUYSlniGl.md b/src/data/roadmaps/linux/content/variables@JyxvZOb7iusOSUYSlniGl.md index 322b81a22..fb9e72ba1 100644 --- a/src/data/roadmaps/linux/content/variables@JyxvZOb7iusOSUYSlniGl.md +++ b/src/data/roadmaps/linux/content/variables@JyxvZOb7iusOSUYSlniGl.md @@ -1,3 +1,9 @@ # Variables -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. \ No newline at end of file +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. + +Learn more from the following resources: + +- [@article@Learning The Shell](https://www.linuxcommand.org/lc3_lts0010.php) +- [@article@How to Use Variables in Bash Shell Scripts](https://linuxhandbook.com/bash-variables/) +- [@article@How To Read and Set Environmental and Shell Variables](https://www.digitalocean.com/community/tutorials/how-to-read-and-set-environmental-and-shell-variables-on-linux) diff --git a/src/data/roadmaps/linux/content/vim@XiZz7EFIey1XKS292GN4t.md b/src/data/roadmaps/linux/content/vim@XiZz7EFIey1XKS292GN4t.md index 5f3388187..8dd742ffe 100644 --- a/src/data/roadmaps/linux/content/vim@XiZz7EFIey1XKS292GN4t.md +++ b/src/data/roadmaps/linux/content/vim@XiZz7EFIey1XKS292GN4t.md @@ -8,20 +8,10 @@ Vim operates primarily in three modes: - Insert (for editing text). - Command (for executing commands). -A simple use of Vim to edit a 'example.txt' file would look like this: +Learn more from the following resources: -```bash -vim example.txt -``` - -To insert new content, press 'i' for 'insert mode'. After editing, press 'ESC' to go back to 'command mode', and type ':wq' to save and quit. - -To learn more, visit this: - -Check out this [Github repo](https://github.com/iggredible/Learn-Vim?tab=readme-ov-file) on Vim from basic to advanced. - -- [@article@Learn Vim Progressively](https://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/) -- [@video@Vim basics](https://www.youtube.com/watch?v=wACD8WEnImo&list=PLT98CRl2KxKHy4A5N70jMRYAROzzC2a6x&ab_channel=LearnLinuxTV) -- [@article@Platform to practice Vim](https://vim-adventures.com/) - [@article@Vim Cheat Sheet](https://vim.rtorr.com/) +- [@article@Learn Vim Progressively](https://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/) +- [@article@Platform to practice Vim](https://vim-adventures.com/) +- [@video@Vim Basics](https://www.youtube.com/watch?v=wACD8WEnImo&list=PLT98CRl2KxKHy4A5N70jMRYAROzzC2a6x&ab_channel=LearnLinuxTV) - [@course@Learn Vimscript The Hard Way](https://learnvimscriptthehardway.stevelosh.com/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/wc@LIGOJwrXexnIcPyHVlhQ8.md b/src/data/roadmaps/linux/content/wc@LIGOJwrXexnIcPyHVlhQ8.md index 84b9ae3cb..1c232796e 100644 --- a/src/data/roadmaps/linux/content/wc@LIGOJwrXexnIcPyHVlhQ8.md +++ b/src/data/roadmaps/linux/content/wc@LIGOJwrXexnIcPyHVlhQ8.md @@ -2,14 +2,8 @@ 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. -Below is a basic usage example for `wc` in Linux: - -```bash -wc myfile.txt -``` - -This command would output the number of lines, words, and characters in `myfile.txt`. The output is displayed in the following order: line count, word count, character count, followed by the filename. - Learn more from the following resources: +- [@article@Wc Command in Linux (Count Number of Lines, Words, and Characters)](https://linuxize.com/post/linux-wc-command/) +- [@article@wc Command Examples - Linux Handbook](https://linuxhandbook.com/wc-command/) - [@article@Linux wc Command: Text Counting](https://labex.io/tutorials/linux-linux-wc-command-text-counting-219200) \ No newline at end of file diff --git a/src/data/roadmaps/linux/content/working-with-files@RsOTPZPZGTEIt1Lk41bQV.md b/src/data/roadmaps/linux/content/working-with-files@RsOTPZPZGTEIt1Lk41bQV.md index 494a902d2..770ba7317 100644 --- a/src/data/roadmaps/linux/content/working-with-files@RsOTPZPZGTEIt1Lk41bQV.md +++ b/src/data/roadmaps/linux/content/working-with-files@RsOTPZPZGTEIt1Lk41bQV.md @@ -3,20 +3,10 @@ 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. -For instance, to create a file named "example.txt", we use the command: +Visit the following resources to learn more: -```bash -touch example.txt -``` - -To list files in the current directory, we use the command: - -```bash -ls -``` - -Knowing how to effectively manage and manipulate files in Linux is crucial for administering and running a successful Linux machine. - -Learn more from the following resources: - -- [@article@Linux Basic Files Operations](https://labex.io/tutorials/linux-basic-files-operations-270248) \ No newline at end of file +- [@article@Editing Files in Linux Command Line](https://itsfoss.com/edit-files-linux/) +- [@article@Mastering cp and mv Commands in Linux](https://dev.to/ldwit/mastering-cp-and-mv-commands-in-linux-plus-related-cmds-5cc9) +- [@article@Vim Tutorial for Beginners](https://linuxconfig.org/vim-tutorial) +- [@article@Linux Basic Files Operations](https://labex.io/tutorials/linux-basic-files-operations-270248) +- [@article@What is the Difference Between Cat and Touch Command](https://linuxways.net/centos/what-is-the-difference-between-cat-and-touch-command/) \ No newline at end of file diff --git a/src/data/roadmaps/linux/linux.md b/src/data/roadmaps/linux/linux.md index 055058eb8..7285f7cab 100644 --- a/src/data/roadmaps/linux/linux.md +++ b/src/data/roadmaps/linux/linux.md @@ -22,18 +22,18 @@ seo: title: 'Linux Roadmap - roadmap.sh' description: 'Step by step guide to learn Linux in 2025. We also have resources and short descriptions attached to the roadmap items so you can get everything you want to learn in one place.' keywords: - - 'linux tutorial' - 'step by step guide for linux' - 'linux for beginners' - 'how to learn linux' - 'use linux in production' - - 'linux roadmap 2024' - 'guide to learning linux' + - 'linux roadmap 2024' + - 'linux roadmap 2025' + - 'linux' + - 'linux tutorial' - 'linux roadmap' - 'linux learning path' - 'linux learning roadmap' - - 'container roadmap' - - 'linux' - 'linux learning guide' - 'linux skills' - 'linux for development'