<?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: Mennatallah Ashraf</title>
    <description>The latest articles on DEV Community by Mennatallah Ashraf (@mennahaggag).</description>
    <link>https://dev.to/mennahaggag</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%2F927735%2Fa25a1ac9-a499-4407-b4b4-74b5c9fa3169.jpg</url>
      <title>DEV Community: Mennatallah Ashraf</title>
      <link>https://dev.to/mennahaggag</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mennahaggag"/>
    <language>en</language>
    <item>
      <title>How to Use Git: A Simple Tutorial for Beginners</title>
      <dc:creator>Mennatallah Ashraf</dc:creator>
      <pubDate>Thu, 18 Jul 2024 18:02:57 +0000</pubDate>
      <link>https://dev.to/mennahaggag/how-to-use-git-a-simple-tutorial-for-beginners-5acg</link>
      <guid>https://dev.to/mennahaggag/how-to-use-git-a-simple-tutorial-for-beginners-5acg</guid>
      <description>&lt;h2&gt;
  
  
  Why should every software engineer learn Git?
&lt;/h2&gt;

&lt;p&gt;Every software engineer should learn Git because it is essential for modern software development. Git tracks and manages code changes, allows multiple developers to collaborate without conflicts, and serves as a backup for the code.&lt;/p&gt;

&lt;p&gt;For &lt;strong&gt;open-source&lt;/strong&gt; contributions, Git is essential as many projects use it for version control. Proficiency in Git is often required for software engineering jobs, making it important for career growth.&lt;/p&gt;




&lt;h2&gt;
  
  
  Setting up Git
&lt;/h2&gt;

&lt;p&gt;Before learning how to use Git, you should make sure that you have Git on your machine. To verify that you have Git installed, type the following command at your command line:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git &lt;span class="nt"&gt;--version&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If this command returns the version of Git on your machine, it means you have Git installed. &lt;/p&gt;

&lt;p&gt;However, if nothing is returned or you get an output like "git is not recognized", that means you have to install Git on your system. Don't worry, installing Git is easy, and I will show you how to do it whether you are using &lt;strong&gt;Linux&lt;/strong&gt;, &lt;strong&gt;Windows&lt;/strong&gt;, or &lt;strong&gt;Mac&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Git Installation
&lt;/h3&gt;

&lt;h3&gt;
  
  
  On Linux
&lt;/h3&gt;

&lt;p&gt;Installing Git in Linux is easy all you have to do is to run the following commands.&lt;/p&gt;

&lt;p&gt;If you are using a Debian-based distribution like &lt;strong&gt;Ubuntu,&lt;/strong&gt; First, update your local package index:&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;sudo &lt;/span&gt;apt update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;then type this command to install Git:&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;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But if you’re on Red Hat-based Distributions (e.g., &lt;strong&gt;Red Hat Enterprise Linux&lt;/strong&gt;, &lt;strong&gt;CentOS&lt;/strong&gt;, &lt;strong&gt;Fedora&lt;/strong&gt;), you can use &lt;strong&gt;yum&lt;/strong&gt;:&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;sudo &lt;/span&gt;yum &lt;span class="nb"&gt;install &lt;/span&gt;git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or you can use &lt;strong&gt;dnf&lt;/strong&gt;:&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;sudo &lt;/span&gt;dnf &lt;span class="nb"&gt;install &lt;/span&gt;git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  On Windows
&lt;/h3&gt;

&lt;p&gt;First, navigate to the latest &lt;a href="https://gitforwindows.org/" rel="noopener noreferrer"&gt;Git for Windows installer&lt;/a&gt; and download the most recent version.&lt;/p&gt;

&lt;p&gt;Once the installer starts, follow the instructions provided in the Git Setup wizard until the installation is complete.&lt;/p&gt;

&lt;h3&gt;
  
  
  On Mac
&lt;/h3&gt;

&lt;p&gt;You can follow the instructions provided in &lt;a href="https://git-scm.com/download/mac" rel="noopener noreferrer"&gt;this link&lt;/a&gt; to install Git on Mac.&lt;/p&gt;

&lt;p&gt;Whether you are using Linux, Windows, or Mac, once you've finished installing Git, run &lt;code&gt;git --version&lt;/code&gt; to verify that Git is installed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Configuring Git
&lt;/h3&gt;

&lt;p&gt;Configuring Git is important because it ensures that your commits and interactions with the repository are properly attributed to you and managed according to your preferences.&lt;/p&gt;

&lt;h3&gt;
  
  
  Setting up username
&lt;/h3&gt;

&lt;p&gt;To set up your username, type this command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt; git config &lt;span class="nt"&gt;--global&lt;/span&gt; user.name &lt;span class="s2"&gt;"your-name"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Make sure to replace &lt;code&gt;"your-name"&lt;/code&gt; with your own username.&lt;/p&gt;

&lt;h3&gt;
  
  
  Setting up email
&lt;/h3&gt;

&lt;p&gt;Then, set up your email using this command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git config &lt;span class="nt"&gt;--global&lt;/span&gt; user.email &lt;span class="s2"&gt;"your-email@example.com"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Make sure to replace &lt;code&gt;"your-email@example.com"&lt;/code&gt; with your actual email address.&lt;/p&gt;

&lt;h3&gt;
  
  
  Initializing a Git repository
&lt;/h3&gt;

&lt;p&gt;To initialize a Git repository, first navigate to the directory where you want to create your repository using this command:&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;cd&lt;/span&gt; /path/to/your/project
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, you can initialize a repository in this directory by running:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command creates a new subdirectory named &lt;code&gt;.git&lt;/code&gt; in your project directory, which contains all the necessary metadata for the repository.&lt;/p&gt;

&lt;p&gt;Congrats, you have initialized your first Git repository! 🥳&lt;/p&gt;




&lt;h2&gt;
  
  
  Basic Git Commands
&lt;/h2&gt;

&lt;p&gt;After you have initialized your Git repository, you need to know the essential Git commands to manage it, and they are:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git status
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;git status&lt;/code&gt; command checks what files Git will add to your new repository.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git add &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The command &lt;code&gt;git add .&lt;/code&gt; stages all the changes in the &lt;strong&gt;current directory&lt;/strong&gt; and its subdirectories for the next commit.&lt;/p&gt;

&lt;p&gt;If you want to stage specific file you can use the following command instead:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git add path/to/your/file/example1.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Next you will need to commit the files you have just staged and you can do that by running:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"write the commit comment here"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then if you need to see the history of all the files you have committed use the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git log
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It will display all your commits with the author and hash.&lt;/p&gt;

&lt;p&gt;But if you prefer to show each commit in a &lt;strong&gt;single line&lt;/strong&gt; per commit, add the &lt;code&gt;--oneline&lt;/code&gt; option as follows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git log &lt;span class="nt"&gt;--oneline&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That is it with basic Git commands. Next, we will learn about branches and how to manage them.&lt;/p&gt;




&lt;h2&gt;
  
  
  Branching and Merging
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Understanding branches in Git
&lt;/h3&gt;

&lt;p&gt;In Git, branches are basically references to a certain commit. They are used to develop features, fix bugs, or experiment in isolation from the main codebase.&lt;/p&gt;

&lt;p&gt;Git creates a branch named &lt;code&gt;main&lt;/code&gt; (or &lt;code&gt;master&lt;/code&gt; in older versions) by default. This is the main line of development.&lt;/p&gt;

&lt;h3&gt;
  
  
  Creating a new branch and switching branches
&lt;/h3&gt;

&lt;p&gt;If you want to create a new branch but stay on the current branch, use:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git branch branch_name
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To create a new branch and switch to it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git checkout &lt;span class="nt"&gt;-b&lt;/span&gt; branch_name
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You may easily return to the previous branch by using:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git checkout -
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Renaming a branch
&lt;/h3&gt;

&lt;p&gt;To rename the &lt;strong&gt;current branch&lt;/strong&gt;, use:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git branch &lt;span class="nt"&gt;-m&lt;/span&gt; new_branch_name
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you want to rename another branch:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git branch &lt;span class="nt"&gt;-m&lt;/span&gt; branch_you_want_to_rename new_branch_name
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Merging branches
&lt;/h3&gt;

&lt;p&gt;If you want to merge the changes you made from a branch called &lt;code&gt;new_branch&lt;/code&gt; to the current branch:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git merge new_branch
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After initiating a merging, you may want to &lt;strong&gt;pause&lt;/strong&gt; it and &lt;strong&gt;restore&lt;/strong&gt; everything to its pre-merge condition. Use &lt;code&gt;--abort&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git merge &lt;span class="nt"&gt;--abort&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Deleting branches
&lt;/h3&gt;

&lt;p&gt;To delete a branch locally:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git branch &lt;span class="nt"&gt;-d&lt;/span&gt; branch_name
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;⚠&lt;br&gt;
Be aware that the previous command will fail (produce an error) if the branch &lt;code&gt;branch_name&lt;/code&gt; has unmerged changes that would be lost.&lt;/p&gt;

&lt;p&gt;In that case, if you really want to delete that branch and don't care about &lt;strong&gt;losing the changes&lt;/strong&gt; that have not been merged, you can &lt;strong&gt;force&lt;/strong&gt; delete the branch (and lose any unmerged changes in that branch) by using the &lt;code&gt;-D&lt;/code&gt; flag:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git branch &lt;span class="nt"&gt;-D&lt;/span&gt; branch_name
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






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

&lt;p&gt;Learning Git is a must for every software engineer. It helps you track code changes, collaborate smoothly with others, and is often a job requirement. With this guide, you now know how to set up Git, use basic commands, and manage branches.&lt;/p&gt;

&lt;p&gt;Get comfortable with Git, and you'll see your development skills and career opportunities grow. Happy learning! 😊&lt;/p&gt;

</description>
      <category>git</category>
      <category>devops</category>
      <category>opensource</category>
      <category>github</category>
    </item>
    <item>
      <title>Top 15 Linux Commands Every Beginner Should Know</title>
      <dc:creator>Mennatallah Ashraf</dc:creator>
      <pubDate>Mon, 01 Jul 2024 18:16:48 +0000</pubDate>
      <link>https://dev.to/mennahaggag/top-15-linux-commands-every-beginner-should-know-1mco</link>
      <guid>https://dev.to/mennahaggag/top-15-linux-commands-every-beginner-should-know-1mco</guid>
      <description>&lt;h2&gt;
  
  
  Why is it important to learn Linux commands?
&lt;/h2&gt;

&lt;p&gt;Learning Linux commands is essential for anyone who wants to use the terminal effectively. If you are a beginner interested in fields where Linux is important, this article is perfect for you. Mastering these commands will make you more efficient and give you a deeper understanding of how your system works. So, let's dive in and explore the fundamental Linux commands that every aspiring professional should know!&lt;/p&gt;

&lt;h2&gt;
  
  
  In this article, we will learn about:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Basic Commands&lt;/li&gt;
&lt;/ol&gt;

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

* ls

* cd

* mkdir

* rmdir
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ol&gt;
&lt;li&gt;File Operations&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;* touch

* cp

* mv

* rm

* cat

* nano
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ol&gt;
&lt;li&gt;Permissions and Ownership&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;* chmod

* chown
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ol&gt;
&lt;li&gt;Searching and Finding Files&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;* find

* grep
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;




&lt;h2&gt;
  
  
  Basic Commands
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;pwd&lt;/code&gt; - Print Working Directory
&lt;/h3&gt;

&lt;p&gt;Syntax:&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;pwd&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;options]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command id used to print the &lt;strong&gt;current working directory&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Basic usage:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;pwd&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will print the current working directory.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Using the&lt;code&gt;-L&lt;/code&gt; option:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;pwd&lt;/span&gt; &lt;span class="nt"&gt;-L&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will print the logical current working directory, showing the path as it appears logically, including any symbolic links.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;ls&lt;/code&gt; - List Directory Contents
&lt;/h3&gt;

&lt;p&gt;Syntax:&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;ls&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;options] &lt;span class="o"&gt;[&lt;/span&gt;directory]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;ls&lt;/code&gt; command is used to &lt;strong&gt;display the contents of the current directory&lt;/strong&gt;.&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 shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;ls&lt;/span&gt; &lt;span class="nt"&gt;-l&lt;/span&gt; /
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The command &lt;code&gt;ls -l /&lt;/code&gt; in Linux lists the contents of the root directory &lt;code&gt;/&lt;/code&gt; in &lt;strong&gt;long format&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;-l&lt;/code&gt;: An option to list the contents in long format, providing detailed information about each file and directory.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;/&lt;/code&gt;: The root directory of the filesystem.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;cd&lt;/code&gt; - Change Directory
&lt;/h3&gt;

&lt;p&gt;Syntax:&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;cd&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;options] &lt;span class="o"&gt;[&lt;/span&gt;directory]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;cd&lt;/code&gt; command allows you to &lt;strong&gt;change your current working directory&lt;/strong&gt;.&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 shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="nt"&gt;-P&lt;/span&gt; /home/user/Documents
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command will take you to &lt;code&gt;/mnt/storage/Documents&lt;/code&gt;, the &lt;strong&gt;physical location&lt;/strong&gt; to which &lt;code&gt;/home/user/Documents&lt;/code&gt; points. The output of &lt;code&gt;pwd&lt;/code&gt; (print working directory) will show &lt;code&gt;/mnt/storage/Documents&lt;/code&gt; instead of &lt;code&gt;/home/user/Documents&lt;/code&gt;.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;-P&lt;/code&gt;: will change the directory to the &lt;strong&gt;actual location&lt;/strong&gt; that &lt;code&gt;/home/user/Documents&lt;/code&gt; points to.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;/home/user/Documents&lt;/code&gt;: This is the target directory to which you want to change.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;mkdir&lt;/code&gt; - Make Directory
&lt;/h3&gt;

&lt;p&gt;Syntax:&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;mkdir&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;options] directory
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;mkdir&lt;/code&gt; is used to &lt;strong&gt;create a directory&lt;/strong&gt; if not already exist.&lt;/p&gt;

&lt;p&gt;Examples:&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;mkdir &lt;/span&gt;dir1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The previous example creates a new directory named &lt;code&gt;dir1&lt;/code&gt; in the current working directory. If a directory named &lt;code&gt;dir1&lt;/code&gt; already exists in the current location, you will get &lt;strong&gt;an error&lt;/strong&gt; message indicating that the directory already exists.&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;mkdir &lt;/span&gt;dir1 dir2 dir3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This creates multiple directories named &lt;code&gt;dir1&lt;/code&gt; , &lt;code&gt;dir2&lt;/code&gt; and &lt;code&gt;dir3&lt;/code&gt; in the current working directory.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;rmdir&lt;/code&gt; - Remove Directory
&lt;/h3&gt;

&lt;p&gt;Syntax:&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;rmdir&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;options] directory
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;rmdir&lt;/code&gt; command in Unix/Linux is used to &lt;strong&gt;remove empty directories&lt;/strong&gt;.&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 shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;rmdir&lt;/span&gt; &lt;span class="nt"&gt;-v&lt;/span&gt; dir1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;-v&lt;/code&gt;: This is an option that stands for "verbose". In this case, it will print a message for each directory that is successfully removed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;dir1&lt;/code&gt;: This is the name of the directory you want to remove. The directory &lt;strong&gt;must be empty&lt;/strong&gt; for &lt;code&gt;rmdir&lt;/code&gt; to succeed.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;But what if I want to remove a non-empty directory?🤔&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the following section, we will learn how to do that using the &lt;code&gt;rm&lt;/code&gt; command.&lt;/p&gt;




&lt;h2&gt;
  
  
  File Operations
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;touch&lt;/code&gt; - Create an Empty File
&lt;/h3&gt;

&lt;p&gt;Syntax:&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;touch&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;options] filename
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;touch&lt;/code&gt; command is used to &lt;strong&gt;create empty files&lt;/strong&gt;. You can update the modification and access time of each file with the help of the touch command.&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 shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;touch &lt;/span&gt;test.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This example is used to create a new file named &lt;code&gt;test.txt&lt;/code&gt; or update the timestamp of an existing file.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;cp&lt;/code&gt; - Copy Files or Directories
&lt;/h3&gt;

&lt;p&gt;Syntax:&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;cp&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;options] &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;source&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;destination]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You use the &lt;code&gt;cp&lt;/code&gt; command in Linux to &lt;strong&gt;copy files and directories&lt;/strong&gt; from one location to another.&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 shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cp &lt;/span&gt;file1.txt file2.txt file3.txt testdir
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command copies multiple files (&lt;code&gt;file1.txt&lt;/code&gt;, &lt;code&gt;file2.txt&lt;/code&gt;, &lt;code&gt;file3.txt&lt;/code&gt;) into the directory &lt;code&gt;testdir&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;mv&lt;/code&gt; - Move or Rename Files and Directories
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;mv&lt;/code&gt; command can be used for various purposes, such as:&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;mv&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;options] &lt;span class="o"&gt;[&lt;/span&gt;sourceFile] &lt;span class="o"&gt;[&lt;/span&gt;destinationFile]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We use this syntax if we want to &lt;strong&gt;rename a file&lt;/strong&gt;.&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;mv&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;options] &lt;span class="o"&gt;[&lt;/span&gt;sourceDir] &lt;span class="o"&gt;[&lt;/span&gt;destinationDir]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This syntax is used when &lt;strong&gt;renaming/moving a directory&lt;/strong&gt;.&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;mv&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;options] &lt;span class="o"&gt;[&lt;/span&gt;filename] &lt;span class="o"&gt;[&lt;/span&gt;destinationDir]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If we want to &lt;strong&gt;move a file&lt;/strong&gt; we use this syntax.&lt;/p&gt;

&lt;p&gt;Examples:&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;mv &lt;/span&gt;file1 file2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The previous example changes the name of the file &lt;code&gt;file1&lt;/code&gt; to be &lt;code&gt;file2&lt;/code&gt; .&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;mv &lt;/span&gt;dir1 dir2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This example renames the directory &lt;code&gt;dir1&lt;/code&gt; to be &lt;code&gt;dir2&lt;/code&gt; .&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;mv &lt;/span&gt;dir1 /path/to/new/location/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here we are changing the location of &lt;code&gt;dir1&lt;/code&gt; to &lt;code&gt;/path/to/new/location/&lt;/code&gt; .&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;mv &lt;/span&gt;file.txt /path/to/new/location/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This example moves the file &lt;code&gt;file.txt&lt;/code&gt; to &lt;code&gt;/path/to/new/location/&lt;/code&gt; .&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;rm&lt;/code&gt; - Remove Files or Directories
&lt;/h3&gt;

&lt;p&gt;Syntax:&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;rm&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;options] filename/directory
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;rm&lt;/code&gt; command &lt;strong&gt;deletes files and directories&lt;/strong&gt;.&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 shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;rm &lt;/span&gt;file.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command removes the file &lt;code&gt;file.txt&lt;/code&gt; .&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;rm&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; dir1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Another useful use of the &lt;code&gt;rm&lt;/code&gt; command is that it can remove &lt;strong&gt;non-empty directories&lt;/strong&gt;. As shown in the example, it removes the directory &lt;code&gt;dir1&lt;/code&gt; when we use the &lt;code&gt;-r&lt;/code&gt; option with it.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;cat&lt;/code&gt; - Concatenate and Display Files
&lt;/h3&gt;

&lt;p&gt;Syntax:&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;cat&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;options] &lt;span class="o"&gt;[&lt;/span&gt;filename]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;cat&lt;/code&gt; (concatenate) command in Linux &lt;strong&gt;displays file contents&lt;/strong&gt;. It reads one or multiple files and prints their content to the terminal. &lt;code&gt;cat&lt;/code&gt; is used to view file contents, combine files, and create new 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 shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cat&lt;/span&gt; &lt;span class="nt"&gt;-n&lt;/span&gt; filename
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command displays the contents of &lt;code&gt;filename&lt;/code&gt; with line numbers.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;-n&lt;/code&gt;: Option to number all output lines, starting from 1.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;nano&lt;/code&gt; - Edit File with Nano Text Editor
&lt;/h3&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nano &lt;span class="o"&gt;[&lt;/span&gt;options] filename
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Nano&lt;/strong&gt; is a simple, &lt;strong&gt;easy-to-use text editor&lt;/strong&gt; available in many Unix-based operating systems, including Linux.&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 shell"&gt;&lt;code&gt;nano file1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This example opens the Nano text editor with &lt;code&gt;file1&lt;/code&gt; loaded for editing. After modifying &lt;code&gt;file1&lt;/code&gt;, if you want to save the changes, press &lt;code&gt;Ctrl&lt;/code&gt; + &lt;code&gt;O&lt;/code&gt;. To exit Nano, press &lt;code&gt;Ctrl&lt;/code&gt; + &lt;code&gt;X&lt;/code&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Permissions and Ownership
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;chmod&lt;/code&gt; - Change File Mode
&lt;/h3&gt;

&lt;p&gt;Syntax:&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;chmod&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;options] &lt;span class="o"&gt;[&lt;/span&gt;mode] &lt;span class="o"&gt;[&lt;/span&gt;filename]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;chmod&lt;/code&gt; command is used to &lt;strong&gt;change the permissions of files and directories&lt;/strong&gt;.&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 shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;chmod &lt;/span&gt;u+x myfile
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;u+x&lt;/code&gt;: This specifies the permission change:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;u&lt;/code&gt;: Refers to the user (owner) of the file.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;+&lt;/code&gt;: Indicates that you are adding a permission.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;x&lt;/code&gt;: Represents the execute permission.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;After executing this command, the owner of &lt;code&gt;myfile&lt;/code&gt; will be able to execute it as a program or script.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;chown&lt;/code&gt; - Change File Owner and Group
&lt;/h3&gt;

&lt;p&gt;Syntax:&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;chown&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;options] &lt;span class="o"&gt;[&lt;/span&gt;owner][:group] filename&lt;span class="o"&gt;(&lt;/span&gt;s&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We use &lt;code&gt;chown&lt;/code&gt; command to &lt;strong&gt;change the owner and group of a file or directory&lt;/strong&gt;.&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 shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;chown&lt;/span&gt; &lt;span class="nt"&gt;-R&lt;/span&gt; user:group mydirectory
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;-R&lt;/code&gt;: This option stands for "recursive." It means that the command will apply the ownership change not only to the specified directory (&lt;code&gt;mydirectory&lt;/code&gt;) but also to all files and subdirectories within it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;user:group&lt;/code&gt;: This specifies the new owner and group for the directory and its contents.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;user&lt;/code&gt;: This is the new owner of the files and directories.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;group&lt;/code&gt;: Refers to the new group of the files and directories.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;This example changes the owner of &lt;code&gt;mydirectory&lt;/code&gt; and all files and subdirectories within &lt;code&gt;mydirectory&lt;/code&gt; to &lt;code&gt;user&lt;/code&gt; and the group to &lt;code&gt;group&lt;/code&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Searching and Finding Files
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;find&lt;/code&gt; - Search for Files in a Directory
&lt;/h3&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;find &lt;span class="o"&gt;[&lt;/span&gt;path] &lt;span class="o"&gt;[&lt;/span&gt;options] &lt;span class="o"&gt;[&lt;/span&gt;expression]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;find&lt;/code&gt; command helps you &lt;strong&gt;locate files&lt;/strong&gt;, and not just by their names.&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 shell"&gt;&lt;code&gt;find / &lt;span class="nt"&gt;-name&lt;/span&gt; &lt;span class="s1"&gt;'*test*'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In this example &lt;code&gt;find&lt;/code&gt; searches for files and directories containing the word "test" anywhere in their names, starting from the root directory (&lt;code&gt;/&lt;/code&gt;).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;/&lt;/code&gt;: The directory to start the search from (root directory).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;-name&lt;/code&gt;: Option to specify the name pattern to search for.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;'*test*'&lt;/code&gt;: The pattern to match. The asterisks (&lt;code&gt;*&lt;/code&gt;) are wildcards that match any number of characters before and after "test".&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;grep&lt;/code&gt; - Search Inside Files
&lt;/h3&gt;

&lt;p&gt;Syntax:&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;files]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;grep&lt;/code&gt; command in Linux is used to &lt;strong&gt;search for patterns within files&lt;/strong&gt;.&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 shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="s2"&gt;"test"&lt;/span&gt; file.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here we search for the string "test" within the file &lt;code&gt;file.txt&lt;/code&gt;.&lt;/p&gt;




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

&lt;p&gt;Learning these top 15 Linux commands is a great start for any beginner. They help you move around the system, manage files, and check what's going on with your computer. Getting comfortable with these basics will make using Linux a lot easier and more fun.&lt;/p&gt;

&lt;p&gt;Remember, this is just the beginning. There are many more commands and tools to discover. Keep exploring, and don't be afraid to try new things. The Linux community is always there to help with plenty of tutorials and guides.&lt;/p&gt;

&lt;p&gt;Happy learning, and enjoy your Linux journey!&lt;/p&gt;

</description>
      <category>linux</category>
      <category>terminal</category>
      <category>ubuntu</category>
      <category>shell</category>
    </item>
  </channel>
</rss>
