<?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: Gayan Kodithuwakku</title>
    <description>The latest articles on DEV Community by Gayan Kodithuwakku (@gayankod).</description>
    <link>https://dev.to/gayankod</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%2F718447%2F8988595a-2762-4755-9d6b-d9985f0b7739.jpeg</url>
      <title>DEV Community: Gayan Kodithuwakku</title>
      <link>https://dev.to/gayankod</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gayankod"/>
    <language>en</language>
    <item>
      <title>What is ChatGPT?</title>
      <dc:creator>Gayan Kodithuwakku</dc:creator>
      <pubDate>Fri, 30 Dec 2022 14:50:38 +0000</pubDate>
      <link>https://dev.to/gayankod/what-is-chatgpt-53l0</link>
      <guid>https://dev.to/gayankod/what-is-chatgpt-53l0</guid>
      <description>&lt;p&gt;ChatGPT is a chatbot powered by the advanced language model GPT-3 (Generative Pre-trained Transformer 3). It is designed to assist in online conversations by generating responses based on the input it receives. ChatGPT can be used for a variety of purposes, including customer service, answering frequently asked questions, or simply providing a conversational companion. In this article, we will delve into the background and capabilities of ChatGPT, as well as its limitations and potential future developments. Stay tuned to learn more about this exciting chatbot technology.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is GPT-3 and its Capabilities?
&lt;/h2&gt;

&lt;p&gt;GPT-3 (Generative Pre-trained Transformer 3) is a powerful language model developed by OpenAI (OpenAI is a research organization that focuses on developing and promoting friendly artificial intelligence).&lt;br&gt;
It is trained on a massive dataset and is capable of generating human-like text for a wide range of tasks, such as translation, summarization, and text generation. GPT-3 is also capable of answering questions and engaging in conversation, making it a valuable tool for chatbots like ChatGPT.&lt;/p&gt;

&lt;p&gt;ChatGPT is specifically designed to utilize the capabilities of GPT-3 in the context of online conversations. It is able to generate responses to user input in a way that is natural and human-like, allowing it to carry on a conversation with minimal errors or awkwardness. ChatGPT is able to understand the context of a conversation and generate appropriate responses based on the information it has been given.&lt;/p&gt;

&lt;p&gt;Overall, ChatGPT is made possible by the advanced language processing capabilities of GPT-3. It is able to use the knowledge and skills learned through GPT-3’s training to generate human-like responses in a conversational setting. In the next section, we will take a look at ChatGPT in action and see some examples of how it is being used.&lt;/p&gt;

&lt;h2&gt;
  
  
  ChatGPT in Action and some Examples
&lt;/h2&gt;

&lt;p&gt;ChatGPT is being used in a variety of settings to assist with online conversations and generate responses. One example of ChatGPT in action is its use as a customer service chatbot. ChatGPT can be integrated into a company’s website or social media accounts to assist with answering frequently asked questions and resolving customer issues. This allows companies to provide timely and efficient assistance to their customers without the need for a human representative to be available 24/7.&lt;/p&gt;

&lt;p&gt;ChatGPT is also being used as a conversational companion, providing a virtual friend to chat with and engage in activities with. In this role, ChatGPT is able to carry on a natural and engaging conversation, providing a sense of companionship for those who may be feeling lonely or isolated.&lt;/p&gt;

&lt;p&gt;In comparison to other language models and chatbots, ChatGPT stands out for its ability to generate human-like text and understand the context of a conversation. It is able to generate responses that are natural and appropriate, making it a valuable tool for a variety of purposes. However, it is important to note that ChatGPT is not perfect and does have limitations, which we will discuss in the next section.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;It can generate programs,&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NlWWMOcI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qszmftnju565ksxmotcf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NlWWMOcI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qszmftnju565ksxmotcf.png" alt="It can generate programs" width="658" height="955"&gt;&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It gives an explanation for the above answer as well,&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--St2Ux2TJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3ujlrsucxu2xmo01zxce.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--St2Ux2TJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3ujlrsucxu2xmo01zxce.png" alt="It gives an explanation for the above answer as well" width="554" height="213"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It has the capability to generate optimized code as well,&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LJ5DJha6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qlqav8chyovmjm4m9724.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LJ5DJha6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qlqav8chyovmjm4m9724.png" alt="It has the capability to generate optimized code as well" width="556" height="933"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It can answer typical questions like this,&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2V60hB6n--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/urhq0m73pz2fsvzsvz6u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2V60hB6n--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/urhq0m73pz2fsvzsvz6u.png" alt="It can answer typical questions like this" width="706" height="730"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Limitations of ChatGPT
&lt;/h2&gt;

&lt;p&gt;Despite its advanced capabilities, ChatGPT is not without limitations. One potential issue with using ChatGPT is the risk of bias. As with any machine learning model, ChatGPT is only as unbiased as the data it was trained on. If the training data contains biased language or information, ChatGPT may perpetuate that bias in its responses. It is important for developers and users of ChatGPT to be aware of this potential issue and take steps to mitigate it.&lt;/p&gt;

&lt;p&gt;Another limitation of ChatGPT is its lack of understanding of tone and context. While ChatGPT is able to generate responses that are appropriate in the context of a conversation, it may not always fully understand the tone or intent behind a message. This can lead to misunderstandings or inappropriate responses in certain situations.&lt;/p&gt;

&lt;p&gt;Despite these limitations, ChatGPT is still a valuable tool for assisting with online conversations and generating responses. It is important for users to be aware of its capabilities and limitations, and to use it appropriately in order to get the most out of this technology. In the next section, we will conclude our discussion of ChatGPT and look at its potential future developments.&lt;/p&gt;

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

&lt;p&gt;In conclusion, ChatGPT is a chatbot powered by the advanced language model GPT-3. It is designed to assist in online conversations by generating responses based on user input. ChatGPT has a wide range of potential applications, including customer service, answering frequently asked questions, and providing a virtual conversational companion.&lt;/p&gt;

&lt;p&gt;Despite its capabilities, ChatGPT is not without limitations, including the risk of bias and a lack of understanding of tone and context. It is important for users to be aware of these limitations and to use ChatGPT appropriately.&lt;/p&gt;

&lt;p&gt;Looking to the future, there is potential for further developments and improvements in ChatGPT technology. As GPT-3 and other language models continue to advance, ChatGPT may become even more sophisticated and capable of handling a wider range of tasks and conversations. It is an exciting time for chatbot technology, and ChatGPT is at the forefront of this evolution.&lt;/p&gt;

</description>
      <category>chatgpt</category>
      <category>ai</category>
      <category>openai</category>
      <category>chatbot</category>
    </item>
    <item>
      <title>Understanding Arrow Functions in JavaScript ES6 — Full Guide</title>
      <dc:creator>Gayan Kodithuwakku</dc:creator>
      <pubDate>Wed, 23 Mar 2022 13:34:10 +0000</pubDate>
      <link>https://dev.to/gayankod/understanding-arrow-functions-in-javascript-es6-full-guide-2dnc</link>
      <guid>https://dev.to/gayankod/understanding-arrow-functions-in-javascript-es6-full-guide-2dnc</guid>
      <description>&lt;p&gt;JavaScript is the language that powers the web. The web is certainly dominated by it. You may be wondering what is ES6 means? You maybe have seen ES4, ES5, ES6… terms.&lt;/p&gt;

&lt;p&gt;Javascript wasn’t even always called Javascript. In fact, when Brendan first created it, it was actually called LiveScript, and then the people at Microsoft decided to try and reverse engineer the program and they ended up with something called Jscript. And so there were all the slightly different versions of Javascript that were being run on the web and it was starting to get quite confusing.&lt;/p&gt;

&lt;p&gt;So the Europeans did what Europeans do best and they decided to standardize the language. And that’s where you get the ECMAscript from. And that stands for the European Computer Manufacturers Association Script. And the only reason why this is interesting is that often you’ll see different versions of Javascript not referred to as JS5 or JS6 but as ES6 or ES7, and the ES comes of course from ECMAscript. So Arrow functions were introduced in the ES6 version of JS.&lt;/p&gt;

&lt;p&gt;Alright so enough history.&lt;br&gt;
Let’s see what is Arrow function and how it works!&lt;/p&gt;

&lt;p&gt;This is quite easy when you understand what will happen there. But if you don’t know what is the concept behind that Arrow functions. I'm sure you will already be confused what’s the meaning of that two braces, the arrow, and the two curly brackets.&lt;/p&gt;

&lt;p&gt;Simply Arrow functions is also a normal function. But it was simplified to reduce lines of code.&lt;/p&gt;

&lt;p&gt;Steps of Simple Function ➜ Arrow Function&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;myFunction&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So, this is a normal javascript function that returns the product of the two parameters a and b.&lt;/p&gt;

&lt;p&gt;but we can write this function without the function name. That calls anonymous functions in JS.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, you may be wondering without a function name, how we call that function, without calling the function what is the use of that function. Okay, I agree but these anonymous functions don’t write for calling purposes.&lt;/p&gt;

&lt;p&gt;For example, assume that we have a button to get the product of two numbers. To do that we have to write a function for onClick. So directly we can write like this with an anonymous function.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;button&lt;/span&gt; &lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
     &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; 
   &lt;span class="nx"&gt;Get&lt;/span&gt; &lt;span class="nx"&gt;Product&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/button&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;with the clarification of that, Now let's see the next step.&lt;/p&gt;

&lt;p&gt;We can remove the 'function' keyword as well. let's remove the function keyword.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;          &lt;span class="c1"&gt;//This will give an error&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;but this will give an error, so after removing the function keyword you need to put an arrow.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="c1"&gt;//let's write it in one line&lt;/span&gt;
&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;As you can see, this is the basically Arrow function in JS. Arrow function is also a function that is simplified.&lt;br&gt;
Just remove the function name and function keyword. Instead of the function keyword, we need to put an arrow.&lt;br&gt;
Hope you now got the idea about Arrow functions in JavaScript!&lt;/p&gt;

&lt;p&gt;So, now look at the previous example. We can simply write that as the following.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;button&lt;/span&gt; &lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{(&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;;}}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; 
   &lt;span class="nx"&gt;Get&lt;/span&gt; &lt;span class="nx"&gt;Product&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/button&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Wait, another important fact!&lt;br&gt;
&lt;strong&gt;If your function only has one line, you do not need to wrap that line with curly braces. In this case, no need to wrap return a*b with curly braces and you do not need to write return keywords as well.&lt;/strong&gt; The compiler knows that it should be returned.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;button&lt;/span&gt; &lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{(&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; 
   &lt;span class="nx"&gt;Get&lt;/span&gt; &lt;span class="nx"&gt;Product&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/button&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So simply we can write our Arrow function like this. Now you can get some idea of why arrow functions are used in JS. It reduces a lot of lines of code when developing a complex system.&lt;/p&gt;

&lt;p&gt;Likewise, there are a lot of ways to write arrow functions in JavaScript. Now let’s quickly get informed on the ways you can write an Arrow Function.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cheat Sheet of Arrow Functions in JS.
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--G6oMZ6ci--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p4v42oft30z0xlxqpotb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--G6oMZ6ci--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p4v42oft30z0xlxqpotb.png" alt="Cheat Sheet - Arrow Functions ES6" width="839" height="592"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is the cheat sheet of the Arrow Functions ES6.&lt;br&gt;
Maybe when you see this, you feel like what the heck is this, like that… :D Don’t worry I’ll explain everything in this cheat sheet. let’s gooo…&lt;/p&gt;
&lt;h2&gt;
  
  
  Implicit vs Explicit Return
&lt;/h2&gt;

&lt;p&gt;First, you need to understand what is Implicit Return and Explicit Return.&lt;/p&gt;

&lt;p&gt;With normal functions, if you want to return something, you have to use the &lt;code&gt;return&lt;/code&gt; keyword. Arrow functions also have that. When you use the &lt;code&gt;return&lt;/code&gt; keyword, it's called an &lt;strong&gt;explicit return&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;However, the arrow functions allow something called &lt;strong&gt;implicit return&lt;/strong&gt; where the &lt;code&gt;return&lt;/code&gt; keyword can be skipped. Let's look at some examples.&lt;/p&gt;

&lt;p&gt;Example A: Normal Function&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;sayHi&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Example B: Arrow Function with Explicit Return&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Multi-line&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;sayHi&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// Single-line&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;sayHi&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Example C: Arrow Function with Implicit Return&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Single-line&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;sayHi&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;

&lt;span class="c1"&gt;// Multi-line&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;sayHi&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="nx"&gt;name&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Notice the difference? When you use curly braces &lt;code&gt;{}&lt;/code&gt;, you need to explicitly state the &lt;code&gt;return&lt;/code&gt;. However, when you don't use curly braces, the &lt;code&gt;return&lt;/code&gt; is implied and you don't need it.&lt;/p&gt;

&lt;p&gt;There’s actually a name for this.&lt;br&gt;
When you use curly braces like in &lt;strong&gt;Example B&lt;/strong&gt;, it’s called a &lt;strong&gt;Block Body&lt;/strong&gt;.&lt;br&gt;
And the syntax in &lt;strong&gt;Example C&lt;/strong&gt; is called a &lt;strong&gt;Concise Body&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Simply,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Block body is where you use curly braces and have an explicit &lt;code&gt;return&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The concise body is where you don’t use curly braces, and you skip the &lt;code&gt;return&lt;/code&gt; keyword.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Alright, another thing about Parentheses () of Arrow functions.
&lt;/h2&gt;

&lt;p&gt;First of all, parentheses mean two braces that we put in functions to wrap parameters. Sometimes it will be empty.&lt;/p&gt;

&lt;p&gt;So, In normal functions we always need parentheses. But in &lt;strong&gt;Arrow Functions we do not need parentheses if there is only one parameter.&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  — Parentheses are optional for a SINGLE parameter —
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--H40pwW5j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sdq02dpn8f51msjr611w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--H40pwW5j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sdq02dpn8f51msjr611w.png" alt="Single Parameter" width="843" height="298"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  — Parentheses are required for MULTIPLE parameters —
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Y6vgfPH8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qi74471inq44etv9t2gi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Y6vgfPH8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qi74471inq44etv9t2gi.png" alt="Multiple Parameter" width="842" height="205"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  IMPORTANT — Returning Objects
&lt;/h2&gt;

&lt;p&gt;However, when you return an object in Arrow functions, you should put parentheses even you have only one line in the function.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;me&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Gayan&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="nx"&gt;me&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; &lt;span class="c1"&gt;//Output --&amp;gt; undefined&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The above one is wrong ❌&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;me&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Gayan&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="nx"&gt;me&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; &lt;span class="c1"&gt;//Output --&amp;gt; { name: "Gayan" }&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is correct ✅&lt;/p&gt;

&lt;p&gt;That’s all about it. I hope you got the idea about Arrow Functions ES6 and find this post useful, and I would love to see your feedback about the article. Or if you have any questions please put them all in the comment section, I will reply to you all.&lt;/p&gt;

&lt;p&gt;Follow me on &lt;a href="https://twitter.com/GayanKodX"&gt;Twitter @gayankodX&lt;/a&gt; for more updates!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>arrowfunctions</category>
    </item>
    <item>
      <title>EP 02 | Start using Terminal</title>
      <dc:creator>Gayan Kodithuwakku</dc:creator>
      <pubDate>Wed, 10 Nov 2021 13:06:35 +0000</pubDate>
      <link>https://dev.to/gayankod/ep-02-start-using-terminal-30je</link>
      <guid>https://dev.to/gayankod/ep-02-start-using-terminal-30je</guid>
      <description>&lt;p&gt;Hello beautiful people! After a long time, here I bring the 2nd Episode of the Linux for Hackers Series.&lt;br&gt;
Actually, I’m really sorry for the delay, I’m dead busy with my university stuff these days. That’s the reason, Anyway, I try to bring new articles as soon as I can…&lt;/p&gt;

&lt;p&gt;When it comes to Terminal, It’s the truly wheeled power of Linux. So please don’t use GUI in Linux. You should use Terminal instead of it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fb61rhyi0cpxu0nbkd0v1.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fb61rhyi0cpxu0nbkd0v1.jpg" alt="Where you can access Terminal in Kali Linux"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So this is the where Terminal is in Kali Linux. Go ahead and click it…&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fvwtutcgeo6ksdozlezko.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fvwtutcgeo6ksdozlezko.png" alt="Terminal"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So you can see here, Terminal opened up!&lt;/p&gt;

&lt;p&gt;So this is the Linux Terminal, and this is how you are supposed to use Linux. Now if you’re coming from the GUI-only world Where all you use is a graphical user interface… Right!!!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fg9zm35utyzs6uv96ccuj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fg9zm35utyzs6uv96ccuj.png" alt="fun1"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So true, this might seem a little scary. I totally get it!!!&lt;br&gt;
BUT DON’T WORRY!!!&lt;/p&gt;

&lt;p&gt;We are going to walk through this, We are going to teach you a few commands here…&lt;/p&gt;

&lt;p&gt;I’m going to slowly wing you off the Graphical User Interface.&lt;br&gt;
I’ll put it up side by side…&lt;/p&gt;

&lt;p&gt;Actually, watch here. I’m gonna teach your first few Linux commands…&lt;br&gt;
So come on follow along with me…&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F97z16tdrx9rdqjtjq5a7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F97z16tdrx9rdqjtjq5a7.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So go ahead and have your Linux terminal open and also at the same time double click and open up your Home Directory.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fddprociico7oogsksc0x.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fddprociico7oogsksc0x.jpg" alt="Opened Home Directory and Terminal"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’ll teach you the first few commands by doing something here in the GUI and then doing that same thing in the Linux Terminal.&lt;/p&gt;

&lt;p&gt;Now here’s the first thing, what I love about the GUI is that you are always kind of know where you are right! because you can see it!!!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fd4d119n02utnp1dwhveb.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fd4d119n02utnp1dwhveb.jpg" alt="You can see where you are ‘/home/kali/’"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So here I’m in my user directory (Home directory). And you can see there is my stuff.&lt;/p&gt;

&lt;p&gt;Now, let’s look at the CLI which is Linux Terminal.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fnvevw0zm6tb77m5nmieg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fnvevw0zm6tb77m5nmieg.png" alt="Terminal"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I don’t see anything here… How do I know I am, We are gonna solve that…&lt;br&gt;
This is our first command! type with me folks!!!&lt;/p&gt;

&lt;p&gt;&lt;b&gt;01. pwd (Print Working Directory)&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;It basically does what we see in the GUI address bar (/home/kali/).&lt;br&gt;
Simply, It tells us where we’re at…&lt;br&gt;
Hey, where am I? Oh! I’m right here!!!&lt;br&gt;
Let’s try it out! type pwd and go ahead and hit enter!&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.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%2Fvkwim8rftg7uhb2f51qx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fvkwim8rftg7uhb2f51qx.png" alt="Compare terminal result and what we can see in GUI address bar"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Bam!!! It shows us the full path of where we are right now!!!… &lt;br&gt;
you can see it exactly to same as the GUI address bar does.&lt;/p&gt;

&lt;p&gt;But one thing, I can actually see my Desktop, Document folder, Download folder, Music folder, Pictures folder, Public folder, Template folder and Videos folder in GUI.&lt;br&gt;
I don’t see those in CLI/ Terminal!!!&lt;/p&gt;

&lt;p&gt;How do I see those in Terminal…???&lt;/p&gt;

&lt;p&gt;Next command!&lt;br&gt;
type with me, It’s ls command!&lt;/p&gt;

&lt;p&gt;&lt;b&gt;02. ls (list)&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;This is pretty simple what it does. It’ll simply list the contents of your current working directory!&lt;br&gt;
It’s gonna list what we see in GUI… Desktop, Document folder…etc.&lt;br&gt;
You wanna see it?&lt;br&gt;
Let’s do it!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ls
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.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%2F7i2lw1vwfxdq82zq1ml5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F7i2lw1vwfxdq82zq1ml5.png" alt="ls"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Boom!!!&lt;br&gt;
It did everything!&lt;/p&gt;

&lt;p&gt;We can see Desktop Documents… all kinds of stuff in Terminal also.&lt;/p&gt;

&lt;p&gt;SEE SEE!!! YOU CAN DO ANYTHING IN THE TERMINAL!!!&lt;br&gt;
and it’s faster!!!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fmlpoab4k8n4ntfpyd4f1.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fmlpoab4k8n4ntfpyd4f1.jpg" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’ll convince you, don’t worry! let’s keep going!!!&lt;/p&gt;

&lt;p&gt;let’s say we want to take a peek inside our desktop folder. I’ll show it first in GUI. I go inside the Desktop folder.&lt;/p&gt;

&lt;p&gt;I know you all know how to do that in GUI.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fvvjen5f6ehieckprsvpj.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fvvjen5f6ehieckprsvpj.gif" alt="go to inside of the Desktop folder in GUI"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I just double-clicked the desktop folder, and I jumped in there…&lt;br&gt;
So, how to do it in the terminal!&lt;br&gt;
Our Next Command! here we go!&lt;/p&gt;

&lt;p&gt;&lt;b&gt;03. cd (Change Directory)&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;It’s going to do exactly what we just did in GUI.&lt;br&gt;
watch let’s do it right now!!!&lt;br&gt;
Just after cd,&lt;br&gt;
I’ll hit space and tell it&lt;br&gt;
what directory do I want to go to…&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.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%2Fdk7a21i5dwkowicace99.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fdk7a21i5dwkowicace99.gif" alt="cd command"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hey! Did it work???&lt;br&gt;
I don’t know! Let’s see…&lt;br&gt;
Let’s print our working directory!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F7jul9m01intmcbus2xac.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F7jul9m01intmcbus2xac.gif" alt="check cd"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We did!!!&lt;br&gt;
Here you can see the current working directory is changed!!!&lt;br&gt;
We did indeed drill down right into the desktop folder and then to see what’s on our desktop as we can see in the GUI. But currently, my Desktop is empty! Let’s see what happens!!!&lt;/p&gt;

&lt;p&gt;we can simply type ls command to list the contents!!!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fvlx0mlwrx6ap778h5m7x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fvlx0mlwrx6ap778h5m7x.png" alt="ls in desktop"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There’s not anything!!! in both GUI and CLI!!! It’s fine. Because actually, my desktop has nothing!!! cool!!!&lt;/p&gt;

&lt;p&gt;Now!!! We’re gonna learn one more command today!&lt;br&gt;
Hang with me!!!&lt;/p&gt;

&lt;p&gt;But so far we’ve done a lot,&lt;br&gt;
the pwd command → to see where we are&lt;br&gt;
the ls command → see what’s around us, what’s in our directory&lt;br&gt;
the cd command → to change where we are&lt;/p&gt;

&lt;p&gt;But now,&lt;br&gt;
How do we go back!!!???&lt;/p&gt;

&lt;p&gt;Because we can do it in GUI easily using the back icon in the left top corner!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Ftj4x8ivu7n30ni11ftii.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Ftj4x8ivu7n30ni11ftii.jpg" alt="back in gui"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How do we do it in Terminal?!&lt;br&gt;
It’s actually super easy!!!&lt;/p&gt;

&lt;p&gt;so again we gonna type &lt;b&gt;cd&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;because Back means we gonna &lt;b&gt;change our directory again!!!&lt;/b&gt;&lt;br&gt;
type cd and I’ll hit space and type double dot and hit Enter!&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.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%2Fcofpuxrk01tmqfmekte3.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fcofpuxrk01tmqfmekte3.gif" alt="go backward"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Boom! it works!!!&lt;br&gt;
Again we were in our home directory!&lt;/p&gt;

&lt;p&gt;Now just for fun!&lt;br&gt;
I wonder what will happen if we keep going backward???&lt;br&gt;
if we type in cd .. again and again??? what will happen??&lt;/p&gt;

&lt;p&gt;Okay, let’s do it and check!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fwdgyomx25omh82zvgxxb.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fwdgyomx25omh82zvgxxb.gif" alt="Keep going backward"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Oh, you can see, instead of home I’m simply at /&lt;br&gt;
And what this is?&lt;/p&gt;

&lt;p&gt;It is actually the Root of the file system.&lt;br&gt;
It’s the end.&lt;br&gt;
We reached the end!&lt;/p&gt;

&lt;p&gt;And we’ll talk more about that later! In upcoming episodes!&lt;/p&gt;

&lt;p&gt;But, just for fun again… just that’s all for fun right!&lt;br&gt;
let’s enter the ls command now!!! at root… (/)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fp0awdr4pn1yrf05kldfr.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fp0awdr4pn1yrf05kldfr.gif" alt="try ls command in the root directory"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Boom! you can see now the content list of the root directory…&lt;br&gt;
Huh! A lot of interesting files here…&lt;/p&gt;

&lt;p&gt;We’ll talk about all these files later!&lt;/p&gt;

&lt;p&gt;Now real quick Quiz for you,&lt;br&gt;
&lt;a href="https://media.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%2Ft6umifhv0x5knx0zht8m.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Ft6umifhv0x5knx0zht8m.jpeg" alt="Quiz time"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let’s see you got the idea right!&lt;br&gt;
&lt;b&gt;Q. Assume you’re in the root directory in Linux Terminal. What command or commands would you enter to /home/kali/ directory?&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;There are 02 options really…&lt;br&gt;
You can do it with one command or you can do it with 02 commands…&lt;br&gt;
&lt;b&gt;Please comment below your answer!!!&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;I’ll discuss the answer in the very next episode of this series!&lt;/p&gt;

&lt;p&gt;Now here we just scratched the surface.&lt;br&gt;
We are going deeper into Linux.&lt;br&gt;
We are gonna prepped and ready to become a hacker.&lt;br&gt;
But don’t that diminish the fact that you did a lot today with this article!&lt;/p&gt;

&lt;p&gt;We are moving from GUI to CLI… Specially Hackers like CLI! We love it right!&lt;br&gt;
And we did, pwd, cd, ls… more to come!!!&lt;/p&gt;

&lt;p&gt;So if you wanna hack Dev.to platform algorithm, just hit the heart ,unicorn or save and hit the follow button, and also put your comment! &lt;br&gt;
It hacks the algorithm of Dev.to :D.&lt;br&gt;
Ethically!!! Yess!!!&lt;/p&gt;

&lt;h2&gt;Summary&lt;/h2&gt;

&lt;p&gt;pwd command → to see where we are&lt;br&gt;
ls command → see what’s around us, what’s in our directory&lt;br&gt;
cd command → to change where we are&lt;br&gt;
cd .. command → to go backward&lt;/p&gt;

</description>
      <category>linux</category>
      <category>cybersecurity</category>
      <category>tutorial</category>
      <category>opensource</category>
    </item>
    <item>
      <title>EP 01 | What is Linux?</title>
      <dc:creator>Gayan Kodithuwakku</dc:creator>
      <pubDate>Sun, 10 Oct 2021 20:40:01 +0000</pubDate>
      <link>https://dev.to/gayankod/linux-for-hackers-ep-01-e1h</link>
      <guid>https://dev.to/gayankod/linux-for-hackers-ep-01-e1h</guid>
      <description>&lt;p&gt;This series is not only for hackers but also for all beginners who are interested in Linux. By the way, if you want to become a hacker,&lt;br&gt;
&lt;b&gt;YOU JUST START LEARNING LINUX RIGHT NOW!!! GO!!!&lt;/b&gt;&lt;br&gt;
What are you waiting for!!!!&lt;/p&gt;

&lt;p&gt;Anyway if you’re a kid, like 10 years old, No problem… Don’t be afraid… You can follow through this series and learn about Linux for free. But yes, you have to read, men!!! you cannot watch till I don’t create videos ;)&lt;/p&gt;

&lt;p&gt;If you are thinking like “No men I can’t do this, Linux is too hard… How can I learn this? How can I practice this?…” These are all bullcrap…&lt;br&gt;
YES, YOU CAN…! Let’s Go Right!!!!???&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8Sb74ADG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sz3ige1cphocw0ts3e3h.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8Sb74ADG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sz3ige1cphocw0ts3e3h.jpg" alt="You can do this"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hold on, If you read this…&lt;/p&gt;

&lt;p&gt;Let me know why are you here in the comment box… Just put why you are interested in Linux, why you want to learn Linux? okay, you put… fine!!! Perfect! Thank you! Let’s move on…&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GV5rpnAD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/anet7zqjgr4u4gh4nodk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GV5rpnAD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/anet7zqjgr4u4gh4nodk.png" alt="Why are you here"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Okay, First of all, you need to install Linux OS on your machine…&lt;br&gt;
If you have several devices, you can install Linux for one of them.&lt;/p&gt;

&lt;p&gt;Otherwise, I recommended using a Virtual Machine. Oracle Virtual Box is pretty much cooler and easy to use. But It’s all your choice.&lt;/p&gt;

&lt;p&gt;What you want to do is, Install and run Kali/ubuntu/Parrot or any Linux distro on your virtual machine or your alternative device!!!&lt;br&gt;
I do not give tutorials on how to install a Linux Distro. You can search it on youtube and, install it simply.&lt;br&gt;
So if you install a Linux Distro Successfully, You can see a desktop-like this,&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PmqCf83o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k9x8f9dy7iemrutxxuz8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PmqCf83o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k9x8f9dy7iemrutxxuz8.png" alt="Kali Desktop"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So this is Linux. I put the screenshot of a Kali Linux Distro. This is specifically optimized for Cyber Security &amp;amp; Hacking.&lt;/p&gt;

&lt;p&gt;Kali Linux OS, OS stands for Operating System like other OSs. Mac OS, iOS, Windows, Android…&lt;br&gt;
So Linux is just another OS. A Software that interacts with us to make our computer do things.&lt;/p&gt;

&lt;p&gt;So someone was to ask you hey what operating system are you running right now! It would be Kali Linux, Kali Linux using Linux Kernal. Actually, I want to point it out! The Kernal !!!!&lt;/p&gt;

&lt;p&gt;Linux is technically not an Operating System(OS).&lt;br&gt;
I know you are right now like “What the hell man, what are you talking about!?”&lt;br&gt;
No, it’s actually not an OS.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Linux is a KERNAL !!!!&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hK2_H5Hc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ivnuyrilioprj06as1ny.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hK2_H5Hc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ivnuyrilioprj06as1ny.png" alt="Linux is a Kernal"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So, we build Operating Systems on top of it!!!&lt;br&gt;
Then you can say Kali Linux is an OS!!!&lt;br&gt;
And also Kali is not the only flavor or distribution of Linux.&lt;/p&gt;

&lt;p&gt;There are many like&lt;br&gt;
Parrot OS,&lt;br&gt;
Ubuntu,&lt;br&gt;
CentOS,&lt;br&gt;
Debian…etc.&lt;/p&gt;

&lt;p&gt;They all use a version of the Linux Kernel which is actually part of the OS but It’s not the OS.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aBR2zKCh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hs0tntru2rkyya08uxmk.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aBR2zKCh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hs0tntru2rkyya08uxmk.jpg" alt="OS and Kernal"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, what does the Linux Kernal do??????????????&lt;br&gt;
It has a very important job,&lt;br&gt;
It interfaces with our hardware CPU, RAM, Hard Drive…etc.&lt;br&gt;
When we as the hacker, want to run our favorite hacking tool.&lt;/p&gt;

&lt;p&gt;So Kernal is a kind of a Middle Man between the Application and the OS and the Hardware. But to simplify things, We just call it Linux.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ALT1j6ao--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f8qyq3b42zhwsg5d771p.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ALT1j6ao--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f8qyq3b42zhwsg5d771p.jpg" alt="Kernal"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And we say what flavor of Linux and we say, well! Kali Linux!!!&lt;/p&gt;

&lt;p&gt;Now the bigger question might be WHY LINUX???&lt;br&gt;
I mean we got Windows! we got Mac OS! What’s wrong with those guys!!! huh?!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rjHGYD3T--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n8g0xot06rdgtwleo6zc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rjHGYD3T--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n8g0xot06rdgtwleo6zc.png" alt="Windows &amp;amp; Mac"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Well, Nothing and Everything! &lt;br&gt;
You can see what’s great about Linux, I’ll explain! what’s great about Linux is that it’s open-source which means a lot. &lt;/p&gt;

&lt;p&gt;But it basically means that it’s open and free to use and redistribute!&lt;br&gt;
So people can make awesome distributions like Kali Linux, Parrot OS, Ubuntu, etc.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pztpheQW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l5fjhvyxw78y410pnje0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pztpheQW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l5fjhvyxw78y410pnje0.png" alt="It's Open Source"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The other benefit of Linux is that it’s traditionally FASTER &amp;amp; MORE SECURE.&lt;br&gt;
This is why most websites and servers in the world use Linux as their operating system.&lt;br&gt;
It’s also why Hackers use Linux, most of the hacking tools out there Linux-based. So that’s what Linux is and this is why we use it.&lt;/p&gt;

&lt;p&gt;But now, How do we use Linux???&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xDv3nO5j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2ieplqqdwe15c6h96ylu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xDv3nO5j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2ieplqqdwe15c6h96ylu.png" alt="Can I use with GUI"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That’s a more interesting question because you might be looking at this Linux Desktop screen here. That’s your Linux computer desktop, and maybe thinking,&lt;/p&gt;

&lt;p&gt;“Wow! I didn’t know Linux had a pretty GUI(Graphical User Interface) like this. There are Icons, docs, and menus, and stuff! That’s cool!” and you can use Linux like this !!!???&lt;/p&gt;

&lt;p&gt;But it wasn’t meant to be used like this!!!&lt;/p&gt;

&lt;p&gt;So, Do you want to know how to use Linux then?&lt;/p&gt;

&lt;p&gt;I will explain it with the next episode of this Linux Article Series!!! So, follow me and put your comments on the article, was this helpful?! And see you in the next episode!&lt;/p&gt;

&lt;h2&gt;Summary&lt;/h2&gt;



&lt;ul&gt;

&lt;li&gt;Linux is Kernal, not an OS(Operating System)&lt;/li&gt;

&lt;li&gt;Kali Linux, Parrot OS, Ubuntu, etc are OS or Linux flavors or Distros(Distributions).&lt;/li&gt;

&lt;li&gt;Kernal is a kind of a Middle Man between the Application and the OS and the Hardware.&lt;/li&gt;

&lt;li&gt;Linux is open-source, faster, and more secure.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>linux</category>
      <category>cybersecurity</category>
      <category>opensource</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
