<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Michael Briseno</title>
    <description>The latest articles on DEV Community by Michael Briseno (@mike_in_tech).</description>
    <link>https://dev.to/mike_in_tech</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1024257%2Fe142772e-140f-4a7f-a19c-b3f9c2d58de9.jpg</url>
      <title>DEV Community: Michael Briseno</title>
      <link>https://dev.to/mike_in_tech</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mike_in_tech"/>
    <language>en</language>
    <item>
      <title>./What_is_BASH?!.sh</title>
      <dc:creator>Michael Briseno</dc:creator>
      <pubDate>Mon, 28 Aug 2023 10:41:49 +0000</pubDate>
      <link>https://dev.to/mike_in_tech/whatisbashsh-1daj</link>
      <guid>https://dev.to/mike_in_tech/whatisbashsh-1daj</guid>
      <description>&lt;p&gt;Tired of doing boring, repetitive tasks? BASH scripting is a powerful way to automate those tasks and manipulate data on Linux systems. BASH stands for Bourne Again Shell (no relation to Jason Bourne), which is a command-line interpreter that can execute commands from a file or interactively from the terminal.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcx8gu3umujtrawbxs15w.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcx8gu3umujtrawbxs15w.gif" alt="JBourne" width="475" height="266"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a BASH script?
&lt;/h2&gt;

&lt;p&gt;A BASH script is simply a file that holds a bunch of Linux commands and when you run the script it will run the commands in order from top to bottom. A bash script can also use variables, functions, loops, conditional statements, and other features to create more complex and dynamic scripts.&lt;/p&gt;

&lt;p&gt;To create a BASH script, you need to follow these steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Create a file, you can use the extension &lt;code&gt;.sh&lt;/code&gt; but it is not necessary. Use any text editor to write your script. For example, you can use &lt;code&gt;nano&lt;/code&gt;, or &lt;code&gt;vim&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Start your script with a &lt;strong&gt;SHEBANG&lt;/strong&gt; line, which tells the system what scripting language will be used to run the script. The shebang line is usually &lt;code&gt;#!/bin/bash&lt;/code&gt; for BASH scripts.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F321u7pgjvpdv74yk7s1y.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F321u7pgjvpdv74yk7s1y.gif" alt="Shebangs" width="480" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Fill your file with commands in the order you want them executed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;To be able to run your script you must make your script executable by using the &lt;code&gt;chmod&lt;/code&gt; command. For example, &lt;code&gt;chmod +x my_script.sh&lt;/code&gt;. (you can also type "bash my_script.sh" to run it without getting executable permission)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Run your script by typing its name or its full path in the terminal. For example, &lt;code&gt;./my_script.sh&lt;/code&gt; or &lt;code&gt;/home/user/my_script.sh&lt;/code&gt;. Depending where you are in your directory.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Bash scripting is a useful skill that can help you automate tasks and manipulate data on Linux systems. Thanks for stopping by to read and learn some basics of BASH, check out the resources below to learn more about BASH!&lt;/p&gt;

&lt;h2&gt;
  
  
  RESOURCES
&lt;/h2&gt;

&lt;p&gt;Here are some great YouTube personalities/ resources to try to learn more BASH from.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/watch?v=SPwyp2NG-bE&amp;amp;list=PLIhvC56v63IKioClkSNDjW7iz-6TFvLwS" rel="noopener noreferrer"&gt;NETWORK CHUCK BASH SERIES&lt;/a&gt; - great place to start &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/watch?v=eagmXIAKtZw" rel="noopener noreferrer"&gt;Shawn Powers BASH series&lt;/a&gt; - easy to follow examples&lt;/li&gt;
&lt;li&gt;&lt;a href="https://devhints.io/bash" rel="noopener noreferrer"&gt;Devhints.io BASH Cheat Sheet&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/watch?v=2733cRPudvI&amp;amp;list=PLT98CRl2KxKGj-VKtApD8-zCqSaN2mD4w" rel="noopener noreferrer"&gt;Learn Linux TV Bash Series&lt;/a&gt; - Longer series than others, covers a lot with examples covering backingup and scheduling jobs&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.linkedin.com/learning-login/share?forceAccount=false&amp;amp;redirect=https%3A%2F%2Fwww.linkedin.com%2Flearning%2Flearning-bash-scripting-17063287%3Ftrk%3Dshare_ent_url%26shareId%3Dwrm0cO8iQueOjNgmbAuV6g%253D%253D" rel="noopener noreferrer"&gt;Scott Simpson Linkedin Learning BASH scripting Course - MUST HAVE Linkedin Premium&lt;/a&gt; - Provides Git Repo that you can fork and use Gits Codespaces to follow along!&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://youtu.be/nrfwcbYJZfc?si=MQgYy-t2z7XmVcv7" rel="noopener noreferrer"&gt;Microsoft Developer Bash for Beginners&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;Great course to start off with, also provides a Git Repo taught by &lt;a class="mentioned-user" href="https://dev.to/madebygps"&gt;@madebygps&lt;/a&gt; &lt;a class="mentioned-user" href="https://dev.to/joshduffney"&gt;@joshduffney&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>bash</category>
      <category>beginners</category>
      <category>linux</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>25 Essential Linux Commands (CLI)</title>
      <dc:creator>Michael Briseno</dc:creator>
      <pubDate>Tue, 08 Aug 2023 15:11:55 +0000</pubDate>
      <link>https://dev.to/mike_in_tech/25-essential-linux-commands-cli-3j8p</link>
      <guid>https://dev.to/mike_in_tech/25-essential-linux-commands-cli-3j8p</guid>
      <description>&lt;h2&gt;
  
  
  25 Essential Linux Commands
&lt;/h2&gt;

&lt;p&gt;Linux is a powerful operating system that is widely used in the world of computing. It is used in 83.6% of all technology (fake stat). It is known for its stability, security, and flexibility. In this article, we will discuss some of the essential Linux commands that every user should know.&lt;/p&gt;

&lt;p&gt;Note: that these commands can also be more specified with the use of options. Just use "man" followed by any of the commands, this will send you to the manual page for that command with all the available options you can use.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. whoami
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;whoami&lt;/code&gt; command is used to display the username of the current user. This command is useful when you need to know which user you are logged in as.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;whoami
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;user
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. pwd
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;pwd&lt;/code&gt; command is used to "Print Working Directory", it will display the current working directory. This command is useful when you need to know which directory you are currently in.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pwd
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/home/user
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. ls
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;ls&lt;/code&gt; command is used to "list" the files and directories in the current working directory. This command is useful when you need to know what files and directories are in a directory.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ls
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;file1.txt file2.txt dir1 dir2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. cd
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;cd&lt;/code&gt; command is used to "change directory", will change the current directory. This command is useful when you need to navigate to a different directory.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd /home/user/Documents
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;CHEAT CODE:&lt;br&gt;
&lt;br&gt;
 &lt;code&gt;cd ..&lt;/code&gt;&lt;br&gt;
&lt;br&gt;
 will bring you back one directory, to the parent directory.&lt;/p&gt;
&lt;h3&gt;
  
  
  5. touch
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;touch&lt;/code&gt; command is used to create an empty file. This command is useful when you need to create a new file.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;touch file.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  6. mkdir
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;mkdir&lt;/code&gt; command is used to "make" a new directory. This command is useful when you need to create a new directory.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir newdir
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  7. rm
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;rm&lt;/code&gt; command is used to "remove" files and directories. This command is useful when you need to delete files or directories.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;rm file.txt
rm -r dir1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  8. cp
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;cp&lt;/code&gt; command is used to "copy" files and directories. This command is useful when you need to make a copy of a file or directory.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cp file.txt newfile.txt
cp -r dir1 newdir1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  9. mv
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;mv&lt;/code&gt; command is used to "move" files and directories. This command is useful when you need to move a file or directory.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mv file.txt /home/user/Documents/
mv dir1 /home/user/Documents/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  10. tar
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;tar&lt;/code&gt; command is used to create and extract tar archives. This command is useful when you need to compress or decompress files.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;tar -cvf archive.tar file1.txt file2.txt dir1 dir2
tar -xvf archive.tar 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  11. Gzip
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;gzip&lt;/code&gt; command is used to compress files. This command is useful when you need to compress large files.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;gzip file.txt 
gunzip file.txt.gz 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  12. Zip
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;zip&lt;/code&gt; command is used to create and extract zip archives. This command is useful when you need to compress or decompress files.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;zip archive.zip file1.txt file2.txt dir1 dir2 
unzip archive.zip 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  13. Cat
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;cat&lt;/code&gt; command is used to display the contents(conCATenation) of a file. This command is useful when you need to view the contents of a file.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;cat file.txt 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  14. tac
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;tac&lt;/code&gt; command is used to display the contents of a file in reverse order, think of CAT but backwards. This command is useful when you need to view the contents of a file in reverse order.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;cat file.txt 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  15. nano
&lt;/h3&gt;

&lt;p&gt;The nano command is used as a text editor for creating and editing text files. This command is useful when you need to edit text files.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;nano file.txt&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  16. vi
&lt;/h3&gt;

&lt;p&gt;The vi command is also used as a text editor for creating and editing text files. This command is useful when you need more advanced editing capabilities than nano provides.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;vi file.txt&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  17. vim
&lt;/h3&gt;

&lt;p&gt;The vim command is an "improved" version of vi with more advanced features for creating and editing text files.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;vim file.txt&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  18. sed
&lt;/h3&gt;

&lt;p&gt;The sed command is used for Stream EDiting of text&lt;br&gt;
files. This command can be used for search and replace operations on text files.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sed 's/old/new/g' file.txt 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  19. awk
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;awk&lt;/code&gt; command is used for processing text files. It can be used for searching, filtering, and manipulating text data.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;awk '/pattern/ { print $0 }' filename
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  20. grep
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;grep&lt;/code&gt; command searches for lines that match a pattern in one or more files. Stands for Global search / Regular Expressions / Print.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;grep 'pattern' file.txt 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  21. chmod
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;chmod&lt;/code&gt; command is used to change the permissions of a file or directory("Change mode"). This command is useful when you need to change the permissions of a file or directory.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;chmod 755 file.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  22. chgrp
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;chgrp&lt;/code&gt; command is used to change the group ownership of a file or directory. This command is useful when you need to change the group ownership of a file or directory.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;chgrp users file.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  23-25. Usermod, useradd, groupadd
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;usermod&lt;/code&gt;, &lt;code&gt;useradd&lt;/code&gt;, and &lt;code&gt;groupadd&lt;/code&gt; commands are used for user and group management. These commands are useful when you need to add, modify, or delete users and groups.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;useradd -m -s /bin/bash username
usermod -aG groupname username
groupadd groupname
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;As I work on learning linux and earn a certificate in Linux(LFCS) I have found these are the most recurring commands that I have used. I hope this article helps you get started with some of the essential Linux commands!&lt;/p&gt;

</description>
      <category>linux</category>
      <category>cli</category>
      <category>beginners</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Learn AWS RDS Now!</title>
      <dc:creator>Michael Briseno</dc:creator>
      <pubDate>Fri, 19 May 2023 10:38:15 +0000</pubDate>
      <link>https://dev.to/mike_in_tech/learn-aws-rds-now-4mme</link>
      <guid>https://dev.to/mike_in_tech/learn-aws-rds-now-4mme</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzume8f9okdm25gjwzlds.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzume8f9okdm25gjwzlds.gif" alt="meme of databases" width="480" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I "recently" finished Andrew Browns 'Week 4' of his AWS Bootcamp! In this bootcamp we were creating a Twitter clone website, utilizing AWS. The topic for the week was... You guessed it, RDS! I wont be going over how to do all of these, but I will go over some good takeaways I learned from my mistakes. &lt;strong&gt;&lt;em&gt;Spoiler alert:&lt;/em&gt;&lt;/strong&gt; it was a lot of human errors.&lt;/p&gt;

&lt;h2&gt;
  
  
  I learned how to:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Provision an RDS instance via CLI!&lt;/li&gt;
&lt;li&gt;Create a Postgres DB using CLI shortcuts&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Troubleshoot&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Learned to write and use BASH scripts ( &lt;em&gt;SHEBANG&lt;/em&gt; )&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Did I say Troubleshoot yet? Because I did a lot of that.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Implement a Lambda that runs in a VPC and commits code to RDS&lt;/li&gt;
&lt;li&gt;Programmatically update a security group rule&lt;/li&gt;
&lt;li&gt;Operate common SQL commands&lt;/li&gt;
&lt;li&gt;Create AWS Cognito trigger to insert user into database &lt;strong&gt;(Headache!)&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;em&gt;"Yeah, yeah, cool you learned a lot, but what is RDS? and why should I care?!" &lt;br&gt;
      -you&lt;/em&gt;, the reader.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is RDS?
&lt;/h2&gt;

&lt;p&gt;A web service (Relational Database Service) that makes it easier to set up, operate, and scale a relational database in the AWS Cloud. It provides cost-efficient, resizable capacity for an industry-standard relational database and manages common database administration tasks.&lt;/p&gt;

&lt;p&gt;Here are some examples of how companies use AWS RDS.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Expedia&lt;/strong&gt; uses AWS CloudFormation with Chef to deploy its entire front and backend stack into its Amazon Virtual Private Cloud (Amazon VPC) environment. Expedia Group uses a multi-region, multi-availability zone architecture with a proprietary DNS service to add resiliency to the applications.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Unilever&lt;/strong&gt; used AWS Service Catalog to scale its database-as-a-service platform, facilitating simple database deployments, management, and support with a lean team of engineers.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some benefits of using AWS RDS for companies like Unilever and Expedia include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Scalability:&lt;/strong&gt; RDS allows companies to easily scale their databases up or down as needed with simple API calls or a few manual changes from the AWS Management Console.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reduced Database Administration:&lt;/strong&gt; RDS handles routine database management tasks such as provisioning, backup, recovery, repair, patching, and failure detection. This frees up time for developers to innovate for their customers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost Savings:&lt;/strong&gt; Companies only pay for the resources they use with RDS, without up-front investments.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Increased Agility and Resiliency:&lt;/strong&gt; By using AWS, Expedia Group has become more resilient and its developers have been able to innovate faster while saving the company millions of dollars.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Troubleshooting Issues:
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkk2wutis5hvbmzm2ujes.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkk2wutis5hvbmzm2ujes.gif" alt="monkeyangryatcomputer" width="250" height="172"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We all encounter issues in all of our jobs or tools we use. Whether you are a pro or a beginner (N00b) we all have done something dumb to sometimes be the cause of said issue. The important thing is to remember it and learn from it!&lt;/p&gt;

&lt;p&gt;Here are just a couple of the things I learned.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Ran into lots of issues with the Postgres table not pushing to the website backend. I later found through the very helpful discord that someone else had the same connection pool error that I had, however, my issue was simply I had forgotten to re-compose up my docker image after making changes to the docker compose file. Do not forget to double-check the "little things"!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I recently came to the realization that I had forgotten to turn the instance back 'on' after creating a new database named "2". It was a simple oversight on my part, but I will make sure to be more mindful moving forward.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Next issue: syntax, a simple extra word can screw up your code and thus I spent 20+ minutes trying to figure that out...&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Last issue: In AWS lambda our lambda had an environment variable for my 'CONNECTION_URL' that was not fully correct. Checking docker logs and Cloudwatch logs to find the issue it ended up being that I had some syntax error, always double-check your Environment variables! In my code it is &lt;code&gt;'CONNECTION_URL = PROD_CONNECTION_URL = "XXX" '&lt;/code&gt;. However, in the AWS console Lambda portion, it doesn't need the &lt;br&gt;
&lt;code&gt;" = PROD_CONNECTION_URL"&lt;/code&gt; portion, just the value afterwards! After I cleared that up, the user I created (via AWS Cognito) was able to connect with the Postgres table and fill it in with user info! ( had some help from the boot camp Discord - someone else had the same problem, I tried to fix it myself at first but alas I went looking for help - do not deny yourself help when you need it)&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Although this "week" took me more than a week( LOL), I managed to finish it, and although I won't be finishing the boot camp I will continue with my fundamental cloud studies(Linux, Networking, AWS). I have learned so much in the "5 weeks" of instruction that was provided by Andrew Browns AWS bootcamp! &lt;/p&gt;

&lt;p&gt;Sorry for the long post! Thanks for reading!! Follow for more cloud/tech-related content! Please comment to let everyone know how you use RDS if you do!&lt;/p&gt;

</description>
      <category>aws</category>
      <category>rds</category>
      <category>beginners</category>
      <category>cloud</category>
    </item>
    <item>
      <title>AWS E-SEA-TWO?</title>
      <dc:creator>Michael Briseno</dc:creator>
      <pubDate>Sat, 08 Apr 2023 02:11:27 +0000</pubDate>
      <link>https://dev.to/mike_in_tech/aws-e-sea-two-pkb</link>
      <guid>https://dev.to/mike_in_tech/aws-e-sea-two-pkb</guid>
      <description>&lt;p&gt;I have been learning about AWS services and one of the key services to AWS is the EC2 instance! But you cannot learn EC2 without knowing about its other important friends &lt;strong&gt;EBS&lt;/strong&gt; and &lt;strong&gt;EFS&lt;/strong&gt;!&lt;/p&gt;

&lt;h2&gt;
  
  
  What is AWS EC2?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3vqfat9gatnevbvwby3l.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3vqfat9gatnevbvwby3l.gif" alt="confused" width="270" height="204"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Have you ever wanted to use a computer that’s not in your house? Maybe you’re on vacation and need to do some work, or maybe you want to play a game with your friends but your computer isn’t fast enough. That’s where AWS EC2 can comes in! &lt;/p&gt;

&lt;p&gt;AWS EC2 (Amazon Web Services Elastic Compute Cloud) is a service that lets you rent computers in the cloud. It’s like renting a computer that you can access from anywhere in the world. You can use it to run your programs, play games or do anything else you would do on a regular computer. ( The “elastic” part of the name refers to the ability to easily scale up or down the number of virtual computers you’re using based on your needs )&lt;/p&gt;

&lt;p&gt;Its like renting a movie from Blockbuster back in the day, but instead of renting a movie you're renting a computer. It can get turned on pretty quickly and ready to use within minutes! &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8dezd894s20b1p6euxok.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8dezd894s20b1p6euxok.gif" alt="blockbuster" width="480" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What is AWS EBS?
&lt;/h2&gt;

&lt;p&gt;When you rent a computer with AWS EC2, you might want to save some files on it. Maybe you’re working on a project and need to save your work, or maybe you want to download some music to listen to later. That’s where AWS EBS comes in!&lt;/p&gt;

&lt;p&gt;AWS EBS (Elastic Block Store) is a service that provides storage for your EC2 instances. It’s like a hard drive that you can attach to your rented computer to store your files. You can choose how much storage you need and only pay for what you use.&lt;/p&gt;

&lt;p&gt;Another thing to consider is if your rented computer goes down for any reason, then you still have your storage separate from the EC2 instance computer. So it's as easy as setting up a new one and attaching this storage to the new one and you're good to go! - This decoupled way of managing these services is what makes AWS/cloud powerful!&lt;/p&gt;

&lt;h2&gt;
  
  
  What is AWS EFS?
&lt;/h2&gt;

&lt;p&gt;Sometimes, you might want to share files between multiple EC2 instances. Maybe you’re working on a group project and need to share your work with your teammates, or maybe you want to play a game with your friends and need to share the game files. That’s where AWS EFS comes in!&lt;/p&gt;

&lt;p&gt;AWS EFS (Elastic File System) is another storage service that lets you share files between multiple EC2 instances. It’s like having a shared folder that all your rented computers can access. You can use it to store and share files with others easily.&lt;/p&gt;

&lt;p&gt;The following video is a good rundown of EC2! Its a bit of a tutorial but with explanations throughout the walkthrough!&lt;br&gt;
&lt;a href="https://www.youtube.com/watch?v=V2eh-m5naOY" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=V2eh-m5naOY&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks for reading and follow for more Cloud and Linux articles!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzopfggu7dpmwqgsq2ry0.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzopfggu7dpmwqgsq2ry0.gif" alt="nodding in agreement" width="235" height="240"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ec2</category>
      <category>aws</category>
      <category>beginners</category>
      <category>cloud</category>
    </item>
    <item>
      <title>What the grep?!</title>
      <dc:creator>Michael Briseno</dc:creator>
      <pubDate>Sat, 25 Mar 2023 13:51:55 +0000</pubDate>
      <link>https://dev.to/mike_in_tech/what-the-grep-37bl</link>
      <guid>https://dev.to/mike_in_tech/what-the-grep-37bl</guid>
      <description>&lt;h2&gt;
  
  
  How to Master the grep Command in Linux
&lt;/h2&gt;

&lt;p&gt;If you are a Linux user, you probably know how powerful and versatile the command line can be. You can perform various tasks with just a few keystrokes, such as searching for files, manipulating text, processing data, and more.&lt;/p&gt;

&lt;p&gt;One of the most useful and popular commands in Linux is grep, which stands for global regular expression print. Grep allows you to search for a pattern of characters in a file or a stream of input and print the matching lines. You can also use grep to filter out unwanted lines, count occurrences of a pattern, highlight matches, and more! Super helpful!&lt;/p&gt;

&lt;p&gt;In this article, I will show you some common uses of grep and explain how it works. I will also list 5 reasons why you should learn and use grep when using Linux.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is grep? &lt;em&gt;History of grep&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;Grep was originally developed by Ken Thompson in 1973 as part of the Unix operating system. The name comes from a command in the ed text editor that performed a similar function: g/re/p (global/regular expression/print).&lt;/p&gt;

&lt;p&gt;A regular expression (or regex) is a sequence of characters that defines a search pattern. For example, if you want to find all lines that contain the word "hello", you can use the regex "hello". If you want to find all lines that start with "a" and end with "z", you can use the regex "^a.*z$".&lt;/p&gt;

&lt;p&gt;Grep uses regular expressions to match patterns in files or input streams. It then prints the matching lines to standard output (or stdout), which is usually your terminal screen. You can also redirect stdout to another file or command using pipes (|) or redirection operators (&amp;gt;).&lt;/p&gt;

&lt;p&gt;Here is a great video from Computerphile on grep!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=NTfOnGZUZDk" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How to use grep?
&lt;/h2&gt;

&lt;p&gt;The basic syntax of grep is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;options] pattern &lt;span class="o"&gt;[&lt;/span&gt;file...]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The options are optional flags that modify the behavior of grep. For example, -i makes grep ignore case differences, -v makes grep invert the match (print non-matching lines), -c makes grep count matching lines instead of printing them, etc.&lt;/p&gt;

&lt;p&gt;The pattern is the regular expression that defines what you are looking for. You can enclose it in single or double quotes if it contains spaces or special characters.&lt;/p&gt;

&lt;p&gt;The file argument(s) specify which file(s) to search. If no file is given, grep reads from standard input (or stdin), which is usually your keyboard input or another command's output.&lt;/p&gt;

&lt;p&gt;Here are some examples of using grep:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To find all lines that contain "linux" in a file called "example.txt":
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;grep &lt;/span&gt;linux example.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;To find all lines that start with "#" (comments) in multiple files:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;grep&lt;/span&gt; ^# &lt;span class="k"&gt;*&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;To find all files in the current directory that contain "error" (case-insensitive):
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="nt"&gt;-i&lt;/span&gt; error &lt;span class="k"&gt;*&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;To find all processes that are running as root:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ps aux | &lt;span class="nb"&gt;grep &lt;/span&gt;root
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Why should you learn and use grep?
&lt;/h2&gt;

&lt;p&gt;Here are 5 reasons why learning and using grep can make your life easier when working with Linux:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Grep is fast and efficient. It can scan large files or streams quickly and display only relevant information.&lt;/li&gt;
&lt;li&gt;Grep is flexible and powerful. It supports various options and regular expressions that allow you to fine-tune your search criteria and perform complex tasks.&lt;/li&gt;
&lt;li&gt;Grep is ubiquitous and portable. It comes pre-installed on every Linux distribution²⁴⁶and works on any text-based file or input.&lt;/li&gt;
&lt;li&gt;Grep is easy to learn and use. It has a simple syntax and intuitive logic that make it easy to master.&lt;/li&gt;
&lt;li&gt;Grep is fun and rewarding. It can help you discover new things, solve problems, automate tasks, and more.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Grep is one of the most useful commands in Linux that every user should know how to use effectively. It allows you to search for patterns in files or input streams using regular expressions and print matching lines.&lt;/p&gt;

&lt;p&gt;I hope this article helped you understand what grep is and how to use it better.&lt;/p&gt;

</description>
      <category>linux</category>
      <category>beginners</category>
      <category>programming</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Want To Learn Linux? Start Here.</title>
      <dc:creator>Michael Briseno</dc:creator>
      <pubDate>Thu, 02 Mar 2023 10:49:42 +0000</pubDate>
      <link>https://dev.to/mike_in_tech/want-to-learn-linux-start-here-nh7</link>
      <guid>https://dev.to/mike_in_tech/want-to-learn-linux-start-here-nh7</guid>
      <description>&lt;p&gt;&lt;em&gt;TL;DR: Great resource to learn Linux for Beginners for free at r/linuxupskillchallenge&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  But What is Linux?
&lt;/h2&gt;

&lt;p&gt;Linux is a powerful and versatile operating system that powers most of the servers on the internet. If you want to learn how to use Linux for your personal or professional projects, you might be overwhelmed by the amount of information and resources available online.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdffci81666ua7kqedqoa.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdffci81666ua7kqedqoa.gif" alt="screaming scared" width="348" height="310"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  So which resource do I start with?
&lt;/h2&gt;

&lt;p&gt;That’s why I recommend you check out &lt;a href="https://www.reddit.com/r/linuxupskillchallenge/" rel="noopener noreferrer"&gt;r/linuxupskillchallenge&lt;/a&gt;, a subreddit that offers a month-long(20 days) course on Linux server administration. The course is aimed at beginners who aspire to learn about Linux and get their feet wet, also lightly geared towards those that want to get Linux-related jobs in the industry, such as junior Linux sysadmin (Please don't expect to get hired after this course).&lt;/p&gt;

&lt;p&gt;Understand this course shouldn't be your only learning resource. On the contrary, the course encourages the student to go further into the daily topics covered in their free time.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Does This Course Work?
&lt;/h2&gt;

&lt;p&gt;The course is not a formal one, nor does it give you a certificate to share on social media. &lt;strong&gt;&lt;em&gt;Instead&lt;/em&gt;&lt;/strong&gt;, it gives you practical and hands-on experience with Linux commands, tools, and concepts that you can apply to real-world scenarios. This has been by far the best way to learn Linux for me. Getting hands-on in the command line and typing things. Getting errors or not the "right" response to an action and figuring out why has been very helpful in solidifying the concepts.&lt;/p&gt;

&lt;p&gt;The course consists of 20-day lessons(starting every first Monday of the month) that are posted as sticky threads on the subreddit every weekday of the month. Each lesson covers a different topic, such as installing Linux, managing users and groups, working with files and directories, configuring network services, securing your server, and more. Most of the day lessons are accompanied by a video that helps get you started.&lt;/p&gt;

&lt;p&gt;You can follow along at your own pace and ask questions or share your feedback on the subreddit. Livia Lima has been running this subreddit and is a great steward for the Linux community and the subreddit. She is active on the subreddit, so if you do run into a question or issue, you can reach out and expect a prompt answer! You can also find additional resources and tips on the official website of the course or on GitHub.&lt;br&gt;
&lt;strong&gt;Github&lt;/strong&gt;: &lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/livialima" rel="noopener noreferrer"&gt;
        livialima
      &lt;/a&gt; / &lt;a href="https://github.com/livialima/linuxupskillchallenge" rel="noopener noreferrer"&gt;
        linuxupskillchallenge
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Learn the skills required to sysadmin a remote Linux server from the commandline.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div width="100%"&gt;
  &lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Linux Upskill Challenge&lt;/h1&gt;
&lt;/div&gt;
  &lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;An Introduction to Linux Server Administration&lt;/h3&gt;
&lt;/div&gt;
  &lt;a href="https://linuxupskillchallenge.org/" rel="nofollow noopener noreferrer"&gt;&lt;img alt="Website" src="https://camo.githubusercontent.com/5ed9fb3aba346c46e31fd143558d2de3d9d8e663f7825a4d8e4aa438f3aa094a/68747470733a2f2f696d672e736869656c64732e696f2f776562736974653f75726c3d68747470732533412532462532466c696e75787570736b696c6c6368616c6c656e67652e6f7267267374796c653d666f722d7468652d6261646765266c6162656c3d4c696e75785570736b696c6c4368616c6c656e67652e6f7267"&gt;&lt;/a&gt;
  &lt;a href="https://programming.dev/c/linuxupskillchallenge" rel="nofollow noopener noreferrer"&gt;&lt;img alt="Lemmy subscribers" src="https://camo.githubusercontent.com/2ba1ce29ff20b58860edc490b99e75a1e16d3984e92c85b73e4baec24a144828/68747470733a2f2f696d672e736869656c64732e696f2f6c656d6d792f6c696e75787570736b696c6c6368616c6c656e676525343070726f6772616d6d696e672e6465763f7374796c653d666f722d7468652d6261646765266c6f676f3d6c656d6d79266c6f676f436f6c6f723d7768697465266c6162656c3d6c656d6d79"&gt;&lt;/a&gt;
  &lt;a href="https://www.reddit.com/r/linuxupskillchallenge/" rel="nofollow noopener noreferrer"&gt;&lt;img alt="Subreddit subscribers" src="https://camo.githubusercontent.com/81d72e45bce61370e738435b9a15fbafa13da959b3faf0314f282b9fd33ff69c/68747470733a2f2f696d672e736869656c64732e696f2f7265646469742f7375627265646469742d73756273637269626572732f6c696e75787570736b696c6c6368616c6c656e67653f7374796c653d666f722d7468652d6261646765266c6f676f3d726564646974266c6f676f436f6c6f723d7768697465266c6162656c3d726564646974"&gt;&lt;/a&gt;
  &lt;a href="https://discord.gg/linux-upskill-challenge-682046666928685068" rel="nofollow noopener noreferrer"&gt;&lt;img alt="Discord" src="https://camo.githubusercontent.com/64eb7124fa4bf70605f062aa0473e13613cae68bc7deccc8285dab5fc03f8372/68747470733a2f2f696d672e736869656c64732e696f2f646973636f72642f3638323034363636363932383638353036383f6c6162656c3d646973636f7264266c6f676f3d646973636f7264266c6f676f436f6c6f723d7768697465267374796c653d666f722d7468652d6261646765"&gt;&lt;/a&gt;&lt;br&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/3c4cfb3a2bb27b713a30bcf59c6b062bae6f90bd9993308f94482f34e1c7feca/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f6c697669616c696d612f6c696e75787570736b696c6c6368616c6c656e67652f6d61737465723f7374796c653d666f722d7468652d6261646765266c6f676f3d676974687562266c6f676f436f6c6f723d7768697465"&gt;&lt;img alt="GitHub last commit (branch)" src="https://camo.githubusercontent.com/3c4cfb3a2bb27b713a30bcf59c6b062bae6f90bd9993308f94482f34e1c7feca/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f6c697669616c696d612f6c696e75787570736b696c6c6368616c6c656e67652f6d61737465723f7374796c653d666f722d7468652d6261646765266c6f676f3d676974687562266c6f676f436f6c6f723d7768697465"&gt;&lt;/a&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/62f5976fac055b06d93f4e6a80c845732d4330987119389b17d86940ce1f1472/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6c697669616c696d612f6c696e75787570736b696c6c6368616c6c656e67653f7374796c653d666f722d7468652d6261646765"&gt;&lt;img alt="GitHub Repo stars" src="https://camo.githubusercontent.com/62f5976fac055b06d93f4e6a80c845732d4330987119389b17d86940ce1f1472/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6c697669616c696d612f6c696e75787570736b696c6c6368616c6c656e67653f7374796c653d666f722d7468652d6261646765"&gt;&lt;/a&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/deeac201a9055d44b068ea79039e1941f66b44dc541138e520421f73bfca8eaf/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f77617463686572732f6c697669616c696d612f6c696e75787570736b696c6c6368616c6c656e67653f7374796c653d666f722d7468652d6261646765"&gt;&lt;img alt="GitHub watchers" src="https://camo.githubusercontent.com/deeac201a9055d44b068ea79039e1941f66b44dc541138e520421f73bfca8eaf/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f77617463686572732f6c697669616c696d612f6c696e75787570736b696c6c6368616c6c656e67653f7374796c653d666f722d7468652d6261646765"&gt;&lt;/a&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/7224704d2b20066dade298e91842dc8058fdaf711d04d8b9cd8285e7da59c6ef/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6c697669616c696d612f6c696e75787570736b696c6c6368616c6c656e67653f7374796c653d666f722d7468652d6261646765"&gt;&lt;img alt="GitHub forks" src="https://camo.githubusercontent.com/7224704d2b20066dade298e91842dc8058fdaf711d04d8b9cd8285e7da59c6ef/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6c697669616c696d612f6c696e75787570736b696c6c6368616c6c656e67653f7374796c653d666f722d7468652d6261646765"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/sponsors/livialima" rel="noopener noreferrer"&gt;&lt;img alt="GitHub Sponsors" src="https://camo.githubusercontent.com/3c08783fd67cd21bf7f7f692e303b0e7f8255c1bffe58d8c54cb5a11bd63d00e/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73706f6e736f72732f6c697669616c696d613f7374796c653d666f722d7468652d6261646765266c6f676f3d67697468756273706f6e736f7273"&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;The Linux Upskill Challenge is free and open source — and it always will be.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;All core learning materials are accessible year-round. No subscriptions, no registration required - so costs you nothing but your time!&lt;/p&gt;
&lt;p&gt;&lt;em&gt;If you spot any typos or "dead links" simply &lt;a href="https://github.com/livialima/linuxupskillchallenge/issues/new/choose" rel="noopener noreferrer"&gt;raise an issue&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://LinuxUpskillChallenge.org" rel="nofollow noopener noreferrer"&gt;Website of the course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/livialima/linuxupskillchallenge" rel="noopener noreferrer"&gt;Full lesson source&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/@livia2lima/search?query=linuxupskillchallenge" rel="nofollow noopener noreferrer"&gt;Complementary video playlists&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://programming.dev/c/linuxupskillchallenge" rel="nofollow noopener noreferrer"&gt;Monthly lessons on Lemmy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/linuxupskillchallenge/" rel="nofollow noopener noreferrer"&gt;Monthly lessons on Reddit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://discord.gg/linux-upskill-challenge-682046666928685068" rel="nofollow noopener noreferrer"&gt;Chat with Discord&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;READ THIS FIRST!&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="https://github.com/livialima/linuxupskillchallenge/docs/how-this-works.md" rel="noopener noreferrer"&gt;HOW THIS WORKS &amp;amp; FAQ&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Table of Contents&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/livialima/linuxupskillchallenge/docs/00.md" rel="noopener noreferrer"&gt;Day 0&lt;/a&gt; - &lt;strong&gt;Creating Your Own Server&lt;/strong&gt;: how to setup your lab in AWS, Azure, Google Cloud, Digital Ocean and on a local server&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/livialima/linuxupskillchallenge/docs/01.md" rel="noopener noreferrer"&gt;Day 1&lt;/a&gt; - &lt;strong&gt;Get to know your server&lt;/strong&gt;: Starting with &lt;code&gt;ssh&lt;/code&gt;-ing in and some simple commands like: &lt;code&gt;ls&lt;/code&gt;, &lt;code&gt;uptime&lt;/code&gt;, &lt;code&gt;free&lt;/code&gt;, &lt;code&gt;df -h&lt;/code&gt;, &lt;code&gt;uname -a&lt;/code&gt;. Extensions on doing passwordless login…&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/livialima/linuxupskillchallenge" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  But How Much is it?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1ijviqrqzy7766t45dkh.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1ijviqrqzy7766t45dkh.gif" alt="sounds expensive" width="500" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The best part is that the course is completely free and open-source. You only need a computer with internet access and a willingness to learn. ( and setting up a Linux Machine -free ways described in the subreddit) &lt;/p&gt;

&lt;p&gt;You don’t need any prior knowledge of Linux or programming. There is a setup guide in the subreddit(day-0) if you would like to use the cloud to host your Linux machine, if not, then there are many other ways to have your own Linux machine to practice on. (local VM, or web-based sandboxes)&lt;/p&gt;

&lt;p&gt;If you are interested in joining this challenge, you can sign up for the next course that starts on Monday 6 March 2023. If you are reading this in from the future, do not worry, this challenge restarts every month starting every first Monday of the month! All you have to do is subscribe to r/linuxupskillchallenge and wait for the first lesson to be posted.&lt;/p&gt;

&lt;p&gt;I hope this article has sparked your curiosity about Linux and motivated you to take on this challenge. Learning Linux can be fun and rewarding if you have a clear goal and a supportive community. So what are you waiting for? Join r/linuxupskillchallenge today!&lt;br&gt;
&lt;a href="https://www.reddit.com/r/linuxupskillchallenge" rel="noopener noreferrer"&gt;https://www.reddit.com/r/linuxupskillchallenge&lt;/a&gt;&lt;/p&gt;

</description>
      <category>debugging</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
