<?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: Sathish Kumar</title>
    <description>The latest articles on DEV Community by Sathish Kumar (@satizzzzz).</description>
    <link>https://dev.to/satizzzzz</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%2F536917%2F865e4ba4-fed9-4b0e-87e7-fe676bf98314.jpg</url>
      <title>DEV Community: Sathish Kumar</title>
      <link>https://dev.to/satizzzzz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/satizzzzz"/>
    <language>en</language>
    <item>
      <title>What is IDP and why we need it?</title>
      <dc:creator>Sathish Kumar</dc:creator>
      <pubDate>Wed, 26 Nov 2025 12:42:57 +0000</pubDate>
      <link>https://dev.to/satizzzzz/what-is-idp-and-why-we-need-it-3eba</link>
      <guid>https://dev.to/satizzzzz/what-is-idp-and-why-we-need-it-3eba</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is Internal Developer Platform(IDP)?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;In simple words, it abstracts away the complexity of underlying infrastructure for the developers using self-service tools and technologies&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Helps developers to focus on building the application by providing &lt;strong&gt;"Golden paths"&lt;/strong&gt; to handle deployments/infrastructure provision or management through a portal&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Why we need it or what it does?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Reduces the cognitive load:&lt;/strong&gt; Abstracting away the underlying complexity like provisioning cloud resources, environments &amp;amp; CI/CD setup&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Increases productivity:&lt;/strong&gt; By leveraging IDP, developers can focus on building the application instead doing the operational tasks&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Unified Experience:&lt;/strong&gt; Central portal for software catalogs, documentation and accessing tools&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How it is related to Platform Engineering&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Core output of Platform Engineering, created to serve developers as  customers of the IDP platform&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Platform Engineering team responsible for designing &amp;amp; maintaining the IDP&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Platform team continuously improve the IDP, based on the developer feedback&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Summary:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Internal – IDPs are meant for internal use only.&lt;br&gt;
Developer – Indicates the internal customer and the primary user, the application developer.&lt;br&gt;
Platform – Characterizes the product type.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>devsecops</category>
      <category>platformengineering</category>
      <category>internaldeveloperplatform</category>
    </item>
    <item>
      <title>Special Variables in Shell Scripting</title>
      <dc:creator>Sathish Kumar</dc:creator>
      <pubDate>Fri, 07 May 2021 16:43:49 +0000</pubDate>
      <link>https://dev.to/satizzzzz/special-variables-in-shell-scripting-8c9</link>
      <guid>https://dev.to/satizzzzz/special-variables-in-shell-scripting-8c9</guid>
      <description>&lt;p&gt;In this article, we will be seeing what are the special variables available and its purpose in shell scripting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. $0&lt;/strong&gt; - This variable will be provide the filename of the current script.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. $n&lt;/strong&gt; - These variables correspond to the arguments with which a script was invoked. Here n is a positive decimal number corresponding to the position of an argument (the first argument is $1, the second argument is $2, and so on).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. $?&lt;/strong&gt; - The exit status of the last command executed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. $$&lt;/strong&gt; - The process number of the current shell. For shell scripts, this is the process ID under which they are executing.&lt;/p&gt;

&lt;p&gt;We will see the example scripts.&lt;/p&gt;

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

&lt;p&gt;After running the above script,&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;5. $&lt;/strong&gt;* - All the arguments are double quoted. If a script receives two arguments, $* is equivalent to $1 $2.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. $@&lt;/strong&gt; - All the arguments are individually double quoted. If a script receives two arguments, $@ is equivalent to $1 $2.&lt;/p&gt;

&lt;p&gt;Many will find the above variables will return the same output but there is subtle change. &lt;/p&gt;

&lt;p&gt;Let me show you with the example, this time with rm(remove command) since echo will not show much difference.&lt;/p&gt;

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

&lt;p&gt;Running the above script&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;$@&lt;/strong&gt; and &lt;strong&gt;$&lt;/strong&gt;* returns the same output but &lt;strong&gt;"$@"&lt;/strong&gt; took only double quoted argument as single argument and &lt;strong&gt;"$*"&lt;/strong&gt; took entire arguments as single argument&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. $!&lt;/strong&gt; - The process number of the last background command.&lt;/p&gt;

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

&lt;p&gt;Hope it helps :)&lt;/p&gt;

</description>
      <category>linux</category>
      <category>shell</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Forward Proxy vs Reverse Proxy</title>
      <dc:creator>Sathish Kumar</dc:creator>
      <pubDate>Tue, 13 Apr 2021 15:32:00 +0000</pubDate>
      <link>https://dev.to/satizzzzz/forward-proxy-vs-reverse-proxy-1aco</link>
      <guid>https://dev.to/satizzzzz/forward-proxy-vs-reverse-proxy-1aco</guid>
      <description>&lt;p&gt;Before going to the topic, one should know about the proxy server and its purpose.&lt;/p&gt;

&lt;p&gt;Proxy server provides a gateway between the users and internet. It is referred as "Intermediary Server" because it goes between end-users and the web pages they visit online.&lt;/p&gt;

&lt;p&gt;It prevents the invader attacking the private network and one of the tools used to build a firewall. &lt;/p&gt;

&lt;p&gt;As you all know, the word &lt;strong&gt;proxy&lt;/strong&gt; is to act behalf of another. In computer networking, proxy server to act on behalf of another machine - either client/server.&lt;/p&gt;

&lt;h2&gt;
  
  
  Forward Proxy
&lt;/h2&gt;

&lt;p&gt;Generally, more often than not, a proxy server is referred to forward proxy.&lt;/p&gt;

&lt;p&gt;A forward proxy is an Internet-facing proxy used to retrieve data from a wide range of sources (in most cases anywhere on the Internet).&lt;/p&gt;

&lt;p&gt;Forward proxy provides proxy services to a client or group of clients in a common network. Let me explain with a diagram below&lt;/p&gt;

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

&lt;p&gt;When any one of the clients makes a connection request to FTP server that is available in the internet, its request has to pass through the proxy server first.&lt;/p&gt;

&lt;p&gt;Depending on the forward proxy setting, the connection request can be allowed or denied. If allowed, the request forwarded to the firewall and to the FTP server. From the FTP server point of view, it the proxy server makes the request not the client. So the response will be addressed to the proxy server.&lt;/p&gt;

&lt;p&gt;By then the proxy server receives the response for the request made earlier and the response is forwarded to the client which made the request.&lt;/p&gt;

&lt;p&gt;Proxy servers has the details of requests, responses, their sources and their destinations. Different client can send request to various servers through forward proxy and it will be act as intermediate for all of them. Based on the request it can be allowed or denied.&lt;/p&gt;

&lt;p&gt;As you can see, it provides single point of access and control which enhances the security policies. Therefore at security stand point, it is aimed at enforcing security on client in the internal network.&lt;/p&gt;

&lt;p&gt;But there is not only client systems found in the internal network and might have servers. When client from outside network wants to access the FTP server, a more appropriate solution would be reverse proxy.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reverse Proxy
&lt;/h2&gt;

&lt;p&gt;A reverse proxy is usually an internal-facing proxy used as a front-end to control and protect access to a server on a private network.&lt;/p&gt;

&lt;p&gt;It is just opposite to forward proxy, which proxies on behalf of servers.&lt;/p&gt;

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

&lt;p&gt;For the client above, it is the reverse proxy provides the file transfer services. The client requests the FTP servers and the reverse proxy responds based on the response provided by the servers.&lt;/p&gt;

&lt;p&gt;Yes, Forward proxy hides the identity of clients and Reverse proxy hides the identity of servers.&lt;/p&gt;

&lt;p&gt;An attacker will find it difficult, as one to need to go through the reverse proxy to acquire the data from the server.&lt;/p&gt;

&lt;p&gt;Just like forward proxy servers, reverse proxies also provide a single point of access and control. You typically set it up to work alongside one or two firewalls to control traffic and requests directed to your internal servers.&lt;/p&gt;

&lt;p&gt;In most times, reverse proxies acts as a load balancer to the servers behind it. Load balancers play a crucial role in providing high availability to network services that receive large volumes of requests. When a reverse proxy performs load balancing, it distributes incoming requests to a cluster of servers, all providing the same kind of service. &lt;/p&gt;

&lt;p&gt;Both types of proxy servers relay requests and responses between source and destination machines. But in the case of reverse proxy servers, client requests that go through them normally originate from the Internet, while, in the case of forward proxies, client requests normally come from the internal network behind them.&lt;/p&gt;

&lt;p&gt;Thanks for reading :)&lt;/p&gt;

&lt;p&gt;P.S: I know it is more of theory, but it could be useful during its configuration with server/firewall.&lt;/p&gt;

</description>
      <category>server</category>
      <category>linux</category>
      <category>distributedsystems</category>
    </item>
    <item>
      <title>Linux Commands with "ls"</title>
      <dc:creator>Sathish Kumar</dc:creator>
      <pubDate>Sat, 10 Apr 2021 13:04:46 +0000</pubDate>
      <link>https://dev.to/satizzzzz/linux-commands-with-ls-okm</link>
      <guid>https://dev.to/satizzzzz/linux-commands-with-ls-okm</guid>
      <description>&lt;p&gt;Welcome back..&lt;/p&gt;

&lt;p&gt;In previous article, I have posted about Linux File hierarchy structure &lt;a href="https://dev.to/satizzzzz/all-you-need-to-know-about-linux-file-hierarchy-structure-5807"&gt;Link&lt;/a&gt; , please check if you haven't visited.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ls&lt;/strong&gt; is one of basic commands which lists files/directories that one should know when working with Linux. It is used on daily basis even though we may not aware and never use of all the ls options that are available.&lt;/p&gt;

&lt;p&gt;In this article, we will be seeing purpose and different ways of using &lt;strong&gt;ls&lt;/strong&gt; commands with options in Linux.&lt;/p&gt;

&lt;h4&gt;
  
  
  1.List files using ls with no option
&lt;/h4&gt;

&lt;p&gt;ls with no options lists all the files and directories in a bare format with no other details like file size, owner, permissions, date and time.&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%2Fi64pukeee2g5qphrkjzg.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%2Fi64pukeee2g5qphrkjzg.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  2.List files using ls with option -l
&lt;/h4&gt;

&lt;p&gt;ls -l will lists the available files and directories with details like file/directory name size, owner, permissions, date and time.&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%2F40y1n45sver46v0r87jj.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%2F40y1n45sver46v0r87jj.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  3.View hidden files
&lt;/h4&gt;

&lt;p&gt;ls -a will lists hidden files available&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%2Fac8n2lep37uzpb38nhs3.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%2Fac8n2lep37uzpb38nhs3.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  4.List Files in Human Readable Format with option -lh
&lt;/h4&gt;

&lt;p&gt;You know ls -l will list files/directories along with size and other details. By adding h(Human Readable Format) to it, ls -lh will lists files/directory size in human readable format like bytes, Kb, Gb&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%2F4wakloytwqgb7mh6gkfk.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%2F4wakloytwqgb7mh6gkfk.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  5.List Directories adding / at the end with option -F
&lt;/h4&gt;

&lt;p&gt;ls -F will list files and add "/" at the end of directories&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%2Fj2iqsppel8f3a3146htp.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%2Fj2iqsppel8f3a3146htp.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  6.List Files/Directories in reverse order
&lt;/h4&gt;

&lt;p&gt;ls -r will list files/directories in reverse order&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%2Fji27efcptyc7y7h9of8c.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%2Fji27efcptyc7y7h9of8c.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  7.Recursively lists Sub-directories
&lt;/h4&gt;

&lt;p&gt;ls -R list all files that are available inside the sub-directories&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%2Flv0q9oqq4v4rryznmk26.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%2Flv0q9oqq4v4rryznmk26.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  8.Listing latest updated files/directories
&lt;/h4&gt;

&lt;p&gt;ls -ltr will lists files and directories in reverse order with latest modification as last&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%2F8nq8h60kzpgf68dch44e.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%2F8nq8h60kzpgf68dch44e.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  9.Sorting files by file size
&lt;/h4&gt;

&lt;p&gt;ls -lS will lists the file size in order, by displaying big size first&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%2Fg6m2q1lfq6iej8fjlj93.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%2Fg6m2q1lfq6iej8fjlj93.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  10.Display Inode number of File or Directory
&lt;/h4&gt;

&lt;p&gt;Inode number is unique identification number that are assigned when new file/directory is created.&lt;/p&gt;

&lt;p&gt;ls -i will display the inode number of a file/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%2Ffsol5oidrv41n5gbo9hd.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%2Ffsol5oidrv41n5gbo9hd.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  11.ls version
&lt;/h4&gt;

&lt;p&gt;ls --version will return the version of ls&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%2Fwznvcm42ap5p3vcu02dz.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%2Fwznvcm42ap5p3vcu02dz.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  12.Show help page
&lt;/h4&gt;

&lt;p&gt;ls --help will display the help page&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%2Fxd8r86p4ba0fzls33ymx.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%2Fxd8r86p4ba0fzls33ymx.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  13.List directory information
&lt;/h4&gt;

&lt;p&gt;ls -l /Dir_name will lists all the files/directories inside the defined 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%2Fkt9d71dh4ml3csr7kfqr.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%2Fkt9d71dh4ml3csr7kfqr.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  14.Display UID and GID of Files
&lt;/h4&gt;

&lt;p&gt;ls -n will display the UserID and GroupID of files/directories&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%2Ffhejnfksrdcj0kl14kqy.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%2Ffhejnfksrdcj0kl14kqy.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hope the above information is useful. :)&lt;/p&gt;

</description>
      <category>linux</category>
      <category>beginners</category>
      <category>discuss</category>
      <category>devops</category>
    </item>
    <item>
      <title>All you need to know about Linux File Hierarchy Structure</title>
      <dc:creator>Sathish Kumar</dc:creator>
      <pubDate>Fri, 09 Apr 2021 08:00:41 +0000</pubDate>
      <link>https://dev.to/satizzzzz/all-you-need-to-know-about-linux-file-hierarchy-structure-5807</link>
      <guid>https://dev.to/satizzzzz/all-you-need-to-know-about-linux-file-hierarchy-structure-5807</guid>
      <description>&lt;p&gt;For anyone, who is a beginner on working with Linux OS, might feel difficulty in understanding the file hierarchy structure and the purpose each directory serves.&lt;/p&gt;

&lt;p&gt;So, I'm writing this because I felt the same. &lt;/p&gt;

&lt;p&gt;This article will provide information of Linux file hierarchy structure, locations and its usability.&lt;/p&gt;

&lt;h2&gt;
  
  
  Linux Directory Structure Diagram
&lt;/h2&gt;

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

&lt;p&gt;Each of the above directories contains important information. We will see this hierarchically.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. /(Root)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Primary root hierarchy and root directory of entire file system hierarchy&lt;/li&gt;
&lt;li&gt;/root is root user's home directory should not be confused with "/"&lt;/li&gt;
&lt;li&gt;Each directory and file starts from root directory&lt;/li&gt;
&lt;li&gt;Only root user has right to write under this directory&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Contains executable binary files&lt;/li&gt;
&lt;li&gt;Files requires to run as single-user mode&lt;/li&gt;
&lt;li&gt;Other essential commands like cat, ls, wc, tar, df, ping etc are located here&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Contains boot loader files required during boot up process&lt;/li&gt;
&lt;li&gt;Eg: Kernels, grub files&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Contains device files that requires for hardware devices on the machine&lt;/li&gt;
&lt;li&gt;Eg: cpu, cdrom&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5. /etc
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Host specific system-wide configuration files are available here&lt;/li&gt;
&lt;li&gt;Contains configuration files for individual programs&lt;/li&gt;
&lt;li&gt;Contains startup and shutdown script required to start/stop the individual programs&lt;/li&gt;
&lt;li&gt;Eg: /etc/resolv.conf&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Home directory of users&lt;/li&gt;
&lt;li&gt;Every time when user is created, a directory in the name of user is created under this directory&lt;/li&gt;
&lt;li&gt;User can store their personal files&lt;/li&gt;
&lt;li&gt;Eg: /home/sathish&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Contains library files that required for /bin/ and /sbin/&lt;/li&gt;
&lt;li&gt;In simple words, these files are used by a program or command or process for proper execution &lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Mount points for removable devices such CD-ROM, USB etc.&lt;/li&gt;
&lt;li&gt;Temporary mount directory for removable devices&lt;/li&gt;
&lt;li&gt;/media/cdrom for CD-ROM; /media/floppy for floppy drives; /media/cdrecorder for CD writer&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Temporarily mounted file systems&lt;/li&gt;
&lt;li&gt;Where sysadmins can mount file systems&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Optional software application software packages&lt;/li&gt;
&lt;li&gt;Contains 3rd party application software&lt;/li&gt;
&lt;li&gt;Eg: /opt/java&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Contains essential system binaries&lt;/li&gt;
&lt;li&gt;Contains linux commands that are used by sysadmins&lt;/li&gt;
&lt;li&gt;Eg: iptables, reboot, fdisk, ifconfig, swapon&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;srv stands for service&lt;/li&gt;
&lt;li&gt;Contains server specific and service related files&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;System's temporary directory&lt;/li&gt;
&lt;li&gt;Accessed by all users and root&lt;/li&gt;
&lt;li&gt;Store temporary file for users and system, available till next boot&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Secondary hierarchy for read-only user data &lt;/li&gt;
&lt;li&gt;Contains majority of multi-user utilities and application&lt;/li&gt;
&lt;li&gt;Contains binaries, libraries, documentation and source-code for second level programs&lt;/li&gt;
&lt;li&gt;User binaries that are unavailable in /bin, can be found under /usr/bin/ which contains user binaries&lt;/li&gt;
&lt;li&gt;System binaries that are unavailable in /sbin, can be found under /usr/sbin/ which contains system binaries&lt;/li&gt;
&lt;li&gt;/usr/lib contains binaries for /usr/bin and /usr/sbin files&lt;/li&gt;
&lt;li&gt;/usr/local contains user programs that installed from source&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Virtual and pseudo file system which contains all the running process with processid aka pid&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Stands for variable&lt;/li&gt;
&lt;li&gt;This directory is expected to grow&lt;/li&gt;
&lt;li&gt;Contains logs, lock, spool and temp files&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hope the above information helps.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;P.S. This is my first blog written. So, please be kind enough and feel free to point out the mistakes.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>linux</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
