<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:og="http://ogp.me/ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:schema="http://schema.org/" xmlns:sioc="http://rdfs.org/sioc/ns#" xmlns:sioct="http://rdfs.org/sioc/types#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" version="2.0" xml:base="https://www.linuxjournal.com/">
  <channel>
    <title>HOW-To</title>
    <link>https://www.linuxjournal.com/</link>
    <description/>
    <language>en</language>
    
    <item>
  <title>Linux Command Line Interface Introduction: A Guide to the Linux CLI</title>
  <link>https://www.linuxjournal.com/content/linux-command-line-interface-introduction-guide</link>
  <description>  &lt;div data-history-node-id="1340799" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/antonio-riso" lang="" about="https://www.linuxjournal.com/users/antonio-riso" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Antonio Riso&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;h2&gt;Let’s get to know the Linux Command Line Interface (CLI).&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="#introduction"&gt;Introduction&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#history"&gt;A bit of history&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#firstlook"&gt;First look at the command line&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#syntax"&gt;Command syntax&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#introduction"&gt;Notes &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="basiccommands"&gt;Basic commands&lt;/a&gt;
&lt;ul&gt;&lt;li&gt;pwd&lt;/li&gt;
&lt;li&gt;ls&lt;/li&gt;
&lt;li&gt;file&lt;/li&gt;
&lt;li&gt;cat&lt;/li&gt;
&lt;li&gt;cd&lt;/li&gt;
&lt;li&gt;clear&lt;/li&gt;
&lt;li&gt;history&lt;/li&gt;
&lt;li&gt;cp&lt;/li&gt;
&lt;li&gt;mv&lt;/li&gt;
&lt;li&gt;rm&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;a name="introduction" id="introduction"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="h3-replacement"&gt;Introduction&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The Linux command line is a text interface to your computer.&lt;/p&gt;
&lt;p&gt;Also known as shell, terminal, console, command prompts and many others, is a computer program intended to interpret commands.&lt;/p&gt;
&lt;p&gt;Allows users to execute commands by manually typing at the terminal, or has the ability to automatically execute commands which were programmed in “Shell Scripts”.&lt;/p&gt;
&lt;p&gt;&lt;a name="history" id="history"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="h3-replacement"&gt;A bit of history&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The Bourne &lt;strong&gt;Sh&lt;/strong&gt;ell (sh) was originally developed by Stephen Bourne while working at Bell Labs.&lt;/p&gt;
&lt;p&gt;Released in 1979 in the Version 7 Unix release distributed to colleges and universities.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;B&lt;/strong&gt;ourne &lt;strong&gt;A&lt;/strong&gt;gain &lt;strong&gt;Sh&lt;/strong&gt;ell (bash) was written as a free and open source replacement for the Bourne Shell.&lt;/p&gt;
&lt;p&gt;Given the open nature of Bash, over time it has been adopted as the default shell on most Linux systems.&lt;/p&gt;
&lt;p&gt;&lt;a name="firstlook" id="firstlook"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="h3-replacement"&gt;First look at the command line&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Now that we have covered some basics, let’s open a terminal window and see how it looks!&lt;/p&gt;
&lt;p&gt;&lt;img alt="First look at the command line" class="image-max_1300x1300" data-entity-type="file" data-entity-uuid="insert-max_1300x1300-0a9952cf-ab5d-46f6-9c34-207d3797d47e" data-insert-class="image-max_1300x1300" data-insert-type="image" height="168" src="https://www.linuxjournal.com/sites/default/files/styles/max_1300x1300/public/u%5Buid%5D/linux-command-line-first-look.png" width="732" /&gt;&lt;/p&gt;
&lt;p&gt;When a terminal is open, it presents you with a prompt.&lt;/p&gt;
&lt;p&gt;Let's analyze the screenshot above:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Line 1: &lt;/strong&gt;The shell prompt, it is composed by &lt;code&gt;username@hostname:location$&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Username:&lt;/strong&gt; our username is called “john”&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hostname:&lt;/strong&gt; The name of the system we are logged on&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Location:&lt;/strong&gt; the working directory we are in&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;$:&lt;/strong&gt; Delimits the end of prompt&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;After the &lt;code&gt;$&lt;/code&gt; sign, we can type a command and press Enter for this command to be executed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Line 2:&lt;/strong&gt; After the prompt, we have typed the command &lt;code&gt;whoami&lt;/code&gt; which stands for “who am i“ and pressed [Enter] on the keyboard.&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/linux-command-line-interface-introduction-guide" hreflang="en"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Tue, 06 Oct 2020 21:07:28 +0000</pubDate>
    <dc:creator>Antonio Riso</dc:creator>
    <guid isPermaLink="false">1340799 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>How To Upgrade From Fedora 32 To Fedora 33 [CLI &amp; Graphical Methods]</title>
  <link>https://www.linuxjournal.com/content/how-upgrade-fedora-32-fedora-33-cli-graphical-methods</link>
  <description>  &lt;div data-history-node-id="1340798" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/sarvottam-kumar" lang="" about="https://www.linuxjournal.com/users/sarvottam-kumar" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Sarvottam Kumar&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;Last week, a Red Hat-sponsored community project, Fedora, announced the availability of Fedora 33 Beta. It is a prerelease version of the upcoming Fedora 33 Linux distribution, whose final stable version will arrive in the last week of October.&lt;/p&gt;

&lt;p&gt;Fedora 33 is one of the exciting releases as it contains the fundamental shift of the default filesystem from ext4 to btrfs for all Fedora desktop editions and spins, along with other new features and visual changes.&lt;/p&gt;

&lt;p&gt;Here are some of the key updates that Fedora 33 Beta includes:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;GNOME 3.38 desktop environment&lt;/li&gt;
	&lt;li&gt;Linux Kernel 5.8&lt;/li&gt;
	&lt;li&gt;GNU Nano as default terminal text editor&lt;/li&gt;
	&lt;li&gt;earlyOOM enabled by default in Fedora 33 KDE&lt;/li&gt;
	&lt;li&gt;Fedora IoT as an official edition&lt;/li&gt;
	&lt;li&gt;Package update like Ruby, Python, and Perl&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;For complete details of all features, you can check out the Fedora 33 &lt;a href="https://fedoraproject.org/wiki/Releases/33/ChangeSet"&gt;change set&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Coming to the main topic, you can also upgrade your current Fedora system to the beta version of Fedora 33, which you’ll also be able to upgrade further to the final stable release by simply updating your system once it arrives at the end of October.&lt;/p&gt;

&lt;p&gt;So, if you’re the one who wants to test all new features of the upcoming Fedora 33, come along with me and upgrade your Fedora 32 Workstation to the Fedora 33 Beta Workstation using either of two methods.&lt;/p&gt;

&lt;p&gt;If you’re comfortable playing with the terminal, you can upgrade Fedora 32 to 33 using the command line method or else follow the upgrade process using the graphical Software Center app.&lt;/p&gt;

&lt;h2&gt;What You Need To Do Before Upgrading Fedora Linux&lt;/h2&gt;

&lt;p&gt;Before you follow the steps to upgrade your Fedora Workstation, I would highly recommend backing up your data. Well, I didn’t encounter any problems while upgrading but if your data is very important, then I would say prevention is better than a cure.&lt;/p&gt;

&lt;p&gt;After data backup, you should also keep it in mind that upgrading the system takes time. So, before you start this operation, buy enough time to finish the upgrade process properly. Needless to say, you should also have a stable internet connection to download all the update data.&lt;/p&gt;

&lt;p&gt;Lastly, I also want to mention that the new release may halt some of the functions that worked perfectly in your previous version. For example, I was using &lt;a href="https://extensions.gnome.org/extension/307/dash-to-dock/"&gt;Dash to Dock&lt;/a&gt; GNOME extension, which was broken in GNOME 3.38. So, I needed to re-install it manually.&lt;/p&gt;

&lt;p&gt;Now, let’s begin the migration to Fedora 33.&lt;/p&gt;

&lt;h2&gt;Upgrade Fedora Linux To New Release Using Terminal&lt;/h2&gt;

&lt;p&gt;First, open the terminal and run the following command to update your system by getting the latest software packages for Fedora 32.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;$ sudo dnf upgrade --refresh&lt;/code&gt;&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/how-upgrade-fedora-32-fedora-33-cli-graphical-methods" hreflang="en"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Mon, 05 Oct 2020 19:16:39 +0000</pubDate>
    <dc:creator>Sarvottam Kumar</dc:creator>
    <guid isPermaLink="false">1340798 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>Ansible, Part III: Playbooks</title>
  <link>https://www.linuxjournal.com/content/ansible-part-iii-playbooks</link>
  <description>  &lt;div data-history-node-id="1339671" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/shawn-powers" lang="" about="https://www.linuxjournal.com/users/shawn-powers" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Shawn Powers&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;&lt;em&gt;Playbooks make Ansible even more powerful than before.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;
To be quite honest, if Ansible had nothing but its ad-hoc mode, it
still would be a powerful and useful tool for automating large numbers of
computers. In fact, if it weren't for a few features, I might consider
sticking with ad-hoc mode and adding a bunch of those ad-hoc commands to
a Bash script and be done with learning. Those few additional features,
however, make the continued effort well worth it.
&lt;/p&gt;

&lt;span class="h3-replacement"&gt;
Tame the Beast with YAML&lt;/span&gt;

&lt;p&gt;
Ansible goes out of its way to use an easy-to-read configuration file for
making "playbooks", which are files full of separate Ansible
"tasks". A
task is basically an ad-hoc command written out in a configuration file
that makes it more organized and easy to expand. The configuration
files use YAML, which stands for "Yet Another Markup Language".
It's an easy-to-read markup language, but it does rely on whitespace,
which isn't terribly common with most config files. A simple playbook
looks something like this:

&lt;/p&gt;&lt;pre&gt;
&lt;code&gt;
---

- hosts: webservers
  become: yes
  tasks:
    - name: this installs a package
      apt: name=apache2 update_cache=yes state=latest

    - name: this restarts the apache service
      service: name=apache2 enabled=yes state=restarted
&lt;/code&gt;
&lt;/pre&gt;


&lt;p&gt;
The contents should be fairly easy to identify. It's basically two
ad-hoc commands broken up into a YAML configuration file. There are a
few important things to notice. First, every filename ends with .yaml,
and every YAML file must begin with three hyphen characters. Also, as
mentioned above, whitespace matters. Finally, when a hyphen should
precede a section and when it should just be spaced appropriately often
is confusing. Basically every new section needs to start with a - symbol,
but it's often hard to tell what should be its own section. Nevertheless,
it starts to feel natural as you create more and more playbooks.
&lt;/p&gt;

&lt;p&gt;
The above playbook would be executed by typing:

&lt;/p&gt;&lt;pre&gt;
&lt;code&gt;
ansible-playbook filename.yaml
&lt;/code&gt;
&lt;/pre&gt;


&lt;p&gt;
And that is the equivalent of these two commands:

&lt;/p&gt;&lt;pre&gt;
&lt;code&gt;
ansible webservers -b -m apt -a "name=apache2
 ↪update_cache=yes state=latest"
ansible webservers -b -m service -a "name=apache2
 ↪enabled=yes state=restarted"
&lt;/code&gt;
&lt;/pre&gt;


&lt;span class="h3-replacement"&gt;
Handling Your Handlers&lt;/span&gt;

&lt;p&gt;
But a bit of organization is really only the beginning of why playbooks
are so powerful. First off, there's the idea of "Handlers", which are
tasks that are executed only when "notified" that a task has made a
change. How does that work exactly? Let's rewrite the above YAML file
to make the second task a handler:

&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/ansible-part-iii-playbooks" hreflang="und"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Mon, 19 Feb 2018 16:50:14 +0000</pubDate>
    <dc:creator>Shawn Powers</dc:creator>
    <guid isPermaLink="false">1339671 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>Getting Help From Linux - Part 2 Info</title>
  <link>https://www.linuxjournal.com/content/getting-help-linux-part-2-info</link>
  <description>  &lt;div data-history-node-id="1025338" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/jayson-broughton" lang="" about="https://www.linuxjournal.com/users/jayson-broughton" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Jayson Broughton&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;Well here we are again, at part two of the 'Getting Help from Linux' series.  In this blog post I'll be talking about using Info to get help from Linux.  In &lt;a href="http://www.linuxjournal.com/content/getting-help-linux-part-1-man-pages"&gt;my previous post&lt;/a&gt; I spoke about how Info came about, but just in case you missed it I'll give you another quick lesson.  Gnu Info was created by the Free Software Foundation and in my experience is used by all of Gnu's software for their version of 'man' pages.  Info may contain much more information than what you can find in Man pages, and sometimes contains much more than you ever really need.  The good thing about Info is that it is a hypertext markup utility.  This makes it much easier to navigate through via hyperlinks embedded in emacs, than simply using arrow keys to navigate through information.  While Man uses the Less utility to control the display, the info utility itself is designed to display Info pages.  For those of you familiar with emacs, it appears the layout may be the same, along with some of the basic navigation. But that's where the two applications can differ.  If you're using the Info application then your commands will be different than if you're viewing info files in Emacs.  This article is about reading Info pages inside of info.&lt;/p&gt;
&lt;p&gt;Layout and Navigation
&lt;/p&gt;&lt;p&gt;Okay, I won't lie, navigation in emacs makes my head spin.  For some people this may come naturally, for those of us that have lived on vi all their lives the old adage 'you can't teach an old dog new tricks' really hits home when it comes to figuring out all of the emacs tips and tricks.  If anyone has actually gone through gnu.org's website on the Texinfo manual you know what I'm talking about.  The document on how to use Texinfo is 36 pages long, quite a bit longer than navigating Man pages in Less.   As far as layout goes, sections are broken down into what Info considers 'nodes', so if you see the reference to nodes in here then that's what I'm talking about.  As stated earlier, the info documents are written in hypertext, which makes it easier to navigate through than Man pages.  When you first execute 'info &lt;name&gt;' you are presented with the index for the subject that you are looking for.  Now before you start hyperventilating, think of the Info layout as a Tree (Top Node) with various branches spanning from the tree (Individual Nodes). The Branches just point back to the main 'branch'.&lt;/p&gt;
&lt;p&gt;Before I get ahead of myself, let me first explain the main window.&lt;/p&gt;
&lt;p&gt;At the bottom of your window is what is called the Mode Line.  The mode line just describes what you are viewing above, including information about the file, the node, number of lines, compression information, etc.  Here are some examples and explanations of Mode Lines:&lt;/p&gt;
&lt;p&gt;&lt;em&gt; zz-Info: (festival.info.gz)Top, 58 lines --Top-- Subfile:&lt;br /&gt;festival.info-1.gz-&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/getting-help-linux-part-2-info" hreflang="und"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Tue, 11 Oct 2011 14:45:23 +0000</pubDate>
    <dc:creator>Jayson Broughton</dc:creator>
    <guid isPermaLink="false">1025338 at https://www.linuxjournal.com</guid>
    </item>

  </channel>
</rss>
