Skip to content

Commit 00b254c

Browse files
authored
Merge pull request #76 from kolkhis/add-issue-generation-script
Add issue generation script
2 parents c138d8e + a271037 commit 00b254c

5 files changed

Lines changed: 1003 additions & 0 deletions

File tree

Lines changed: 240 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,240 @@
1+
# Example Bonus 🍒 from LAC Unit 1 Bonus
2+
3+
---
4+
5+
<div class="flex-container">
6+
<img src="https://github.com/ProfessionalLinuxUsersGroup/img/blob/main/Assets/Logos/ProLUG_Round_Transparent_LOGO.png?raw=true" width="64" height="64"></img>
7+
<p>
8+
<h1>Unit 1 Bonus - VIM Fundamentals for Linux Sysadmins</h1>
9+
</p>
10+
</div>
11+
12+
> **NOTE:** This is an **optional** bonus section. You **do not** need to read it, but if you're interested in digging deeper, this is for you.
13+
14+
## Module 1: Getting Started (Days 1-2)
15+
16+
---
17+
18+
### Day 1: First Contact with VIM
19+
20+
**Segment 1: The Basics**
21+
22+
1. Complete first section of `vimtutor`
23+
2. Learn essential commands:
24+
- `vim filename` - Open/create file
25+
- `i` - Enter insert mode
26+
- `Esc` - Return to normal mode
27+
- `:w` - Save changes
28+
- `:q` - Quit
29+
- `:wq` or `ZZ` - Save and quit
30+
- `:q!` - Quit without saving
31+
32+
**Segment 2: Building Muscle Memory**
33+
34+
1. Create five different files
35+
2. Practice mode switching 50 times
36+
3. Write and save content in each file
37+
4. Practice recovering from common mistakes:
38+
- Accidentally pressed keys in normal mode
39+
- Forgot to enter insert mode
40+
- Trying to quit without saving
41+
42+
**Segment 3: First Real Task**
43+
44+
1. Create a simple bash script template
45+
2. Add standard sections:
46+
- Shebang line
47+
- Comments
48+
- Basic variables
49+
- Simple functions
50+
3. Save and reopen multiple times
51+
52+
### Day 2: Comfort Zone
53+
54+
**Segment 1: More Basic Operations**
55+
56+
1. Complete second section of `vimtutor`
57+
2. Practice quick save and exit combinations
58+
3. Learn to read VIM messages and errors
59+
4. Understand modes in depth:
60+
- Normal mode
61+
- Insert mode
62+
- Visual mode (introduction)
63+
64+
**Segment 2: Error Recovery**
65+
66+
1. Create deliberate errors and fix them:
67+
- Write without insert mode
68+
- Exit without saving needed changes
69+
- Get stuck in different modes
70+
2. Practice until you can recover without thinking
71+
72+
**Segment 3: Real Config Practice**
73+
74+
1. Copy `/etc/hosts` file
75+
2. Make various modifications:
76+
- Add new host entries
77+
- Modify existing entries
78+
- Add comments
79+
- Save different versions
80+
81+
## Module 2: Navigation (Days 3-4)
82+
83+
---
84+
85+
### Day 3: Basic Movement
86+
87+
**Segment 1: Core Movement Commands**
88+
89+
- Master the basics:
90+
- `h` - Left
91+
- `j` - Down
92+
- `k` - Up
93+
- `l` - Right
94+
- `w` - Next word
95+
- `b` - Previous word
96+
- `0` - Line start
97+
- `$` - Line end
98+
99+
**Segment 2: Movement Drills**
100+
101+
1. Create a "movement course" file
102+
2. Practice moving between marked points
103+
3. Time your navigation speed
104+
4. Compete against your previous times
105+
106+
**Segment 3: Applied Navigation**
107+
108+
1. Navigate through `/etc/ssh/sshd_config`:
109+
- Find specific settings
110+
- Move between sections
111+
- Locate comments
112+
- Jump to line numbers
113+
114+
### Day 4: Advanced Movement
115+
116+
**Segment 1: Extended Movement**
117+
118+
- Learn efficient jumps:
119+
- `gg` - File start
120+
- `G` - File end
121+
- `{` - Previous paragraph
122+
- `}` - Next paragraph
123+
- `Ctrl+f` - Page down
124+
- `Ctrl+b` - Page up
125+
126+
**Segment 2: Speed Training**
127+
128+
1. Work with a large configuration file
129+
2. Practice jumping between sections
130+
3. Find specific lines quickly
131+
4. Navigate through code blocks
132+
133+
**Segment 3: Real-world Navigation**
134+
135+
1. Work with system logs
136+
2. Jump between error messages
137+
3. Navigate through long configuration files
138+
4. Practice quick file browsing
139+
140+
## Module 3: Essential Editing (Days 5-7)
141+
142+
---
143+
144+
### Day 5: Basic Editing
145+
146+
**Segment 1: Edit Commands**
147+
148+
- Master core editing:
149+
- `x` - Delete character
150+
- `dd` - Delete line
151+
- `yy` - Copy line
152+
- `p` - Paste after
153+
- `P` - Paste before
154+
- `u` - Undo
155+
- `Ctrl + r` - Redo
156+
157+
**Segment 2: Editing Drills**
158+
159+
1. Create practice documents
160+
2. Delete and replace text
161+
3. Copy and paste sections
162+
4. Practice undo/redo chains
163+
164+
**Segment 3: System File Editing**
165+
166+
1. Work with `/etc/fstab` copy:
167+
- Add mount points
168+
- Remove entries
169+
- Comment lines
170+
- Fix formatting
171+
172+
### Day 6: Intermediate Editing
173+
174+
**Segment 1: Combined Commands**
175+
176+
- Learn efficient combinations:
177+
- `dw` - Delete word
178+
- `d$` - Delete to line end
179+
- `d0` - Delete to line start
180+
- `cc` - Change whole line
181+
- `cw` - Change word
182+
183+
**Segment 2: Practical Application**
184+
185+
1. Edit service configuration files
186+
2. Modify system settings
187+
3. Update network configurations
188+
4. Clean up log files
189+
190+
**Segment 3: Speed Challenges**
191+
192+
1. Timed editing tasks
193+
2. Configuration file cleanup
194+
3. Quick text transformation
195+
4. Error correction sprints
196+
197+
### Day 7: Editing Mastery
198+
199+
**Segment 1: Advanced Operations**
200+
201+
- Master text objects:
202+
- `ciw` - Change inner word
203+
- `ci"` - Change inside quotes
204+
- `di(` - Delete inside parentheses
205+
- `yi{` - Yank inside braces
206+
207+
**Segment 2: Integration Practice**
208+
209+
1. Combine all learned commands
210+
2. Work with multiple files
211+
3. Practice common scenarios
212+
4. Time your operations
213+
214+
## Daily Success Metrics
215+
216+
---
217+
218+
By end of each day, you should be able to:
219+
220+
- Day 1: Open, edit, save, and exit files confidently
221+
- Day 2: Understand and recover from common errors
222+
- Day 3: Navigate small files without arrow keys
223+
- Day 4: Move through large files efficiently
224+
- Day 5: Perform basic edits without hesitation
225+
- Day 6: Combine movement and editing commands
226+
- Day 7: Edit configuration files with confidence
227+
228+
## Practice Tips
229+
230+
---
231+
232+
1. Use `vimtutor` during breaks
233+
2. Disable arrow keys completely
234+
3. Keep a command log of new discoveries
235+
4. Time your editing operations
236+
5. Practice with real system files (copies)
237+
238+
Remember: Focus on accuracy first, then build speed.
239+
240+
## Downloads
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
# Example Intro from LAC Unit 1 Intro
2+
3+
---
4+
5+
# Unit 1
6+
7+
## Overview
8+
9+
### What is the skill/tech/concept we are dealing with?
10+
This unit introduces the foundational skills needed for effective Linux system administration with an emphasis on Red Hat Enterprise Linux (RHEL). It covers:
11+
12+
- **Command-Line Proficiency:** Mastery of the shell environment is essential for routine tasks such as navigating the file system, managing processes, and automating scripts.
13+
14+
- **Text Editing with VI/Vim:** Given that many RHEL systems use VI/Vim as the default editor for configuration and scripting, learners are introduced to these tools through practical exercises like using vimtutor and exploring interactive resources (e.g., VIM Adventures).
15+
16+
- **Understanding the Linux File System:** The worksheet emphasizes the standard Linux file hierarchy—critical for managing files, permissions, and services in a Red Hat environment.
17+
18+
- **Basic Utilities and System Management:** Along with the command-line and text editors, the unit touches on fundamental utilities that are pivotal for system configuration, troubleshooting, and maintenance on enterprise systems.
19+
20+
## Learning Objectives
21+
22+
1. **Master Command-Line Fundamentals:**
23+
- Develop proficiency in navigating the Linux command-line interface (CLI) for everyday system management tasks.
24+
- Learn how to execute commands to manipulate files, directories, and system processes efficiently.
25+
26+
2. **Understand the Linux File System:**
27+
- Grasp the structure and organization of the Linux file hierarchy.
28+
- Comprehend how the file system affects system configuration, security, and troubleshooting on Red Hat platforms.
29+
30+
3. **Gain Proficiency in Text Editing with VI/Vim:**
31+
- Acquire hands-on experience with vi/vim through guided exercises (e.g., vimtutor, VIM Adventures).
32+
- Learn to edit configuration files and scripts accurately, which is critical for system administration.
33+
34+
4. **Engage with Practical System Administration Tasks:**
35+
- Explore foundational utilities and commands essential for managing a Linux system.
36+
- Apply theoretical knowledge through real-world examples, discussion posts, and interactive resources to reinforce learning.
37+
38+
These objectives are designed to ensure that learners not only acquire technical competencies but also understand how these skills integrate into broader system administration practices in a Red Hat environment.
39+
40+
## Relevance & Context
41+
42+
### Why is it important to Linux Administrators/Engineers?
43+
The skills taught in this unit are indispensable for several reasons:
44+
45+
- **Efficient System Management:**
46+
The RHEL environment is typically managed via the command line. Proficiency in the CLI, along with an in-depth understanding of the file system, is crucial for daily tasks like system configuration, package management (using tools such as YUM or DNF), and remote troubleshooting.
47+
48+
- **Security and Stability:**
49+
Editing configuration files, managing system services, and monitoring logs are all critical tasks that ensure the secure and stable operation of RHEL systems. A robust understanding of these basics is necessary to mitigate risks and ensure compliance with enterprise security standards.
50+
51+
- **Professional Certification & Career Growth:**
52+
For those pursuing certifications like the Red Hat Certified System Administrator (RHCSA) or Red Hat Certified Engineer (RHCE), these foundational skills are not only testable requirements but also a stepping stone for more advanced topics such as automation (using Ansible), container management (with Podman or OpenShift), and performance tuning.
53+
54+
- **Operational Excellence:**
55+
In enterprise settings where uptime and rapid incident response are paramount, having a solid grasp of these fundamentals enables administrators to quickly diagnose issues, apply fixes, and optimize system performance—thereby directly impacting business continuity and service quality.
56+
57+
## Prerequisites
58+
59+
### Briefly mention concepts or skills the reader should already understand before starting the chapter.
60+
61+
The unit assumes a basic level of computer literacy, meaning the learner is comfortable with fundamental computer operations. However, before achieving that level, one must have **digital literacy**. This involves:
62+
63+
- **Familiarity with Computer Hardware:**
64+
Understanding what a computer is, how to power it on/off, and how to use basic peripherals (keyboard, mouse, monitor). This foundational comfort enables users to interact with a computer effectively.
65+
66+
- **Basic Software Navigation:**
67+
Knowing how to use common applications like web browsers, file managers, or simple text editors. This prior exposure helps learners transition into more specialized areas (like command-line interfaces) without being overwhelmed.
68+
69+
- **Understanding Core Concepts:**
70+
Grasping the basic idea of files, directories, and simple interactions with the operating system lays the groundwork for later learning. Without this, even basic computer literacy may be hard to achieve.
71+
72+
## Key terms and Definitions
73+
74+
- **Linux Kernel:**
75+
The core of the Linux operating system. It manages system resources (like memory and CPU), handles hardware interactions, and serves as the bridge between software and the computer's hardware.
76+
77+
- **Command-Line Interface (CLI):**
78+
A text-based interface used to interact with the system. It lets you run commands, navigate directories, and perform tasks without a graphical user interface. Mastering the CLI is essential for efficient Linux administration.
79+
80+
- **Shell:**
81+
A program (commonly Bash in Linux) that interprets the commands you type into the CLI. The shell enables scripting and automation, which are critical skills for managing systems.
82+
83+
- **Terminal:**
84+
The application or window that provides you with a command-line interface. Think of it as the digital workspace where you enter and execute your commands.
85+
86+
- **Filesystem Hierarchy:**
87+
The standardized directory structure in Linux (for example, `/etc`, `/var`, `/usr`) that organizes files and folders. Understanding this layout is crucial for locating configuration files and system resources.
88+
89+
- **Package Manager (e.g., YUM/DNF):**
90+
A tool that automates the process of installing, updating, and removing software. In Red Hat environments, YUM or DNF is used to manage system packages and dependencies efficiently.
91+
92+
- **Text Editors (VI/Vim):**
93+
Powerful command-line text editors used to create and edit configuration files and scripts. While there’s a learning curve, mastering VI/Vim is invaluable because they’re ubiquitous in Linux environments.
94+
95+
- **Sudo:**
96+
A command that grants you temporary administrative privileges to execute tasks that require higher permissions. It’s a security measure that helps protect your system from unintended changes.
97+
98+
- **File Permissions and Ownership:**
99+
The system that controls who can read, write, or execute files. Understanding permissions is key to maintaining system security and ensuring that only authorized users can modify critical files.
100+
101+
- **Processes and Daemons:**
102+
Active programs on your system. Processes are tasks currently running, and daemons are background services that perform essential functions (like managing network connections or scheduled tasks).
103+
104+
- **System Logs:**
105+
Files that record system events, errors, and security messages. Logs are your primary resource for troubleshooting and understanding system behavior during issues.
106+
107+
- **Networking Basics:**
108+
Fundamental concepts such as IP addressing, DNS, and routing. A good grasp of networking is vital because Linux administrators frequently manage network configurations and troubleshoot connectivity issues.
109+
110+
- **Bash Scripting:**
111+
The practice of writing scripts using the Bash shell to automate repetitive tasks. Scripting skills enhance efficiency and are highly valued in any Linux administration role.
112+

0 commit comments

Comments
 (0)