 
    
<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>linux Archives - Complete, Concrete, Concise</title>
	<atom:link href="https://complete-concrete-concise.com/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>https://complete-concrete-concise.com/tag/linux/</link>
	<description>Practical Information Without The Bloat</description>
	<lastBuildDate>Mon, 22 Jan 2018 11:59:27 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
	<item>
		<title>How to Exit Vim</title>
		<link>https://complete-concrete-concise.com/vim/how-to-exit-vim/</link>
		
		<dc:creator><![CDATA[richardsplanet]]></dc:creator>
		<pubDate>Mon, 22 Jan 2018 11:59:27 +0000</pubDate>
				<category><![CDATA[Vim]]></category>
		<category><![CDATA[exit]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[quit]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[understanding]]></category>
		<category><![CDATA[vim]]></category>
		<guid isPermaLink="false">http://www.complete-concrete-concise.com/?p=3362</guid>

					<description><![CDATA[<p>Simple help on exiting Vim.</p>
<p>The post <a href="https://complete-concrete-concise.com/vim/how-to-exit-vim/">How to Exit Vim</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="preamble">
<p>While Vim has a steep learning curve, you can <a href="//complete-concrete-concise.com/writing/5-minute-vim-tutorial">learn enough Vim in 5 minutes</a> to not be completely lost when you use it.</p>
</div>
<p>To exit Vim you need to be in <span class="mark">Normal Mode</span>.</p>
<p>To get to <span class="mark">Normal Mode</span> press the <span class="kbd">Escape</span> key twice. Your computer may beep at you, but that is OK.</p>
<p>Type <span class="kbd">:q!</span> followed by the <span class="kbd">Enter</span> key to <strong>quit without saving</strong>.</p>
<p>Type <span class="kbd">:x!</span> followed by the <span class="kbd">Enter</span> key to <strong>save changes and exit</strong>.</p>
<div class="hint">
<p>If you see <strong>recording</strong> in the lower left corner of the screen, press <span class="kbd">q</span> to exit recording mode, then proceed as described above.</p>
<pre class="vim"><code>
  &lt;body&gt;
    &lt;!-- page content goes here --&gt;
    &lt;p&gt;This is some dummy content.&lt;/p&gt;
  &lt;/body&gt;
&lt;/html&gt;
~
~
~
recording @q                            1,1           All</code></pre>
<p>&nbsp;
</p></div>
<p>The post <a href="https://complete-concrete-concise.com/vim/how-to-exit-vim/">How to Exit Vim</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>5 Minute Vim Tutorial</title>
		<link>https://complete-concrete-concise.com/blog/5-minute-vim-tutorial/</link>
		
		<dc:creator><![CDATA[richardsplanet]]></dc:creator>
		<pubDate>Wed, 26 Oct 2016 18:11:54 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Vim]]></category>
		<category><![CDATA[Web Tools]]></category>
		<category><![CDATA[Writing]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[understanding]]></category>
		<category><![CDATA[vim]]></category>
		<guid isPermaLink="false">http://www.complete-concrete-concise.com/?p=3186</guid>

					<description><![CDATA[<p>This tutorial won't turn you into a Vim wizard, but at least you will be able to open, navigate, edit, and save files using Vim.</p>
<p>The post <a href="https://complete-concrete-concise.com/blog/5-minute-vim-tutorial/">5 Minute Vim Tutorial</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="preamble">
Vim works differently from other editors you are used to, but it only takes about 5 minutes to learn the basics you need to edit with Vim. You won’t be a Vim wizard, but you will be able to:</p>
<ul>
<li>Open a file</li>
<li>Move around in a file</li>
<li>Edit text in a file</li>
<li>Save a File</li>
</ul>
<p>The slightly longer <a href="#Extended">Extended 5 Minute Tutorial</a> you will show you how to <strong>search</strong> in a file, get <strong>help</strong>, and <strong>access</strong> Vim’s own built-in tutorial.
</div>
<h2 id="contents">Contents</h2>
<ol type="1">
<li><a href="#Vim-in-5">Vim in 5 Minutes (or less)</a></li>
<li><a href="#Extended">The Extended 5+ Minute Tutorial</a>
<ol type="1">
<li><a href="#Normal">Normal Mode</a></li>
<li><a href="#Opening">Opening a File</a></li>
<li><a href="#Saving">Saving a File</a></li>
<li><a href="#Exiting">Exiting Vim</a></li>
<li><a href="#Navigating">Navigating a File</a></li>
<li><a href="#Inserting">Inserting and Deleting Text</a></li>
<li><a href="#Searching">Searching</a></li>
<li><a href="#Help">Getting Help</a></li>
</ol>
</li>
<li><a href="#Final">Final Words</a></li>
</ol>
<h2 id="Vim-in-5">Vim in 5 Minutes (or less)</h2>
<ul>
<li>Vim operates in <span class="mark">Modes</span>. Vim always starts in <span class="mark">Normal Mode</span>.</li>
<li><span class="mark">Normal Mode</span> is your base mode and you should always return to it.</li>
<li>All command / control keys are <strong>case sensitive</strong>.</li>
<li>If you are not in <span class="mark">Normal Mode</span>, you (usually) get back to <span class="mark">Normal Mode</span> by pressing the <span class="kbd">Escape</span> key twice.</li>
<li>If you see <span class="mark">recording</span> in the lower left corner of the screen, press the <span class="kbd">q</span> key to return to <span class="mark">Normal Mode</span>.</li>
<li>If you’ve messed stuff up, return to <span class="mark">Normal Mode</span> and type <span class="kbd">:q!</span> followed by the <span class="kbd">Enter</span> key to exit Vim <strong>without</strong> saving the file.</li>
<li>In <span class="mark">Normal Mode</span> you can navigate the file using the <span class="kbd">h</span>, <span class="kbd">j</span>, <span class="kbd">k</span>, <span class="kbd">l</span> keys (left, down, up, right). You might also be able to use the arrow keys on the keyboard<a id="fnref1" class="footnote-ref" href="#fn1"><sup>1</sup></a>.</li>
<li>When you have navigated to where you want to edit the file (inserting or deleting text), press the <span class="kbd">i</span> key to enter <span class="mark">Insert Mode</span>.</li>
<li>In <span class="mark">Insert Mode</span> you can <strong>only</strong> enter or delete text from the current cursor position &#8211; you <strong>cannot</strong> navigate. To navigate, press the <span class="kbd">Escape</span> key to return to <span class="mark">Normal Mode</span>.</li>
<li>To save (write) the file, return to <span class="mark">Normal Mode</span> and type <span class="kbd">:w</span> followed by the <span class="kbd">Enter</span> key.</li>
<li>To exit (quit) Vim, return to <span class="mark">Normal Mode</span> and type <span class="kbd">:q</span> followed by the <span class="kbd">Enter</span> key.</li>
</ul>
<h2 id="Extended">The Extended 5 Minute Tutorial</h2>
<p>This adds <span class="mark">searching</span> and <span class="mark">help</span> to the 5 Minute Tutorial, but, otherwise, keeps the information to the bare minimum so you can quickly be functional in Vim instead of frustrated.<br />
All command / control keys are <strong>case sensitive</strong>: <span class="kbd">h</span> is not the same as <span class="kbd">H</span>!</p>
<h3 id="Normal">Normal Mode</h3>
<p><span class="mark">Normal Mode</span> is the default mode and it should be the mode you always go back to.<br />
Most times, you press the <span class="kbd">Escape</span> key once or twice<a id="fnref2" class="footnote-ref" href="#fn2"><sup>2</sup></a> to return to <span class="mark">Normal Mode</span>.<br />
If you see <span class="mark">recording</span> in the lower left corner of the screen, press the lowercase <span class="kbd">q</span> key to return to <span class="mark">Normal Mode</span>.</p>
<h3 id="Opening">Opening a File</h3>
<p>The simplest way to open a file is to type <span class="kbd">vim</span> at the command line followed by the name of the file:</p>
<div id="cb1" class="sourceCode">
<pre class="sourceCode bash"><code><a id="cb1-1" class="sourceLine" data-line-number="1"></a><span class="ex">user@COMPUTER</span>:~$ vim file.txt</code></pre>
</div>
<p>If it is a <strong>new</strong> file you should see something like this:</p>
<pre class="vim"><code>
~
~
~
~
~
"file.txt" [New File]                       0,0-1          All</code></pre>
<p>If it is an <strong>existing</strong> file, you should see something like <span class="note" data-note="The actual contents will depend on the file you opened.">this</span>:</p>
<pre class="vim"><code>&lt;!doctype html&gt;
&lt;html lang="en"&gt;
  &lt;head&gt;
    &lt;meta charset="utf-8"&gt;
    &lt;title&gt;Basic HTML5 Template&lt;/title&gt;
    &lt;link rel="stylesheet" href="style.css"&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;!-- page content goes here --&gt;
    &lt;p&gt;This is some dummy content that is not lorem ipsum.&lt;/p&gt;
  &lt;/body&gt;
&lt;/html&gt;
~
~
~
"basic.html" 12L, 290C                      1,1           All</code></pre>
<p>The status line<a id="fnref3" class="footnote-ref" href="#fn3"><sup>3</sup></a> (at the bottom of the screen) displays the following information:</p>
<ul>
<li>file name</li>
<li>total number of lines in the file</li>
<li>total number of characters in the file</li>
<li>current line the cursor is on</li>
<li>current column the cursor is in</li>
<li>percentage showing the position in the file (if <span class="mark">All</span> : the entire file is visible, <span class="mark">Bot</span> : at the bottom (end) of the file, <span class="mark">Top</span> : at the top of the file)</li>
</ul>
<p>In <span class="mark">Normal Mode</span> load a file by typing <span class="kbd">:edit</span> followed by the filename and then pressing the <span class="kbd">Enter</span> key.:</p>
<pre class="vim"><code>:edit basic.html</code></pre>
<p>This discards the current file (if any) and loads the specified file.<br />
If the file to be discarded has been modified, but not saved, you will see the following warning in the status line:</p>
<pre class="vim"><code>E37: No write since last change (add ! to override)</code></pre>
<p>If you don’t care about saving the file, simply append <span class="kbd">!</span> to the <span class="kbd">:edit</span> command:</p>
<pre class="vim"><code>:edit! basic.html</code></pre>
<p>The <span class="kbd">!</span> tells Vim to “just do it!” and ignore any warnings.</p>
<h3 id="Saving">Saving a File</h3>
<p>You need to be in <span class="mark">Normal Mode</span> to save a file.<br />
Save a file by typing <span class="kbd">:w</span> followed by the <span class="kbd">Enter</span> key.<br />
If you want to save the file with a different name, type <span class="kbd">:w</span> followed by the new file name and then press the <span class="kbd">Enter</span> key:</p>
<pre class="vim"><code>:w new-filename.txt</code></pre>
<h3 id="Exiting">Exiting Vim</h3>
<p>You need to be in <span class="mark">Normal Mode</span> to exit Vim.<br />
Type <span class="kbd">:q</span> followed by the <span class="kbd">Enter</span> key to exit Vim.<br />
If Vim warns you that the file has been modified, you can choose to <a href="#Saving">save it</a> or you can force Vim to exit without saving the file by typing <span class="kbd">:q!</span> followed by the <span class="kbd">Enter</span> key. The <span class="kbd">!</span> tells Vim to “just do it” and exit without saving the file.</p>
<h3 id="navigating-a-file-navigating">Navigating a File {Navigating}</h3>
<p>You need to be in <span class="mark">Normal Mode</span> to navigate a file.<br />
The letters <span class="kbd">h</span>, <span class="kbd">j</span>, <span class="kbd">k</span>, <span class="kbd">l</span> navigate the cursor through the file. (You may also be able to use the arrow keys present on most keyboards.)<br />
They act like arrow keys and are conceptually laid out like this:</p>
<table style="font-size: 2em; text-align: centered; font-family: inconsolata,monospace; border-collapse: collapse;">
<tbody>
<tr>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black;">h<br />
←</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black;">j<br />
↓</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black;">k<br />
↑</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black;">l<br />
→</td>
</tr>
</tbody>
</table>
<p>When you navigate left (<span class="kbd">h</span>) to the beginning of a line, the cursor will stop. It will <strong>not</strong> wrap around and up to the previous line.<br />
When you navigate right (<span class="kbd">l</span>) to the end of a line, the cursor will stop. It will <strong>not</strong> wrap around and down to the next line.<br />
If you type a <strong>positive</strong> integer (which will not be displayed), followed by one of the navigation keys, the cursor will move that many characters / lines.<br />
For example, in <span class="mark">Normal Mode</span>, if you type <span class="kbd">10j</span>, the cursor will move down 10 lines.</p>
<h3 id="Inserting">Inserting and Deleting Text</h3>
<p>In <span class="mark">Insert Mode</span> the only thing you can do is insert or delete text. (You <strong>may</strong> be able to use the arrow keys on your keyboard to navigate the text while in this mode, but there is no guarantee, navigating is supposed to be done in <span class="mark">Normal Mode</span>)<br />
Enter <span class="mark">Insert Mode</span> by pressing the <span class="kbd">i</span>, <span class="kbd">a</span>, <span class="kbd">I</span>, or <span class="kbd">A</span> key.</p>
<ul>
<li><span class="kbd">i</span> insert / delete before the cursor (what you would intuitively expect when entering or deleting text).</li>
<li><span class="kbd">a</span> append / delete after the current cursor position.</li>
<li><span class="kbd">I</span> insert / delete at the beginning of the line.</li>
<li><span class="kbd">A</span> append / delete at the end of the line.</li>
</ul>
<p>You will (probably) be using <span class="kbd">i</span> most frequently.<br />
When you enter <span class="mark">Insert Mode</span> you will see <span class="mark">– INSERT –</span> displayed in the lower left corner:</p>
<pre class="vim"><code>The navigation keys are h, j, k, l.
h moves the̲ cursor one character left
l moves the cursor one character right
j moves the cursor one line down
k moves the cursor one line up
~
~
~
~
-- INSERT --                       3,11      All</code></pre>
<p>Press the <span class="kbd">Escape</span> key to return to <span class="mark">Normal Mode</span>.</p>
<h3 id="Searching">Searching</h3>
<p>You must be in <span class="mark">Normal Mode</span> to search.<br />
In a large file, it is useful to locate items of interest by searching for them.<br />
To search, type <span class="kbd">/</span> followed by the text you want to find, followed by the <span class="kbd">Enter</span> key.<br />
Vim treats the search string as a regular expression &#8211; which means some characters have a special meaning. If you need to search for the following characters, you will need to type them as follows:</p>
<table style="border-collapse: collapse;">
<tbody>
<tr style="font-weight: bold;">
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black;">Name</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black;">Character</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black;">Need to Type</td>
</tr>
<tr>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black;">Period</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black; text-align: center;">.</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black; text-align: center;">.</td>
</tr>
<tr>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black;">Asterisk</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black; text-align: center;">*</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black; text-align: center;">\*</td>
</tr>
<tr>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black;">Backslash</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black; text-align: center;">&lt;/td&gt;</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black; text-align: center;">\</td>
</tr>
<tr>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black;">Dollar Sign</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black; text-align: center;">$</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black; text-align: center;">$</td>
</tr>
<tr>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black;">Forward Slash</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black; text-align: center;">/</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black; text-align: center;">/</td>
</tr>
</tbody>
</table>
<p>Searches are case sensitive.<br />
You can navigate between search results by pressing <span class="kbd">n</span> (next) or <span class="kbd">N</span> (previous).</p>
<h3 id="Help">Getting Help</h3>
<p>You need to be in <span class="mark">Normal Mode</span> to use help.<br />
To get help on something in Vim, simply type <span class="kbd">:help</span> followed by the thing you want help on.<br />
For example, to get help on the navigation key <span class="kbd">h</span>, type <span class="kbd">:help h</span> followed by the <span class="kbd">Enter</span> key.<br />
You should see something similar to the following:</p>
<pre class="vim"><code>h         or          *h*
&lt;Left&gt;    or          *&lt;Left&gt;*
CTRL-H    or          *CTRL-H* *&lt;BS&gt;*
&lt;BS&gt;      [count] characters to the left.  |exclusive| motion.
          Note: If you prefer &lt;BS&gt; to delete a character, use
          the mapping:
             :map CTRL-V&lt;BS&gt;    X
          (to enter "CTRL-V&lt;BS&gt;" type the CTRL-V key, followed
          by the &lt;BS&gt; key)
          See |:fixdel| if the &lt;BS&gt; key does not do what you
          want.
m̲o̲t̲i̲o̲n̲.̲t̲x̲t̲ ̲[̲H̲e̲l̲p̲]̲[̲R̲O̲]̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲1̲7̲2̲,̲1̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲1̲2̲%̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
Vim will split the display into two panes. In the upper pane
you will see the help text. In the lower pane you will see your
current editing buffer.
Now you know that Vim supports multiple editing buffers - but
that is not the point of this tutorial.
~
~
~
~
a-file.txt                     4,5              All
</code></pre>
<p>The help can be pretty dense and not user friendly, but it <em>may</em> be helpful.<br />
To close the help window, type <span class="kbd">:q</span> followed by the <span class="kbd">Enter</span> key.<br />
If you type <span class="kbd">:help</span>, it will bring up the general help file. You can navigate through it for topics of interest.<br />
You might also try <span class="kbd">:help tutor</span> for instructions on accessing the Vim tutor which is included with every Vim installation.</p>
<h3 id="Final">Final Words</h3>
<p>Vim may not be the easiest or most intuitive editor you will come across. However, it (or its ancestor Vi) is quite ubiquitous and this tutorial gives you the basics you need so you are minimally functional with it.<br />
The basics are simple:</p>
<ol type="1">
<li>Vim operates in <span class="mark">Modes</span>.</li>
<li>All command / control keys are <strong>case sensitive</strong> : <span class="kbd">k</span> is not the same as <span class="kbd">K</span>.</li>
<li>The base mode is <span class="mark">Normal Mode</span>. You (usually) get back to it by pressing the <span class="kbd">Escape</span> key once or twice.</li>
<li>Navigating a file is done in <span class="mark">Normal Mode</span> using the <span class="kbd">h</span>, <span class="kbd">j</span>, <span class="kbd">k</span>, <span class="kbd">l</span> keys.</li>
<li>When the cursor is where you want to insert or delete text, you press the <span class="kbd">i</span> key to enter <span class="mark">Insert Mode</span>.</li>
<li>Search in <span class="mark">Normal Mode</span> by typing <span class="kbd">/</span> followed by the string you want to find and then the <span class="kbd">Enter</span> key. Navigate the search results using the <span class="kbd">n</span> and <span class="kbd">N</span> keys.</li>
<li>Save a file by typing <span class="kbd">:w</span> in <span class="mark">Normal Mode</span>.</li>
<li>Exit Vim by typing <span class="kbd">:q</span> in <span class="mark">Normal Mode</span>.</li>
<li>In <span class="mark">Normal Mode</span> you can get help by typing <span class="kbd">:help</span></li>
</ol>
<section class="footnotes">
<hr />
<ol>
<li id="fn1">Vi (the precursor to Vim) was developed in 1976. Arrow keys were not commonly found on keyboards, so <span class="kbd">h</span>, <span class="kbd">j</span>, <span class="kbd">k</span>, <span class="kbd">l</span> were used.<a class="footnote-back" href="#fnref1">↩</a></li>
<li id="fn2">Some modes require one key press, others require two. If you press it too many times, the computer will just beep at you. Vim newbies often repeatedly press the <span class="kbd">Escape</span> key in the hopes of returning to <span class="mark">Normal Mode</span><a class="footnote-back" href="#fnref2">↩</a></li>
<li id="fn3">This is true for the default Status Line. It is always possible that someone has modified the Status Line to display different information, or in a different arrangement.<a class="footnote-back" href="#fnref3">↩</a></li>
</ol>
</section>
<p>The post <a href="https://complete-concrete-concise.com/blog/5-minute-vim-tutorial/">5 Minute Vim Tutorial</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Ubuntu 13.04 &#8211; Basic Command Line Techniques</title>
		<link>https://complete-concrete-concise.com/ubuntu-2/ubuntu-13-04/ubuntu-13-04-basic-command-line-techniques/</link>
		
		<dc:creator><![CDATA[richardsplanet]]></dc:creator>
		<pubDate>Tue, 30 Apr 2013 19:59:01 +0000</pubDate>
				<category><![CDATA[Ubuntu 13.04]]></category>
		<category><![CDATA[basic]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[commands]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[ubuntu 13.04]]></category>
		<guid isPermaLink="false">http://complete-concrete-concise.com/?p=2925</guid>

					<description><![CDATA[<p>Using the command line doesn't have to be mysterious or hard.</p>
<p>The post <a href="https://complete-concrete-concise.com/ubuntu-2/ubuntu-13-04/ubuntu-13-04-basic-command-line-techniques/">Ubuntu 13.04 &#8211; Basic Command Line Techniques</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="c1">
<p>This tutorial is for Ubuntu 13.04.</p>
<p>It is probably the same for every other version of Ubuntu and all other Linux distros, but I make no guarantee.</p>
</div>
<p>Linux (on which Ubuntu is based) is fundamentally a command line driven operating system. While there are graphical interfaces to many of the available commands, sometimes you need (or have no choice) to work at the command line.</p>
<p>There are five fundamental things everyone working at the command line should know (or at least be aware of):</p>
<ol>
<li>man</li>
<li>pipes</li>
<li>redirection</li>
<li>less (or more)</li>
<li>ls</li>
</ol>
<h1>man</h1>
<div class="c1">
<p><code>man</code> is short for <u>manual</u></p>
</div>
<p><code>man</code> is the help file.</p>
<p>When you want to know more about a command, you enter <code>man <em>&lt;command name&gt;</em></code> to display information about the command. For example:</p>
<pre><code>man ls</code></pre>
<p>will bring up the <code>man</code> page for the command <code>ls</code>. You could also enter <code>man man</code> to display information about the <code>man</code> command. The <code>man</code> page for <code>ls</code> looks something like this:</p>
<p><a href="//complete-concrete-concise.com/wp-content/uploads/2012/12/basic-command-line-techniques-1-big.png" target="_blank"><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2012/12/basic-command-line-techniques-1-thumb.png" alt="" border="0" class="centered" /></a></p>
<p>To navigate through a <code>man</code> you use the following commands:</p>
<ul>
<li>q &#8211; exit (quit) the man page</li>
<li>SPACE or f &#8211; forward to the next page</li>
<li>b &#8211; backward to the previous page</li>
<li>e &#8211; forward one line</li>
<li>y &#8211; backward one line</li>
</ul>
<div class="c4">
<p>While there are <code>man</code> pages for pretty much every command, there is no <code>man</code> page for the command <code>cd</code>.</p>
</div>
<h1>Pipes</h1>
<p>Pipes allow you to send the displayed output from one command to another command.</p>
<p>In other words, when you enter a command that displays a bunch of information on the terminal (and maybe scrolls past the top of the terminal), you can use a pipe to send that information to another command.</p>
<p>The most common use of pipes is with the <code>more</code> (or, preferably, <code>less</code>) command. This is especially true when information scrolls past the top of the terminal.</p>
<p>The pipe is the vertical bar (or broken bar) symbol: &#8216;<code>|</code>&#8216;.</p>
<p>For example, any of the following commands is likely display information that will scroll past the top of the terminal:</p>
<pre><code>ls /bin
ls /etc
ls /lib</code></pre>
<p>If we pipe the output to the <code>more</code> command, then we can scroll through the output one display page at a time:</p>
<pre><code>ls /etc | more</code></pre>
<p>Another common use of pipes is with the <code>grep</code> command. (<code>grep</code> is often used to filter out unwanted information &#8211; but I won&#8217;t be covering <code>grep</code> here.)</p>
<p>You can pipe together as many commands as you like. The output from the command on the left of the pipe is sent to the command on the right of the pipe.</p>
<h1>Redirection</h1>
<p>Sometimes you need to capture the information displayed by a command. This is done using redirection.</p>
<p>The output displayed by a command can be sent to a file instead of the display.</p>
<p>The redirection operator is the greater than symbol: &#8216;&gt;&#8217;.</p>
<p>For example, suppose I want to dump a <code>man</code> page to file, so I can later look at (or print that file). I can do so by redirecting the <code>man</code> output to a file (you choose the name of the file):</p>
<pre><code>man ls > ls.txt</code></pre>
<p>The above command will send the output of the <code>man</code> page for <code>ls</code> to a file called <u>ls.txt</u>. I can then handle <u>ls.txt</u> the same way I handle any text file.</p>
<p>Another example, I could send a directory listing to a file as well:</p>
<pre><code>ls > directory_list</code></pre>
<p>The above command will send the output of <code>ls</code> to a file called <u>directory_list</u>. Again, the file can be handled the same way any other text file is handled.</p>
<p>Redirection always send stores the file in the current directory (normally, this will be your <code>/home/<i>&lt;user&gt;</i></code> directory). You can write the file to another directory by either (1) changing to a different directory (using the <code>cd</code> command), or (2) specifying the path along with the file name. <strong>Note:</strong> you may not have permission to write in other directories, so the operation will fail.</p>
<h1>less</h1>
<div class="c1">
<p><code>less</code> is an improved version of the <code>more</code> command. The main advantage of using <code>less</code> instead of <code>more</code> is that <code>less</code> lets you scroll backwards through data that has been piped to it; <code>more</code> only allows you to scroll forward through piped data. Other than that difference, <code>less</code> and <code>more</code> behave almost identically.</p>
</div>
<p><code>less</code> is used to display information one page at a time.</p>
<p>Most often it is used in conjunction with pipes to prevent output from scrolling off the top of the terminal:</p>
<pre><code>ls | less</code></pre>
<p><code>less</code> can be used to display the contents of a text file:</p>
<pre><code>less <i>&lt;file name&gt;</i></code></pre>
<p>where <i>&lt;file name&gt;</i> is the name of the text file to display.</p>
<p>To navigate through text being displayed by <code>less</code> you use the following commands:</p>
<ul>
<li>q &#8211; exit (quit) <code>less</code></li>
<li>SPACE or f &#8211; forward to the next page</li>
<li>b &#8211; backward to the previous page (does not work if <code>more</code> is displaying text from a pipe and the main reason why  <code>less</code> is preferred)</li>
<h1>ls</h1>
<div class="c1">
<p><code>ls</code> is short for <u>list</u></p>
</div>
<p><code>ls</code> is used to display the contents of a directory.</p>
<p><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2012/12/basic-command-line-techniques-2.png" alt="" border="0" class="centered" data-recalc-dims="1"/></p>
<p>Directory contents are colour coded. Different files have different colours.</p>
<p>The default colours (in the default Ubuntu 13.04 terminal) for common file types are:</p>
<div class="c2">
<p><strong>Note:</strong> if you or someone has configured your system, or you are using a different terminal (or a different Linux distribution), the colours and their significance may be completely different.</p>
</div>
<p><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2012/12/basic-command-line-colours.png" alt="" border="0" class="centered" data-recalc-dims="1"/></p>
<p>There are other colour combinations in use and some colours (notably purple) are reused for other file types.</p>

<p>The post <a href="https://complete-concrete-concise.com/ubuntu-2/ubuntu-13-04/ubuntu-13-04-basic-command-line-techniques/">Ubuntu 13.04 &#8211; Basic Command Line Techniques</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Understanding the differences between various Linux distro&#039;s</title>
		<link>https://complete-concrete-concise.com/blog/understanding-the-differences-between-various-linux-distros/</link>
		
		<dc:creator><![CDATA[richardsplanet]]></dc:creator>
		<pubDate>Tue, 19 Mar 2013 14:57:05 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[arch]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[differences]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[pear linux]]></category>
		<category><![CDATA[red hat]]></category>
		<category><![CDATA[slackware]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[understanding]]></category>
		<guid isPermaLink="false">http://complete-concrete-concise.com/?p=2706</guid>

					<description><![CDATA[<p>There are many different operating systems (OS) out there. The most commonly known being Microsoft Windows and Mac OS, and then there is that OS called Linux that people keep talking about. It is not always clear what Linux is except that it is an operating system (sometimes claimed to be better than any other [&#8230;]</p>
<p>The post <a href="https://complete-concrete-concise.com/blog/understanding-the-differences-between-various-linux-distros/">Understanding the differences between various Linux distro&#039;s</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>There are many different operating systems (OS) out there. The most commonly known being Microsoft Windows and Mac OS, and then there is that OS called Linux that people keep talking about. </p>
<p>It is not always clear what Linux is except that it is an operating system (sometimes claimed to be better than any other operating system on the planet). When you look it up,  you are faced with a bewildering choice of operating systems that all claim to be Linux: Red Hat, Ubuntu, Slackware, Mandrake, Linux mint, PC Linux OS, Pear Linux, OpenSUSE, etc.</p>
<div class="c1">
<h1>Summary</h1>
<p>Fundamentally, all Linux distros are very similar. They are based on the Linux kernel which forms the core of all distros.</p>
<p>The difference between distros fundamentally boils down to:</p>
<ul>
<li>ease of installation</li>
<li>which GUI (Graphical User Interface) they provide (changeable in all distros)</li>
<li>the look and feel (colours, wallpapers, keyboard shortcuts, etc) they provide (customizable in all distros)</li>
<li>what applications (programs) they provide by default (again, users can install applications they feel they need)</li>
</ul>
<p>The last three are normally completely customizable by the user.</p>
<p>Each distro packages the Linux kernel with a bunch of programs and configures the way it looks, feels, and interacts with the user.</p>
<p>It does not make sense to change distributions because you don&#8217;t like the default interface or applications or colours.</p>
<p>It does make sense to change distributions because you are not getting the necessary hardware or software support you would like.</p>
</p></div>
<h1>What is an operating system</h1>
<p>An operating system is the first program that runs on the computer and continues to run even while you are running other programs.</p>
<div class="c1">
<p>Strictly speaking, the boot loader is the first program to run because it loads the operating system. But that&#8217;s being really picky.</p>
</div>
<h1>What does an operating system do</h1>
<p>An operating system hides all the fiddly details about the hardware from programs that are running on the computer.</p>
<p>There are many keyboards, mice, hard disks, printers, graphics cards, and other hardware that do not necessarily operate or function the same way.</p>
<p>Before there were operating systems, programmers wrote code specifically for the hardware connected to the computer. If the hardware changed (suppose the printer was changed) it usually meant that all programs using that hardware had to be rewritten because the hardware was now different.</p>
<p>An operating system shields the program from the nitty-gritty details of the hardware and provides it with a standard interface to the hardware. Consider a printer: regardless of what printer is connected to the computer the operating system presents the same standard interface and the program uses this interface. The operating system handles communicating with the printer through something called a driver. The driver is a special program that converts information passed through the standard interface into something the hardware can use.</p>
<div class="c1">
<p>A common problem in Linux is the lack of drivers for hardware. It is not uncommon to buy a piece of hardware (printer, scanner, video card, Wi-Fi adapter, etc) only to discover that Linux does not support it. </p>
</div>
<p>At the heart of every Linux distro is the Linux kernel. This is the core operating system. There is only one Linux kernel. You can find the source code for the Linux kernel <a href="https://www.kernel.org/">here</a>.</p>
<p>There are various versions of the Linux kernel:</p>
<ul>
<li>older versions that are no longer being developed but have long-term support </li>
<li>versions that are current and stable</li>
<li>future versions under development &#8211; these may or may not be stable and may include new features</li>
<li>finally, there are often several branches of the main kernels that contain experimental features &#8211; these may or may not find their way into the main kernel</li>
</ul>
<h1>If all Linux distro&#8217;s use the same kernel why are there so many Linux distro&#8217;s?</h1>
<p>Each Linux distro decides which kernel it will use:</p>
<ul>
<li>some distro&#8217;s play it safe and use only a stable kernel</li>
<li>more conservative distros may only use older kernels</li>
<li>other distro&#8217;s like to use the latest stable version</li>
<li>other distro&#8217;s are more cutting edge and use the development branch including changes that are still under development and possibly experimental.</li>
</ul>
<p>The kernel itself is not very exciting &#8211; it just runs on your hardware, stays in the background and manages the computer. What makes a computer useful is not the operating system that&#8217;s running on it but the programs and applications that are run on the computer.</p>
<h1>Four key areas where distros differ:</h1>
<ol>
<li>installation</li>
<li>the kernel</li>
<li>the look and feel</li>
<li>programs and applications</li>
</ol>
<h1>Installation</h1>
<p>This is usually the first experience a user has with a Linux distro.</p>
<p>The way in which various Linux distros install themselves is usually the first experience a user has with the distro.</p>
<p>Some distros focus on a very simple installation procedure &#8211; essentially, the user provides some basic and non-technical information and the distro uses preconfigured settings for everything else. Ubuntu is a distro that takes this approach &#8211; it is not exactly a one-click installation process, but it comes very close. This is suitable for the typical user.</p>
<p>Other distros have a more involved installation procedure that requires the user to answer a number of technical questions before installing. These questions may include questions about partitioning the hard disk, what file system to format each partition, etc. There is a wide range of how technical these installations can be.</p>
<p>Finally, some distros give the user complete control over the installation process and are very technical. Slackware is a distro that takes this approach &#8211; it assumes a technical and knowledgeable user is doing the installation.</p>
<p>Of course, you don&#8217;t have to install from a distro &#8211; you can download the Linux kernel, build it yourself, and install it yourself.</p>
<h1>The Kernel</h1>
<p>The kernel is the core of the operating system. It is the program that always runs on the computer and provides the necessary services to access all the devices on the computer, as well as handling memory management, program loading, etc.</p>
<p>Most Linux distros released around the same time use the same base kernel.</p>
<p>Some distros, like Slackware, use the kernel as is from the kernel repository &#8211; if you want something extra, you have to add it yourself.</p>
<p>Other distros, like Ubuntu, modify the kernel by including changes and patches that provide support for more hardware. These changes may not be fully stable for new hardware (which is why they are not part of the base kernel) or they may not be fully open or they may contain patented technology.</p>
<div class="c1">
<p>A problem I have observed with Ubuntu is that interim releases (like 11.10 and 12.10) often have problems (eventually they get fixed). I have not noticed any problems with the Long Term Support (LTS) releases (like 12.04 LTS).</p>
</div>
<div class="c2">
<p>Linux is licensed under the GPL license, which, basically, allows free copying and distribution of the code but also requires developers to share their code under the same license. Some developers (notably hardware manufacturers) are reluctant to release the source code (because this means competitors can see how their code and devices work &#8211; thus giving them insider information on a competitors product). Instead of releasing source code (which can be ported to other platforms or modified by other developers) they release BLOBs (Binary Large OBjects) which only work on certain hardware platforms. For example, a BLOB released for x86 compatible processors, will not work on ARM based processors.</p>
<p>Patented technology (unless freely licensed) is not compatible with the GPL because the GPL requires that everything be freely available and redistributable &#8211; including the use and implementation of patents.</p>
</div>
<p>Some distros are ideologically based and refuse to include non-open and non-free code and technology. <a href="http://www.gnewsense.org/">gNewSense</a> is an example of such a distro. This means they support fewer hardware devices than distros that include BLOBs or potentially unlicensed patented technology. As well, some commonly expected features / behaviour may not work either &#8211; for example, viewing videos on YouTube.</p>
<p>Other distros are more specialized and may include patches (changes) necessary to support hard real time requirements. These changes are not trivial and consequently, real time distros tend to be based on older kernels. <a href="http://www.lynuxworks.com/rtos/rtos.php">LynxOS</a> is an example of a real time OS that is based on the older version 2.6 Linux kernel.</p>
<p>Having said all that, the core of the kernel is pretty much the same from one Linux distro to the next and from the typical user&#8217;s perspective, you can expect they behave pretty much the same way.</p>
<h1>Look and Feel</h1>
<p>This is what most users see and experience when they interact with a Linux system.</p>
<p>The system can be command line driven, in which case it looks something like this:</p>
<p><a href="//complete-concrete-concise.com/wp-content/uploads/2013/03/linux-differences-1-big.png" target="_blank"><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2013/03/linux-differences-1-thumb.png" alt="" border="0" class="centered" /></a></p>
<p>or it can be a GUI based system &#8211; in which case there are many, many variations. Some of which are shown below:</p>
<div class="c1">
<p>The MATE desktop running on Ubuntu:</p>
<p><a href="//complete-concrete-concise.com/wp-content/uploads/2012/04/ubuntu-12.04-mate-desktop-big1.png" target="_blank"><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2012/04/ubuntu-12.04-mate-desktop-thumb1.png" alt="" border="0" class="centered" /></a></p>
</div>
<div class="c2">
<p>The basic LXDE desktop:</p>
<p><a href="//complete-concrete-concise.com/wp-content/uploads/2012/04/ubuntu-12.04-lxde-desktop-big.jpg" target="_blank"><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2012/04/ubuntu-12.04-lxde-desktop-thumb.jpg" alt="" border="0" class="centered" /></a></p>
</div>
<p>All GUI based distros use <code>X-server</code> to provide the graphical control. <code>X-server</code> in turn communicates with video hardware drivers.</p>
<p>On top of <code>x-server</code> distros will install a window manager. There are four major window managers: GNOME, KDE, LXDE, and XFCE (roughly listed in order of popularity). There are also dozens of other window managers. These are then customized with how the windows actually look, the colours, the background wallpaper or colour, keyboard shortcuts, etc.</p>
<p>Even if two distros use the same window manager, they can look radically different. Below are screenshots from some GNOME based distros:</p>
<div class="c1">
<p>This is the Cinnamon desktop running on Ubuntu. Cinnamon is a customized version of the GNOME desktop. Notice it uses the Ubuntu colour scheme (but you can change that):</p>
<p><a href="//complete-concrete-concise.com/wp-content/uploads/2012/04/ubuntu-12.04-install-cinnamon-desktop-big.jpg" target="_blank"><img fetchpriority="high" decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2012/04/ubuntu-12.04-install-cinnamon-desktop-thumb.jpg" width="480" height="395" alt="" border="0" class="centered" /></a></p>
</div>
<div class="c2">
<p>This is the Unity desktop running on Ubuntu. Unity is a customized version of the GNOME desktop:</p>
<p><a href="//complete-concrete-concise.com/wp-content/uploads/2013/03/linux-differences-2-big.jpg" target="_blank"><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2013/03/linux-differences-2-thumb.jpg" width="480" height="234" alt="" border="0" class="centered"/></a></div>
<h1>Programs and Applications</h1>
<p>The kernel and look and feel of  a Linux system is not particularly useful because the typical user expects to be able to use the system to do work. Whether this is editing documents, surfing the web, developing programs, editing audio or video files, playing games, etc.</p>
<p>All this is done with programs or applications. There are usually many different programs for various tasks a user might want to perform.</p>
<p>For example, browsing the web: there is FireFox, Chrome, Konqueror, and many other web browsers. Each distro includes programs that they feel the user wants (or needs).</p>
<p>For example, Ubuntu is a general purpose desktop OS. It includes a number of basic applications that of use to users: LibreOffice (office suite), FireFox (web browser), gedit (file editor), Nautilus (file manager), etc.</p>
<p>Ubuntu Studio, which is based on Ubuntu, includes a number of applications that are of interest to media developers: GIMP (image editing program), Blender (a 3D content creation suite), OpenShot (a simple video editor), Scribus (a pdf document creator), etc.</p>
<p>Many Linux distros are based on other distros. Essentially, there are four fundamental distros from which all the rest are derived:</p>
<ol>
<li><a href="http://www.slackware.com/">Slackware</a></li>
<li><a href="http://www.debian.org/">Debian</a></li>
<li><a href="http://www.redhat.com/">Red Hat</a></li>
<li><a href="https://www.archlinux.org/">Arch</a></li>
</ol>
<p><a href="http://www.linuxmint.com/">Linux Mint</a> and <a href="http://pearlinux.fr/">Pear Linux</a> are based on <a href="http://www.ubuntu.com/">Ubuntu</a> which, in turn, is based on Debian.</p>
<h1>Should You Change Distros?</h1>
<p>A common refrain in the Linux community is that if you don&#8217;t like a particular Linux distro, you can choose to install a different distro.</p>
<h3>Does this make sense?</h3>
<p>It depends.</p>
<p>Installing a different distro means that you may potentially lose all your work (unless you&#8217;ve made backups) because installing a new distro will over write the existing one.</p>
<p>Most times, what users want is a different GUI interface (look and feel) or maybe a different application.</p>
<p>Linux distros are developed and maintained by many different individuals and groups. Some distros are produced by just one person, others by a few enthusiasts, and others by companies.</p>
<p>If you choose a distro developed by a single developer, can you be sure the person is going to continue developing and maintaining their distro? If a distro is developed by a company, can you be sure the company is going to be around the next time you want to upgrade?</p>
<p>Personally, I would choose to go with a major distributor that has been around a while. My personal preference is for Ubuntu (even if you don&#8217;t like Unity, you can change it for some other desktop and customize it yourself) because they have the easiest installation, good support and, in general, just works &#8220;out of the box&#8221;.</p>
<p>Having said that, if you go with Linux Mint or Pear Linux, you are still getting a distro based on Ubuntu (they even use Ubuntu&#8217;s servers for much of their base), and make use of Ubuntu&#8217;s simple installation process and, like Ubuntu, just work out of the box.</p>
<p>The only time I would consider switching distributions is if the support (whether hardware or software) is not there. Otherwise, I would recommend customizing what you have to look and work the way you want it.</p>
<p>Looked at another way, would you move because you no longer like the colour of the walls in your living room, or would you repaint the living room?</p>
<h1>Additional Resources</h1>
<p>For more information about specific Linux distributions you can always check the distro&#8217;s website.</p>
<p>An excellent resource is <a href="http://distrowatch.com/">DistroWatch</a> which has information on several hundred Linux distros (it also includes information on other Unix like OSes, like BSD).</p>
<p>There is a search bar in the top left of the site where you can type in the name of the distro, or a drop down menu from which you can select a distro:</p>
<p><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2013/03/linux-differences-3.png" alt="" border="0" class="centered"/></p>
<p>There are many other search options available. You can see a ranking of weekly and monthly distro popularity.</p>
<p>Another good resource is the Wikipedia <a href="http://en.wikipedia.org/wiki/Comparison_of_Linux_distributions">Comparison of Linux Distributions</a>. It is not as exhaustive as DistroWatch, but it does present the information in table form.</p>
<p>A graphical representation of Linux distributions based on (1) their base origin and (2) the year they were introduced is available <a href="http://futurist.se/gldt/">here</a>. It currently lists over 450 Linux distributions &#8211; some of which no longer exist.</p>

<p>The post <a href="https://complete-concrete-concise.com/blog/understanding-the-differences-between-various-linux-distros/">Understanding the differences between various Linux distro&#039;s</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Ubuntu 12.04 &#8211; Basic Command Line Techniques</title>
		<link>https://complete-concrete-concise.com/ubuntu-2/ubuntu-12-04/ubuntu-12-04-basic-command-line-techniques/</link>
		
		<dc:creator><![CDATA[richardsplanet]]></dc:creator>
		<pubDate>Thu, 13 Dec 2012 14:57:21 +0000</pubDate>
				<category><![CDATA[Ubuntu 12.04]]></category>
		<category><![CDATA[basic]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[commands]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[ubuntu 12.04]]></category>
		<guid isPermaLink="false">http://complete-concrete-concise.com/?p=2598</guid>

					<description><![CDATA[<p>This tutorial is for Ubuntu 12.04. It should be the same for every other version of Ubuntu and all other Linux distros, but I make no guarantee. Linux (on which Ubuntu is based) is fundamentally a command line driven operating system. While there are graphical interfaces to many of the available commands, sometimes you need [&#8230;]</p>
<p>The post <a href="https://complete-concrete-concise.com/ubuntu-2/ubuntu-12-04/ubuntu-12-04-basic-command-line-techniques/">Ubuntu 12.04 &#8211; Basic Command Line Techniques</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="c1">
<p>This tutorial is for Ubuntu 12.04.</p>
<p>It should be the same for every other version of Ubuntu and all other Linux distros, but I make no guarantee.</p>
</div>
<p>Linux (on which Ubuntu is based) is fundamentally a command line driven operating system. While there are graphical interfaces to many of the available commands, sometimes you need (or have no choice) to work at the command line.</p>
<p>There are five fundamental things everyone working at the command line should know (or at least be aware of):</p>
<ol>
<li>man</li>
<li>pipes</li>
<li>redirection</li>
<li>more</li>
<li>ls</li>
</ol>
<h1>man</h1>
<div class="c1">
<p><code>man</code> is short for <u>manual</u></p>
</div>
<p><code>man</code> is the help file.</p>
<p>When you want to know more about a command, you enter <code>man <em>&lt;command name&gt;</em></code> to display information about the command. For example:</p>
<pre><code>man ls</code></pre>
<p>will bring up the <code>man</code> page for the command <code>ls</code>. You could also enter <code>man man</code> to display information about the <code>man</code> command. The <code>man</code> page for <code>ls</code> looks something like this:</p>
<p><a href="//complete-concrete-concise.com/wp-content/uploads/2012/12/basic-command-line-techniques-1-big.png" target="_blank"><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2012/12/basic-command-line-techniques-1-thumb.png" alt="" border="0" class="centered"/></a></p>
<p>To navigate through a <code>man</code> you use the following commands:</p>
<ul>
<li>q &#8211; exit (quit) the man page</li>
<li>SPACE or f &#8211; forward to the next page</li>
<li>b &#8211; backward to the previous page</li>
<li>e &#8211; forward one line</li>
<li>y &#8211; backward one line</li>
</ul>
<div class="c4">
<p>For some reason, there is no <code>man</code> page for the command <code>cd</code>.</p>
</div>
<h1>Pipes</h1>
<p>Pipes allow you to send the displayed output from one command to another command.</p>
<p>In other words, when you enter a command that displays a bunch of information on the terminal (and maybe scrolls past the top of the terminal), you can use a pipe to send that information to another command.</p>
<p>The most common use of pipes is with the <code>more</code> command. This is especially true when information scrolls past the top of the terminal.</p>
<p>The pipe is the vertical bar (or broken bar) symbol: &#8216;<code>|</code>&#8216;.</p>
<p>For example, any of the following commands is likely display information that will scroll past the top of the terminal:</p>
<pre><code>ls /bin
ls /etc
ls /lib</code></pre>
<p>If we pipe the output to the <code>more</code> command, then we can scroll through the output one display page at a time:</p>
<pre><code>ls /etc | more</code></pre>
<p>Another common use of pipes is with the <code>grep</code> command. (<code>grep</code> is often used to filter out unwanted information &#8211; but I won&#8217;t be covering <code>grep</code> here.)</p>
<p>You can pipe together as many commands as you like. The output from the command on the left of the pipe is sent to the command on the right of the pipe.</p>
<h1>Redirection</h1>
<p>Sometimes you need to capture the information displayed by a command. This is done using redirection.</p>
<p>The output displayed by a command can be sent to a file instead of the display.<./p></p>
<p>The redirection operator is the greater than symbol: &#8216;&#038;gt&#8217;.</p>
<p>For example, suppose I want to dump a <code>man</code> page to file, so I can later look at (or print that file). I can do so by redirecting the <code>man</code> output to a file (you choose the name of the file):</p>
<pre><code>man ls > ls.txt</code></pre>
<p>The above command will send the output of the <code>man</code> page for <code>ls</code> to a file called <u>ls.txt</u>. I can then handle <u>ls.txt</u> the same way I handle any text file.</p>
<p>Another example, I could send a directory listing to a file as well:</p>
<pre><code>ls > directory_list</code></pre>
<p>The above command will send the output of <code>ls</code> to a file called <u>directory_list</u>. Again, the file can be handled the same way any other text file is handled.</p>
<p>Redirection always send stores the file in the current directory (normally, this will be your <code>/home/<i>&lt;user&gt;</i></code> directory). You can write the file to another directory by either (1) changing to a different directory (using the <code>cd</code> command), or (2) specifying the path along with the file name. <strong>Note:</strong> you may not have permission to write in other directories, so the operation will fail.</p>
<h1>more</h1>
<p><code>more</code> is used to display information one page at a time.</p>
<p>Most often it is used in conjunction with pipes to prevent output from scrolling off the top of the terminal:</p>
<pre><code>ls | more</code></pre>
<p><code>more</code> can be used to display the contents of a text file:</p>
<pre><code>more <i>&lt;file name&gt;</i></code></pre>
<p>where <i>&lt;file name&gt;</i> is the name of the text file to display.</p>
<p>To navigate through text being displayed by <code>more</code> you use the following commands:</p>
<ul>
<li>q &#8211; exit (quit) <code>more</code></li>
<li>SPACE or f &#8211; forward to the next page</li>
<li>b &#8211; backward to the previous page (does not work if <code>more</code> is displaying text from a pipe)</li>
<div class="c1">
<p>There is a slightly more useful command called <code>less</code> that allows you to scroll forwards and backwards through piped information. Aside from that difference <code>less</code> behaves very much like <code>more</code>.</p>
<p>You can use <code>man less</code> to learn about the <code>less</code> command</p>
</div>
<h1>ls</h1>
<div class="c1">
<p><code>ls</code> is short for <u>list</u></p>
</div>
<p><code>ls</code> is used to display the contents of a directory.</p>
<p><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2012/12/basic-command-line-techniques-2.png" alt="" border="0" class="centered"/></p>
<p>Directory contents are colour coded. Different files have different colours.</p>
<p>The default colours (in the default Ubuntu 12.04 terminal) for common file types are:</p>
<p><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2012/12/basic-command-line-colours.png" alt="" border="0" class="centered"/></p>
<p>There are other colour combinations in use and some colours (notably purple) are reused for other file types.</p>

<p>The post <a href="https://complete-concrete-concise.com/ubuntu-2/ubuntu-12-04/ubuntu-12-04-basic-command-line-techniques/">Ubuntu 12.04 &#8211; Basic Command Line Techniques</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Why aren&#039;t there Linux Upgrades?</title>
		<link>https://complete-concrete-concise.com/blog/why-arent-there-linux-upgrades/</link>
		
		<dc:creator><![CDATA[richardsplanet]]></dc:creator>
		<pubDate>Mon, 28 Nov 2011 18:43:55 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[edubuntu]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[kde]]></category>
		<category><![CDATA[kubuntu]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[linux mint]]></category>
		<category><![CDATA[lxde]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[xfce]]></category>
		<category><![CDATA[xubuntu]]></category>
		<guid isPermaLink="false">http://complete-concrete-concise.com/blog/why-arent-there-linux-upgrades</guid>

					<description><![CDATA[<p>Over the past few weeks, I&#8217;ve been playing with various Linux distros &#8211; focussing on Ubuntu based distros. After a while, you start to see how similar they all are. In fact, they are just custom tailored versions of Ubuntu (which itself is a custom version of Debian). They come with a customized GUI, have [&#8230;]</p>
<p>The post <a href="https://complete-concrete-concise.com/blog/why-arent-there-linux-upgrades/">Why aren&#039;t there Linux Upgrades?</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Over the past few weeks, I&#8217;ve been playing with various Linux distros &#8211; focussing on Ubuntu based distros.</p>
<p>After a while, you start to see how similar they all are. In fact, they are just custom tailored versions of Ubuntu (which itself is a custom version of Debian). They come with a customized GUI, have their own look and feel (and pretty background picture), but ultimately rely on the Ubuntu Software Center and Software Updates to keep running. One I tried out, Elementary OS, even prompted me to upgrade to Ubuntu 11.04.</p>
<p>Two days ago, Linux Mint, released version 12 of its OS. I thought that was a bad idea. Not because I think there is anything wrong with Linux Mint &#8211; it&#8217;s a fine distro, just like many other Linux distros.</p>
<p>I thought it was a bad idea because the average person isn&#8217;t interested in installing a particular Linux distribution. They are interested in installing an Operating System (OS), applications and using that combination to do work. If they already have a Linux distro installed, then then they aren&#8217;t interested in replacing it, but upgrading it. </p>
<p>This is why Ubuntu was nice. When a new version came along, you could upgrade to it and keep all your data and applications.</p>
<p>When a new Linux distro comes out, you don&#8217;t have the option of upgrading, you have to delete your old installation (along with applications and data), install the new Linux distro, reinstall all the applications you were using and, finally, restore all your data. whew! That is way too much work for the average user.</p>
<p>When Ubuntu 11.10 came out, a lot of people were unhappy that Unity was the default interface (sure, you can change it, I even wrote instructions for it <a href="//complete-concrete-concise.com/blog/ubuntu-11-10-replacing-the-unity-interface">here</a>). It was not possible to roll back the upgrade. This has caused Ubuntu to drop in popularity and other distros (like Linux Mint) to rise in popularity. Unfortunately, if Ubuntu is your main work computer, it has YOUR apps installed, it has YOUR data, it is configured to work the way YOU like it, why in the world would you want to destroy all that just so you can install a different Linux distro? It doesn&#8217;t make sense.</p>
<p>A better option, and one I haven&#8217;t seen exploited, would be to provide &#8220;upgrades&#8221; from one distro to another. If you are unhappy with Ubuntu 11.10 and Unity, then why not be able to &#8220;upgrade&#8221; to Linux Mint 12?</p>
<p>The reason is simple, each distro reflects a different approach or philosophy. Some focus on being lean, others focus on being cutting edge, others focus on being &#8220;pure&#8221; (in the sense of no proprietary software). Being able to install a &#8220;lean&#8221; distro over one considered &#8220;bloated&#8221; would kind of negate the reason for the lean distro to exist.</p>
<p>It could be argued that what I&#8217;m really going on about is just installing a new Window Manager or desktop (like GNOME or KDE or LXDE or XFCE) &#8211; which is pretty much true. Most users don&#8217;t care what&#8217;s under the hood, they care about how they interact with it &#8211; the look and feel.</p>
<p>Is Linux Mint interested in releasing a Linux Mint Desktop package for Ubuntu? Or Elementary OS in releasing an Elementary OS Desktop for Ubuntu? Or any other Ubuntu derivative interested in releasing their desktop to run on Ubuntu? Probably not &#8211; why would they want to position themselves as nothing more than an add-on to Ubuntu? The only Ubuntu derivative desktops you can install on Ubuntu are Edubuntu, Kubuntu, Lubuntu, and Xubuntu (which are all official Ubuntu derivatives).</p>

<p>The post <a href="https://complete-concrete-concise.com/blog/why-arent-there-linux-upgrades/">Why aren&#039;t there Linux Upgrades?</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
