Congratulations!

[Valid RSS] This is a valid RSS feed.

Recommendations

This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

Source: https://itsfoss.com/feed/

  1. <?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:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[It's FOSS]]></title><description><![CDATA[Making You a Better Linux User]]></description><link>https://itsfoss.com/</link><image><url>https://itsfoss.com/favicon.png</url><title>It&apos;s FOSS</title><link>https://itsfoss.com/</link></image><generator>Ghost 5.79</generator><lastBuildDate>Wed, 21 Feb 2024 09:41:52 GMT</lastBuildDate><atom:link href="https://itsfoss.com/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Grep Command Examples]]></title><description><![CDATA[Grep is a useful command to help you quickly search and find through file contents.]]></description><link>https://itsfoss.com/grep-command/</link><guid isPermaLink="false">65cc5521f30830050bcb80eb</guid><category><![CDATA[Linux Commands]]></category><dc:creator><![CDATA[Sagar Sharma]]></dc:creator><pubDate>Tue, 20 Feb 2024 07:13:50 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2024/02/grep-command-examples.png" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2024/02/grep-command-examples.png" alt="Grep Command Examples"><p>&quot;<em>Everything is a file in Linux</em>&quot; and that is the reason most Linux users spend a large chunk of time tinkering the file contents. </p><p>This is where the importance of the grep command plays a crucial role by letting you <strong>search and match patterns within text files</strong> or get an output.</p><p>So in this tutorial, I will walk you through all the essentials required to learn the grep command:</p><ul><li><strong>The basic syntax and popular flags of the command</strong></li><li><strong>Practical examples of the command</strong></li><li><strong>Practice questions for grep command </strong></li></ul><h2 id="heres-how-to-use-the-grep-command">Here&apos;s How to Use the grep command </h2><p>To use the grep command, it is important to know the syntax. </p><p>So here&apos;s the basic syntax of the grep command:</p><pre><code>grep [OPTIONS] PATTERN &lt;Filename&gt;</code></pre><p>Here,</p><ul><li><code>[OPTIONS]</code>: using the given set of options, you can change the default behavior of the grep command such as using the <code>-i</code> enables case-insensitive search.</li><li><code>PATTERN</code>: Here&apos;s where you specify the text you are looking for from the file or the command output. It can also be a regular expression for more complex patterns.</li><li><code>&lt;Filename&gt;</code>: Here you specify the file you want to search within and if you don&apos;t specify any file then it will search from the standard input.</li></ul><p>Now, let&apos;s take a look at some commonly used options with the grep command:</p>
  2. <!--kg-card-begin: html-->
  3. <table>
  4. <thead>
  5. <tr>
  6. <th><strong>Option</strong></th>
  7. <th><strong>Description</strong></th>
  8. </tr>
  9. </thead>
  10. <tbody>
  11. <tr>
  12. <td><code>-i</code></td>
  13. <td>Ignores case sensitivity in the search.</td>
  14. </tr>
  15. <tr>
  16. <td><code>-v</code></td>
  17. <td>Prints lines that don&apos;t match the pattern.</td>
  18. </tr>
  19. <tr>
  20. <td><code>-n</code></td>
  21. <td>Displays the line number of each matching line.</td>
  22. </tr>
  23. <tr>
  24. <td><code>-w</code></td>
  25. <td>Matches only whole words, not parts of words.</td>
  26. </tr>
  27. <tr>
  28. <td><code>-c</code></td>
  29. <td>Counts the number of matching lines, doesn&apos;t print the lines.</td>
  30. </tr>
  31. <tr>
  32. <td><code>-r</code></td>
  33. <td>Searches through directories recursively.</td>
  34. </tr>
  35. <tr>
  36. <td><code>-A n</code></td>
  37. <td>Prints n lines after each matching line.</td>
  38. </tr>
  39. <tr>
  40. <td><code>-B n</code></td>
  41. <td>Prints n lines before each matching line.</td>
  42. </tr>
  43. <tr>
  44. <td><code>-C n</code></td>
  45. <td>Prints n lines before and after each matching line.</td>
  46. </tr>
  47. <tr>
  48. <td><code>-f Filename</code></td>
  49. <td>Reads search patterns from a file, one per line.</td>
  50. </tr>
  51. <tr>
  52. <td><code>-o</code></td>
  53. <td>Prints only the matched part of the line.</td>
  54. </tr>
  55. </tbody>
  56. </table>
  57. <!--kg-card-end: html-->
  58. <p>You might be wondering &#x2014; what happens when you use the grep command without any options? Well, it simply prints the lines containing the pattern.</p><p>For example, here, I want to search for the <code>error</code> keyword within the file named <code>error.log</code> , and without any additional options, it gave me this output:</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/Effect-of-using-the-grep-command-without-any-options.png" class="kg-image" alt="Grep Command Examples" loading="lazy" width="836" height="156" srcset="https://itsfoss.com/content/images/size/w600/2024/02/Effect-of-using-the-grep-command-without-any-options.png 600w, https://itsfoss.com/content/images/2024/02/Effect-of-using-the-grep-command-without-any-options.png 836w" sizes="(min-width: 720px) 720px"></figure><p>Did you see that? It highlights the found pattern and also prints the lines containing the pattern. </p><p>To make this tutorial easy to follow, I will use a sample file named <code>error.log</code> which includes the following lines:</p><pre><code>This is a log file with various messages.
  59. An error occurred at 10:00 AM.
  60. The system encountered an unexpected issue.
  61. Everything is working normally now.
  62. Another error message at 11:30 AM.
  63. Warning: Please check disk usage.
  64. Log closed at 12:00 PM</code></pre><h2 id="practical-examples-of-the-grep-command">Practical examples of the grep command </h2><p>In this section, I cover various examples of the grep command so you can have a better idea of how you can use the grep command. </p><h3 id="1-case-insensitive-search">1. Case-insensitive search</h3><p>By default, the grep command patterns are case-sensitive, and for the most part, it works well, but you may want to turn off the case sensitivity. </p><p>To do so, you can use the <code>-i</code> flag as shown here:</p><pre><code>grep -i PATTERN Filename</code></pre><p>To demonstrate this, I will use <code>ERROR</code> as a search pattern, and it will show matching patterns irrespective of case sensitivity:</p><pre><code>grep -i ERROR error.log</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/case-insensitivity-in-the-grep-command.png" class="kg-image" alt="Grep Command Examples" loading="lazy" width="836" height="156" srcset="https://itsfoss.com/content/images/size/w600/2024/02/case-insensitivity-in-the-grep-command.png 600w, https://itsfoss.com/content/images/2024/02/case-insensitivity-in-the-grep-command.png 836w" sizes="(min-width: 720px) 720px"></figure><h3 id="2-show-n-lines-before-and-after-the-matching-lines">2. Show <code>n</code> lines before and after the matching lines </h3><p>By default, the grep command only prints the matching lines, but sometimes you want the context of the matched lines. So you print the lines before and after the matching lines.</p><h5 id="print-n-lines-before-the-matching-lines">Print <code>n</code> lines before the matching lines </h5><p>To print n number of lines before matching lines, you use the <code>-B</code> flag and specify the number of lines to print as shown here:</p><pre><code>grep -B &lt;number_of_lines&gt; PATTERN Filename</code></pre><p>For example, here, I printed the one line before every matching line:</p><pre><code>grep -B 1 error error.log </code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/Show-lines-before-matching-pattern-in-grep-command.png" class="kg-image" alt="Grep Command Examples" loading="lazy" width="836" height="219" srcset="https://itsfoss.com/content/images/size/w600/2024/02/Show-lines-before-matching-pattern-in-grep-command.png 600w, https://itsfoss.com/content/images/2024/02/Show-lines-before-matching-pattern-in-grep-command.png 836w" sizes="(min-width: 720px) 720px"></figure><h5 id="print-n-lines-after-the-matching-lines">Print <code>n</code> lines after the matching lines </h5><p>To print the n number of lines after the matching lines, you use the <code>-A</code> flag and specify the number of lines as shown here:</p><pre><code>grep -A &lt;number_of_lines&gt; PATTERN Filename</code></pre><p>If I want to print one line after the matching lines, then I will use the following:</p><pre><code>grep -A 1 error error.log</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/Print-lines-after-the-matching-pattern-in-grep-command.png" class="kg-image" alt="Grep Command Examples" loading="lazy" width="836" height="219" srcset="https://itsfoss.com/content/images/size/w600/2024/02/Print-lines-after-the-matching-pattern-in-grep-command.png 600w, https://itsfoss.com/content/images/2024/02/Print-lines-after-the-matching-pattern-in-grep-command.png 836w" sizes="(min-width: 720px) 720px"></figure><h5 id="print-n-lines-before-and-after-matching-lines">Print <code>n</code> lines before and after matching lines </h5><p>If you want to print lines before and after altogether, then you use the <code>-C</code> flag and specify the number of lines to print as shown here:</p><pre><code>grep -C &lt;number_of_lines&gt; PATTERN Filename</code></pre><p>Let&apos;s say I want to display 1 line before and 1 line after the matching pattern line, then I will be using the following:</p><pre><code>grep -C 1 error error.log</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/Print-one-line-before-and-one-line-after-the-matching-pattern-line-using-grep.png" class="kg-image" alt="Grep Command Examples" loading="lazy" width="836" height="239" srcset="https://itsfoss.com/content/images/size/w600/2024/02/Print-one-line-before-and-one-line-after-the-matching-pattern-line-using-grep.png 600w, https://itsfoss.com/content/images/2024/02/Print-one-line-before-and-one-line-after-the-matching-pattern-line-using-grep.png 836w" sizes="(min-width: 720px) 720px"></figure><h3 id="3-show-lines-that-do-not-match-the-pattern">3. Show lines that do not match the pattern</h3><p>For the most part, you&apos;ll be using the grep command to match patterns, but it also allows you to invert the search results. </p><p>In simple terms, you specify the search term, and it will print lines that do not match the given pattern and for that purpose, you use the <code>-v</code> flag as shown here:</p><pre><code>grep -v PATTERN Filename</code></pre><p>For example, if I want to print every line that does not contain the <code>error</code> term, then I will use the following:</p><pre><code>grep -v error error.log</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/print-everything-except-the-given-pattern-using-the-grep-command.png" class="kg-image" alt="Grep Command Examples" loading="lazy" width="836" height="209" srcset="https://itsfoss.com/content/images/size/w600/2024/02/print-everything-except-the-given-pattern-using-the-grep-command.png 600w, https://itsfoss.com/content/images/2024/02/print-everything-except-the-given-pattern-using-the-grep-command.png 836w" sizes="(min-width: 720px) 720px"></figure><h3 id="4-display-the-number-of-matched-lines">4. Display the number of matched lines </h3><p>To display the number of matched lines, all you have to do is use the <code>-n</code> flag as shown:</p><pre><code>grep -n PATTERN Filename</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/display-the-number-of-the-matched-lines-using-the-grep-commadn-in-linux.png" class="kg-image" alt="Grep Command Examples" loading="lazy" width="836" height="151" srcset="https://itsfoss.com/content/images/size/w600/2024/02/display-the-number-of-the-matched-lines-using-the-grep-commadn-in-linux.png 600w, https://itsfoss.com/content/images/2024/02/display-the-number-of-the-matched-lines-using-the-grep-commadn-in-linux.png 836w" sizes="(min-width: 720px) 720px"></figure><h3 id="5-display-the-total-number-of-matched-results">5. Display the total number of matched results </h3><p>If you want to know the number of matched results, then you can use the <code>-c</code> flag as shown:</p><pre><code>grep -c PATTERN Filename</code></pre><p>For example, here, I wanted to find how many times the term <code>error</code> is mentioned in the <code>error.log</code> file, so I used the following command:</p><pre><code>grep -c error error.log</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/Find-the-number-of-matched-results-via-grep.png" class="kg-image" alt="Grep Command Examples" loading="lazy" width="836" height="139" srcset="https://itsfoss.com/content/images/size/w600/2024/02/Find-the-number-of-matched-results-via-grep.png 600w, https://itsfoss.com/content/images/2024/02/Find-the-number-of-matched-results-via-grep.png 836w" sizes="(min-width: 720px) 720px"></figure><h3 id="6-search-for-a-pattern-in-multiple-files">6. Search for a pattern in multiple files </h3><p>If you wish to search for a pattern from multiple files, then all you have to do is append multiple files to search, as shown here:</p><pre><code>grep PATTERN File1 File2</code></pre><p>For example, here, I searched for the <code>error</code> string from two files: <code>error.log</code> and <code>error.txt</code> and it gave me the following output:</p><pre><code>grep error error.log error.txt</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/Search-pattern-from-the-multiple-files-using-the-grep-command.png" class="kg-image" alt="Grep Command Examples" loading="lazy" width="836" height="195" srcset="https://itsfoss.com/content/images/size/w600/2024/02/Search-pattern-from-the-multiple-files-using-the-grep-command.png 600w, https://itsfoss.com/content/images/2024/02/Search-pattern-from-the-multiple-files-using-the-grep-command.png 836w" sizes="(min-width: 720px) 720px"></figure><h3 id="7-search-pattern-from-every-file-in-the-directory">7. Search pattern from every file in the directory </h3><p>If you want to search for a specific pattern from every file present in the directory, then you can use the grep command recursively, and it will search the given pattern from every file present in that specific directory.</p><p>To enable recursive search, use the <code>-r</code> flag as shown:</p><pre><code>grep -r PATTERN &lt;Directory or path to directory&gt;</code></pre><p>For example, here, I have searched for the <code>error</code> string in the current directory:</p><pre><code>grep -r error .</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/recursive-search-using-the-grep-command.png" class="kg-image" alt="Grep Command Examples" loading="lazy" width="836" height="198" srcset="https://itsfoss.com/content/images/size/w600/2024/02/recursive-search-using-the-grep-command.png 600w, https://itsfoss.com/content/images/2024/02/recursive-search-using-the-grep-command.png 836w" sizes="(min-width: 720px) 720px"></figure><h3 id="8-search-for-the-exact-word">8. Search for the exact word </h3><p>By default, the grep command will print all the matching patterns, which is not what you always want. Sounds strange? Allow me to explain.</p><p>Suppose you want to search for the term <code>Orange</code> but if the specific file also contains the term <code>Oranges</code> then the line containing the term <code>Oranges</code> will also be shown as an output.</p><p>To overcome this problem, you can use the <code>-w</code> option and specify the pattern:</p><pre><code>grep -w PATTERN Filename</code></pre><p>For example, here, I intend to find the term <code>err</code> so I will use the <code>-w</code> flag and will also show you the difference between what happens when you don&apos;t use it.</p><pre><code>grep -w err error.log</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/Find-the-exact-word-using-the-grep-command.png" class="kg-image" alt="Grep Command Examples" loading="lazy" width="836" height="176" srcset="https://itsfoss.com/content/images/size/w600/2024/02/Find-the-exact-word-using-the-grep-command.png 600w, https://itsfoss.com/content/images/2024/02/Find-the-exact-word-using-the-grep-command.png 836w" sizes="(min-width: 720px) 720px"></figure><p>When I used the <code>-w</code> flag to find the <code>err</code> string, it returned no results, as it does not exist.</p><p>But in the second attempt where I removed the <code>-w</code> flag, it returned two results displaying content where the string pattern is a part of another string (not separate).</p><h3 id="9-use-regex-pattern-for-advanced-search">9. Use regex pattern for advanced search</h3><p>If the normal search is not doing justice, then you can use the regex pattern (<em>sequence of characters</em>) to have better control over your search. You can use the <code>-e</code> flag to use the regex pattern, whereas <code>-E</code> let you use the extended regex:</p><pre><code>grep -e/-E PATTERN Filename</code></pre><p>For example, here I have used the extended regex to find two vowels used together in the file:</p><pre><code>grep -e &apos;[aeiouAEIOU]{2}&apos; error.log</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/Use-regex-with-grep-command.png" class="kg-image" alt="Grep Command Examples" loading="lazy" width="836" height="176" srcset="https://itsfoss.com/content/images/size/w600/2024/02/Use-regex-with-grep-command.png 600w, https://itsfoss.com/content/images/2024/02/Use-regex-with-grep-command.png 836w" sizes="(min-width: 720px) 720px"></figure><p><strong>Suggested Read &#x1F4D6;</strong></p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://linuxhandbook.com/find-with-regex/?ref=itsfoss.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Find Command in Linux With Regex [5 Examples]</div><div class="kg-bookmark-description">Enable the beast mode of the find command by using regex for your search.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://linuxhandbook.com/content/images/size/w256h256/2021/08/Linux-Handbook-New-Logo.png" alt="Grep Command Examples"><span class="kg-bookmark-author">Linux Handbook</span><span class="kg-bookmark-publisher">Sagar Sharma</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://linuxhandbook.com/content/images/2022/10/find-regex.png" alt="Grep Command Examples"></div></a></figure><h3 id="10-specify-multiple-patterns-using-the-or-operator">10. Specify multiple patterns using the OR operator </h3><p>You can use the OR operator to specify multiple patterns, which is quite helpful when you want to search for multiple patterns efficiently. </p><p>To specify multiple patterns, use the OR operator (|) in the following manner:</p><pre><code>grep &apos;PATTERN_1\|PATTERN_2&apos; Filename</code></pre><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">&#x1F4A1;</div><div class="kg-callout-text">You can press Shift + Backslash key to get the OR operator.</div></div><p>Let&apos;s say I wish to look for two patterns: <code>error</code> and <code>Please</code> then I will be using the following:</p><pre><code>grep &apos;error\|Please&apos; error.log</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/Use-multiple-patterns-with-the-grep-command.png" class="kg-image" alt="Grep Command Examples" loading="lazy" width="836" height="176" srcset="https://itsfoss.com/content/images/size/w600/2024/02/Use-multiple-patterns-with-the-grep-command.png 600w, https://itsfoss.com/content/images/2024/02/Use-multiple-patterns-with-the-grep-command.png 836w" sizes="(min-width: 720px) 720px"></figure><h2 id="practice-questions-%F0%9F%93%93">Practice questions &#x1F4D3;</h2><p>Practicing is the best way you can learn, and that&apos;s why I&apos;m about to share some practice questions for the grep command.</p><p>You can use the <code>error.log</code> file which I mentioned at the beginning of this guide to solve the following questions:</p><ol><li>Find the <code>error</code> string from every file present in your working directory.</li><li>Find lines that do not contain the term <code>success</code>.</li><li>Search for lines in a file that contain either <code>error</code> or <code>issue</code>.</li><li>Find the term <code>log</code> by disabling case-sensitive search and redirecting the output to a file.</li><li>How do you print only the last 2 results ignoring everything else? (Hint: <a href="https://linuxhandbook.com/tail-command/?ref=itsfoss.com" rel="noreferrer">use the tail command</a>)</li></ol><p>If you discover any difficulties solving the above problems, reach out to us through the comments or post your query in <a href="https://itsfoss.community/?ref=itsfoss.com" rel="noreferrer">our community forum.</a></p><p>You can download a <a href="https://linuxhandbook.com/grep-command-cheatsheet/?ref=itsfoss.com" rel="noreferrer">grep command cheat sheet</a> for more examples and info:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://linuxhandbook.com/grep-command-cheatsheet/?ref=itsfoss.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Grep Command Cheat Sheet With Examples [Free PDF Download]</div><div class="kg-bookmark-description">Here are some practical and common use cases of the grep command. You can also download the cheat sheet for quick reference.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://linuxhandbook.com/content/images/size/w256h256/2021/08/Linux-Handbook-New-Logo.png" alt="Grep Command Examples"><span class="kg-bookmark-author">Linux Handbook</span><span class="kg-bookmark-publisher">Abhishek Prakash</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://linuxhandbook.com/content/images/2022/02/grep-quick-reference.png" alt="Grep Command Examples"></div></a></figure><h2 id="are-you-an-advanced-user-try-ripgrep">Are You An Advanced User? Try ripgrep</h2><p>The ripgrep command does everything the grep command does but has some additional benefits like performance and features including the ability to search within the zip file.</p><p>Sounds cool? Here&apos;s <a href="https://linuxhandbook.com/ripgrep/?ref=itsfoss.com" rel="noreferrer">how to install and use ripgrep in Linux</a>:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://linuxhandbook.com/ripgrep/?ref=itsfoss.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Using ripgrep Command in Linux</div><div class="kg-bookmark-description">Rust based ripgrep may not be an exact replacement for the classic grep command, it provides plenty of useful search features like the grep command.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://linuxhandbook.com/content/images/size/w256h256/2021/08/Linux-Handbook-New-Logo.png" alt="Grep Command Examples"><span class="kg-bookmark-author">Linux Handbook</span><span class="kg-bookmark-publisher">Team LHB</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://linuxhandbook.com/content/images/2022/04/how-to-use-ripgrep.png" alt="Grep Command Examples"></div></a></figure><p>Moreover, if you are new to Linux, I suggest you to also go through our <a href="https://itsfoss.com/tag/terminal-basics/" rel="noreferrer">command tutorial for beginners</a>.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/tag/terminal-basics/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Linux Command Tutorials for Absolute Beginners</div><div class="kg-bookmark-description">Never used Linux commands before? No worries. This tutorial series is for absolute beginners to the Linux terminal.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png" alt="Grep Command Examples"><span class="kg-bookmark-author">It&apos;s FOSS</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/2023/03/terminal-basics-series-tag.png" alt="Grep Command Examples"></div></a></figure><p>&#x1F4AC;<em>Share your thoughts on the command, your experience with it, and what do you prefer as an alternative to grep?</em></p>]]></content:encoded></item><item><title><![CDATA[How to Remove Password from PDF Files in Linux]]></title><description><![CDATA[A neat trick to get rid of the annoyance of entering the password each time you open a password protected file.]]></description><link>https://itsfoss.com/remove-pdf-password-linux/</link><guid isPermaLink="false">65cce56bf30830050bcb82d4</guid><category><![CDATA[Tips 💡]]></category><dc:creator><![CDATA[Abhishek Prakash]]></dc:creator><pubDate>Mon, 19 Feb 2024 07:20:28 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2024/02/remove-password-from-pdf-file.png" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2024/02/remove-password-from-pdf-file.png" alt="How to Remove Password from PDF Files in Linux"><p>The other day, I received a PDF file which was password protected. I also received the password of the file.</p><p>Now, when I open this PDF file, it asks to enter the password first. The default document viewer gives the option to save the password to avoid entering it again and again. However, the PDF will still be required if the file is to be read on some other device or if I want to transfer the file to my Kindle.</p><p>Thankfully, it is fairly easy to &apos;remove&apos; password from a password protected PDF file. Actually, you create a new password-less version of the file.</p><p>I&apos;ll share two methods for getting this task done:</p><ul><li>GUI method that uses Evince document viewer</li><li>CLI method that uses qpdf CLI tool</li></ul><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">&#x1F6A7;</div><div class="kg-callout-text">This tutorial is NOT about cracking a password protected PDF file. It works when you have the password of the PDF file but do not want to enter it every time you open it. </div></div><h2 id="gui-method-remove-password-from-pdf-using-evince-document-reader">GUI Method: Remove password from PDF using Evince document reader</h2><p>Ubuntu and many other distributions come with the <a href="https://wiki.gnome.org/Apps/Evince?ref=itsfoss.com">Evince document reader app</a> installed. It is usually displayed as &apos;Document Viewer&apos; in the GNOME desktop environment.</p><p>If you do not have it installed, please install it using the package manager or software center of your distribution.</p><p>Open the PDF file in the Document Viewer. Enter the password of the document when asked.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/unlock-password-protected-pdf-linux.png" class="kg-image" alt="How to Remove Password from PDF Files in Linux" loading="lazy" width="1107" height="651" srcset="https://itsfoss.com/content/images/size/w600/2024/02/unlock-password-protected-pdf-linux.png 600w, https://itsfoss.com/content/images/size/w1000/2024/02/unlock-password-protected-pdf-linux.png 1000w, https://itsfoss.com/content/images/2024/02/unlock-password-protected-pdf-linux.png 1107w" sizes="(min-width: 720px) 720px"></figure><p>The PDF document will be open for reading now. However, you have a different motive here. </p><p>Click on the hamburger menu in the top-right corner and click the print icon. You could also use the Ctrl+P keyboard shortcut.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/print-option-in-pdf-document-viewer.png" class="kg-image" alt="How to Remove Password from PDF Files in Linux" loading="lazy" width="925" height="712" srcset="https://itsfoss.com/content/images/size/w600/2024/02/print-option-in-pdf-document-viewer.png 600w, https://itsfoss.com/content/images/2024/02/print-option-in-pdf-document-viewer.png 925w" sizes="(min-width: 720px) 720px"></figure><p>It will give you the option to print the document. What you have to do here is to select &apos;Print to file&apos; option. This option is also available as &apos;Print to PDF&apos; at times. This will save a copy of the document as PDF.</p><p>You may also choose the location and name of the unlocked output file.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/print-document-to-file-1.png" class="kg-image" alt="How to Remove Password from PDF Files in Linux" loading="lazy" width="698" height="557" srcset="https://itsfoss.com/content/images/size/w600/2024/02/print-document-to-file-1.png 600w, https://itsfoss.com/content/images/2024/02/print-document-to-file-1.png 698w"></figure><p>It will show a notification that it is &apos;printing the file&apos; but it is actually creating the new PDF file.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2024/02/saving-pdf-by-printing-it.png" class="kg-image" alt="How to Remove Password from PDF Files in Linux" loading="lazy" width="865" height="652" srcset="https://itsfoss.com/content/images/size/w600/2024/02/saving-pdf-by-printing-it.png 600w, https://itsfoss.com/content/images/2024/02/saving-pdf-by-printing-it.png 865w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Unlocked PDF file being created but you&apos;ll see it as Printing Job</span></figcaption></figure><p>Once the process is done, you can go to the output PDF file, double click on it to open it and enjoy the PDF file without password.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x1F4CB;</div><div class="kg-callout-text">I think that the default PDF document viewer apps in many other desktop environments are also capable of this. You are welcome to explore it in your choice of desktop environments.</div></div><h2 id="cli-method-remove-password-from-pdf-file-using-qpdf-command">CLI Method: Remove password from PDF file using qpdf command</h2><p>You can use the <code>qpdf</code> utility in the terminal to remove the password from the PDF file (if you know it). <strong><em>You may have to install it first.</em></strong></p><p>The syntax is quite simple:</p><pre><code>qpdf --password=PDF-PASSWORD --decrypt input_pdf output_pdf
  65. </code></pre><p>Here, you have to replace PDF-PASSWORD with the password of the PDF file, input_pdf with the password-protected PDF file&apos;s name and path (if required). Similarly, you should replace output_pdf with an appropriate PDF file name.</p><p>When I tested this command, its output showed me some warnings but the resulted PDF file worked just fine.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/removing-passowrd-from-pdf-linux.png" class="kg-image" alt="How to Remove Password from PDF Files in Linux" loading="lazy" width="1108" height="582" srcset="https://itsfoss.com/content/images/size/w600/2024/02/removing-passowrd-from-pdf-linux.png 600w, https://itsfoss.com/content/images/size/w1000/2024/02/removing-passowrd-from-pdf-linux.png 1000w, https://itsfoss.com/content/images/2024/02/removing-passowrd-from-pdf-linux.png 1108w" sizes="(min-width: 720px) 720px"></figure><p>There are many other command line utilities that can do the same job. For example, you can use the pdftk tool:</p><pre><code>pdftk input_pdf output output_pdf user_pw PDF-PASSWORD
  66. </code></pre><h2 id="conclusion">Conclusion</h2><p>As you can see, it is fairly easy to remove the password from PDF files. Of course, it won&apos;t work if you do not know the password of the file in the first place. This is more for removing the annoyance of entering passwords again and again.</p><p>I hope you liked this quick tip. Let me know in the comments if you have any questions.</p>]]></content:encoded></item><item><title><![CDATA[FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More]]></title><description><![CDATA[Open source rival to Twitter, a hyped new terminal and a cool new Brave/Chrome feature among many other things.]]></description><link>https://itsfoss.com/newsletter/foss-weekly-24-07/</link><guid isPermaLink="false">65caf4b6f30830050bcb7d99</guid><category><![CDATA[Newsletter ✉️]]></category><dc:creator><![CDATA[Abhishek Prakash]]></dc:creator><pubDate>Thu, 15 Feb 2024 11:28:24 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2024/02/foss-weekly-24-07.png" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2024/02/foss-weekly-24-07.png" alt="FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More"><p>Twitter&apos;s open source rival BlueSky is now open for all. It is based on the <a href="https://atproto.com/?ref=itsfoss.com">AT Protocol</a>. And <a href="https://bsky.app/profile/itsfoss.bsky.social?ref=itsfoss.com">It&apos;s FOSS is already on this new platform</a>. We got to try new things, right?</p><p>Speaking of new things, there is a new Rust-based terminal that is generating quite a buzz in various coding communities on the web. It is called <a href="https://www.warp.dev/linux-terminal?utm_source=its_foss&amp;utm_medium=newsletter&amp;utm_campaign=linux_launch" rel="noreferrer">Warp</a> and it brings IDE-styled editor to the terminal. </p><p>It is not open source and it is not available to everyone on Linux yet. However, I have got my hands it and soon I&apos;ll be checking if it&apos;s really worth all the hype. Afterwards, I&apos;ll share my experience with you, hopefully next week. If interested, you can check out its other promised features from its website below.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://www.warp.dev/linux-terminal?utm_source=its_foss&amp;utm_medium=newsletter&amp;utm_campaign=linux_launch"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Linux Terminal</div><div class="kg-bookmark-description">The modern, Rust-based command line terminal with AI built in. Now available in beta for Linux. Join the waitlist today.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://assets-global.website-files.com/64b6f3636f598299028e8577/64b6ff9f4bb4e174f770ceb1_Favicon%20-%20Warp.png" alt="FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More"><span class="kg-bookmark-author">Warp logo</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://storage.googleapis.com/website-image-preview/www_warp_dev.png" alt="FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More"></div></a></figure><p><strong>&#x1F4AC; Let&apos;s see what else you get in this edition of FOSS Weekly:</strong></p><ul><li>Fedora rebranding some of their spins.</li><li>Intel is changing the names of their processors.</li><li>Firefox has a new privacy-focused offering.</li><li>Ankush switched to Fedora from Ubuntu and now he is going back.</li><li>Canonical pushing for more Snaps in Ubuntu 24.04.</li><li>And other Linux news, videos and, of course, memes!</li></ul><hr><h2 id="%F0%9F%93%B0-linux-news">&#x1F4F0; Linux news</h2><ul><li>SparkyLinux 2024.02 is here with <a href="https://news.itsfoss.com/sparky-2024-02-release/?ref=itsfoss.com" rel="noreferrer">important tweaks</a> and fixes.</li><li>BlueSky is now <a href="https://news.itsfoss.com/bluesky-open/?ref=itsfoss.com" rel="noreferrer">open for everyone</a> to join, there&apos;s no need for an invite anymore.</li><li>Thunderbird <a href="https://news.itsfoss.com/thunderbird-snap/?ref=itsfoss.com" rel="noreferrer">will be offered</a> as a Snap on the upcoming Ubuntu 24.04 LTS release.</li><li>Fedora Atomic Desktops is the <a href="https://news.itsfoss.com/fedora-atomic-desktops/?ref=itsfoss.com" rel="noreferrer">new family</a> of spins that features some popular existing Fedora spins.</li><li>Mozilla has launched a new <a href="https://news.itsfoss.com/mozilla-monitor-plus/?ref=itsfoss.com" rel="noreferrer">Plus tier</a> for their Monitor service that deletes personal data from over 190 data brokers.</li></ul><p>The Linux Foundation has formed an alliance with some influential organizations to tackle Post-Quantum Cryptography.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://news.itsfoss.com/linux-foundation-quantum/?ref=itsfoss.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">The Linux Foundation Creates an Alliance to Work On Post-Quantum Cryptography</div><div class="kg-bookmark-description">The Linux Foundation launches an exciting endeavor for post-quantum cryptography.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://news.itsfoss.com/content/images/size/w256h256/2022/08/android-chrome-192x192.png" alt="FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More"><span class="kg-bookmark-author">It&apos;s FOSS News</span><span class="kg-bookmark-publisher">Sourav Rudra</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://news.itsfoss.com/content/images/2024/02/linux-foundation-quantum-alliance.png" alt="FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More"></div></a></figure><hr><h2 id="%F0%9F%8C%90-follow-us-on-google-news">&#x1F310; Follow us on Google News</h2><p>By the way, if you use Google,&#xA0;<a href="https://news.google.com/publications/CAAiENHoh-T8yP9Q8Qywor2dwGkqFAgKIhDR6Ifk_Mj_UPEMsKK9ncBp?ref=itsfoss.com">follow It&apos;s FOSS on Google News</a>&#xA0;to get trusted It&apos;s FOSS content before other websites in Google search.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://news.google.com/publications/CAAiENHoh-T8yP9Q8Qywor2dwGkqFAgKIhDR6Ifk_Mj_UPEMsKK9ncBp?ref=itsfoss.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">It&#x2019;s FOSS - Google News</div><div class="kg-bookmark-description">Read full articles from It&#x2019;s FOSS and explore endless topics, magazines and more on your phone or tablet with Google News.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://ssl.gstatic.com/gnews/logo/google_news_192.png" alt="FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More"><span class="kg-bookmark-author">Google News</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://lh3.googleusercontent.com/8BtTTnoAEYry0KuwC0nPq5U_GERPzo_DTNxmR3FEzmJQxtUaUndM6ydGtZSnIorEoCSILMmf9g=rj-c-w300-h300-l95-c0xffffff" alt="FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More"></div></a></figure><hr><h2 id="%F0%9F%A7%A0-what-we%E2%80%99re-thinking-about">&#x1F9E0; What we&#x2019;re thinking about</h2><p>Linux, but in space! Learn how our favorite kernel is being used to power spacecrafts. </p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://hackaday.com/2024/02/10/the-usage-of-embedded-linux-in-spacecraft/?ref=itsfoss.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">The Usage Of Embedded Linux In Spacecraft</div><div class="kg-bookmark-description">As the first part of a series, [George Emad] takes us through a few examples of the Linux operating system being used in spacecraft. These range from SpaceX&#x2019;s Dragon capsule to everyone&amp;#8217&#x2026;</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://hackaday.com/wp-content/themes/hackaday-2/img/hackaday-logo_1024x1024.png?v=3" alt="FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More"><span class="kg-bookmark-author">Hackaday</span><span class="kg-bookmark-publisher">Maya Posch</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://hackaday.com/wp-content/uploads/2021/04/perseverance-ingenuity-selfie.jpg" alt="FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More"></div></a></figure><hr><h2 id="%F0%9F%A7%AE-linux-tips-tutorials-and-more">&#x1F9EE; Linux Tips, Tutorials and More</h2><p>If you are an Android user, here are some open source Android apps you could explore and use.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/open-source-android-apps/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">40+ Best Open Source Android Apps</div><div class="kg-bookmark-description">The best open source Android apps. Replace the proprietary options to enjoy a potentially better experience!</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png" alt="FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Ankush Das</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/2023/02/best-foss-android-apps.png" alt="FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More"></div></a></figure><p>Learn how to properly use UARTs to debug a Raspberry Pi.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/use-uart-raspberry-pi/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Using a USB Serial Adapter (UART) to Help Debug Raspberry Pi</div><div class="kg-bookmark-description">A UART attached to your Raspberry Pi can help you troubleshoot issues with your Raspberry Pi. Here&#x2019;s what you need to know.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png" alt="FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Pratham Patel</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/2024/02/debug-raspberry-pi-with-usb-adapter.png" alt="FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More"></div></a></figure><p>Thereafter, you can see how the &#x201C;Cut&#x201D; command works in Linux.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/cut-command/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Cut Command Examples in Linux</div><div class="kg-bookmark-description">The Cut command lets you extract a part of the file to print without affecting the original file. Learn more here.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png" alt="FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Sagar Sharma</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/2024/02/cut-command-in-linux.png" alt="FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More"></div></a></figure><p>Learn about the changes Intel is brining to its processor names.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/intel-processor-naming/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Intel Processor Naming Changes: All You Need to Know</div><div class="kg-bookmark-description">Intel makes things confusing, I guess. Let&#x2019;s try making the processor naming changes simpler.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png" alt="FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Ankush Das</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/2024/02/intel-processors-naming-changes.png" alt="FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More"></div></a></figure><hr><h2 id="%F0%9F%93%B9-what-we-are-watching">&#x1F4F9; What we are watching</h2><p>Torvalds talking about Rust (2 months old video).</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/OvuEYtkOH88?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen title="Keynote: Linus Torvalds, Creator of Linux &amp; Git, in Conversation with Dirk Hohndel"></iframe></figure><hr><h2 id="%E2%9C%A8-project-highlights">&#x2728; Project highlights</h2><p>This is how Fedora fared for a long-time Ubuntu user. Hint: It didn&apos;t go as planned.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://news.itsfoss.com/fedora-ubuntu-switch/?ref=itsfoss.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">I Switched to Fedora From Ubuntu: Going Back Again!</div><div class="kg-bookmark-description">Here&#x2019;s how it went with the switch to Fedora.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://news.itsfoss.com/content/images/size/w256h256/2022/08/android-chrome-192x192.png" alt="FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More"><span class="kg-bookmark-author">It&apos;s FOSS News</span><span class="kg-bookmark-publisher">Ankush Das</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://news.itsfoss.com/content/images/2024/02/fedora-switch.png" alt="FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More"></div></a></figure><p>And an interesting AI-based open source project for creating digital avatars.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://news.itsfoss.com/instantid/?ref=itsfoss.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">This Open-Source AI Tech Generates Personalised Digital Avatars</div><div class="kg-bookmark-description">A pretty cool open-source AI project.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://news.itsfoss.com/content/images/size/w256h256/2022/08/android-chrome-192x192.png" alt="FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More"><span class="kg-bookmark-author">It&apos;s FOSS News</span><span class="kg-bookmark-publisher">Rishabh Moharir</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://news.itsfoss.com/content/images/2024/02/instantid.png" alt="FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More"></div></a></figure><hr><h2 id="%F0%9F%A7%A9-new-quiz-unit">&#x1F9E9; New quiz unit</h2><p>You love Firefox, don&apos;t you? How about playing this quiz and &apos;saving Firefox&apos;?</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/quiz/saving-firefox/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Save Firefox With This Knowledge Test</div><div class="kg-bookmark-description">Do you think you can save Firefox? Free your favorite open-source browser by testing your knowledge!</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png" alt="FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Ankush Das</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/2024/02/Firefox.png" alt="FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More"></div></a></figure><hr><h2 id="%F0%9F%92%A1-quick-handy-tip">&#x1F4A1; Quick handy tip</h2><p>Did you know that you could check the memory usage of an active tab on the Brave browser by just hovering on one? I think it&apos;s a recent feature added to Chromium and it probably works with other Chromium-based browsers as well.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/brave-memory-tab-usage.gif" class="kg-image" alt="FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More" loading="lazy" width="1068" height="571" srcset="https://itsfoss.com/content/images/size/w600/2024/02/brave-memory-tab-usage.gif 600w, https://itsfoss.com/content/images/size/w1000/2024/02/brave-memory-tab-usage.gif 1000w, https://itsfoss.com/content/images/2024/02/brave-memory-tab-usage.gif 1068w" sizes="(min-width: 720px) 720px"></figure><hr><h2 id="%F0%9F%A4%A3-meme-of-the-week">&#x1F923; Meme of the week</h2><p>K is for KDE. That&apos;s the (k)law, right?</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/kde-meme.jpg" class="kg-image" alt="FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More" loading="lazy" width="640" height="555" srcset="https://itsfoss.com/content/images/size/w600/2024/02/kde-meme.jpg 600w, https://itsfoss.com/content/images/2024/02/kde-meme.jpg 640w"></figure><hr><h2 id="%F0%9F%97%93%EF%B8%8F-tech-trivia">&#x1F5D3;&#xFE0F; Tech Trivia</h2><p>The first fully electronic computer (as compared to electro-mechanical designs) ENIAC unveiled at the University of Pennsylvania on 14 February 1946. It occupied over 1,500 square feet of space, weighed 30 tons, and used 18,000 vacuum tubes. </p><hr><h2 id="%F0%9F%A7%91%E2%80%8D%F0%9F%A4%9D%E2%80%8D%F0%9F%A7%91-fossverse-corner">&#x1F9D1;&#x200D;&#x1F91D;&#x200D;&#x1F9D1; FOSSverse corner</h2><p>One of our longtime FOSSer and an It&apos;s FOSS Plus member, Ernie, is taking steps to switch to Solus Linux from Windows. Got any advice?</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.community/t/today-i-take-the-next-step-in-my-journey-to-replace-windows-with-solus-linux/11707?ref=itsfoss.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Today I take the next step in my journey to replace Windows with Solus Linux</div><div class="kg-bookmark-description">Begin Rant: Recently, I have been very unhappy with the direction Microsoft has been taking as a corporation, and with Windows. As a corporation, I&#x2019;m seeing shades of the Microsoft of old emerging. I find their all-in attitude toward AI, and their penchant to integrate it into all the apps they include with their OS, very disturbing. As far as I&#x2019;m concerned, AI is a two-sided sword. On the positive side, it offers the potential to be a great boon to humanity. On the other hand, it poses an equ&#x2026;</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.community/uploads/default/optimized/1X/f274f9749e3fd8b4d6fbae1cf90c5c186d2f699c_2_180x180.png" alt="FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More"><span class="kg-bookmark-author">It&apos;s FOSS Community</span><span class="kg-bookmark-publisher">ernie</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.community/uploads/default/original/1X/f274f9749e3fd8b4d6fbae1cf90c5c186d2f699c.png" alt="FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More"></div></a></figure><hr><h2 id="%E2%9D%A4%EF%B8%8F-with-love">&#x2764;&#xFE0F; With love</h2><p><strong>Share it with your Linux-using friends</strong>&#xA0;and encourage them to subscribe (hint:&#xA0;<a href="https://itsfoss.com/newsletter/">it&apos;s here</a>).</p><p>Share the articles in Linux Subreddits and community forums.</p><p>Opt for&#xA0;<a href="https://itsfoss.com/membership">It&apos;s FOSS Plus membership</a>&#xA0;and support us &#x1F64F;</p><p>Enjoy using Linux &#x1F604;</p>]]></content:encoded></item><item><title><![CDATA[Intel Processor Naming Changes: All You Need to Know]]></title><description><![CDATA[Intel makes things confusing, I guess. Let's try making the processor naming changes simpler.]]></description><link>https://itsfoss.com/intel-processor-naming/</link><guid isPermaLink="false">65a77e33f30830050bc8cb73</guid><category><![CDATA[Explain]]></category><dc:creator><![CDATA[Ankush Das]]></dc:creator><pubDate>Wed, 14 Feb 2024 10:04:10 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2024/02/intel-processors-naming-changes.png" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2024/02/intel-processors-naming-changes.png" alt="Intel Processor Naming Changes: All You Need to Know"><p>Whenever a product name or branding changes, it is always confusing. And, Intel has made sure that their product lineup is no longer as simple to grasp.</p><p>Every so often we cannot get over with the naming we are comfortable with, or maybe the new one is no longer straightforward to remember. In this case, it is more about the later part.</p><p>Intel processors got a naming and branding revamp. So, if you are going to stick calling them &quot;i3&quot; or &quot;i9&quot; processors, you might end up purchasing the wrong chip for your use-case.</p><p>So, how do you different the newer processors, entry-level ones, and performance-focused chips? </p><p>Here, I decode all the different naming schemes for active Intel chips.</p><h2 id="new-processor-names-%F0%9F%96%A5%EF%B8%8F">New Processor Names &#x1F5A5;&#xFE0F;</h2><p><strong>Some processor names are dropping the &quot;i&quot; from the naming scheme</strong>. While the number stay the same with 3, 5, 7, and 9 respectively representing the hierarchy, there&apos;s no &quot;i&quot; as the prefix to the numbering &#x1F62E;</p><p>In addition to the change, you will no longer have Intel Pentium and Celeron line up. The essential processors (or the entry-level ones) have a different series name.</p><p>So, let me take a top-down approach to inform you about all the processors in the order of higher capabilities.</p><ul><li><strong>Intel Core Ultra Processors</strong></li><li><strong>Intel Core Processors (Series 1)</strong></li><li><strong>Intel 14th-gen Core Desktop Processors</strong></li><li><strong>Intel Processor</strong></li><li><strong>Intel Processor N-Series</strong></li><li><strong>Intel Pentium Silver and Gold Processors</strong></li><li><strong>Intel Celeron Processors</strong></li></ul><h2 id="the-intel-core-ultra-processors">The Intel Core Ultra Processors</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2024/02/intel-ultra-core.png" class="kg-image" alt="Intel Processor Naming Changes: All You Need to Know" loading="lazy" width="1920" height="1080" srcset="https://itsfoss.com/content/images/size/w600/2024/02/intel-ultra-core.png 600w, https://itsfoss.com/content/images/size/w1000/2024/02/intel-ultra-core.png 1000w, https://itsfoss.com/content/images/size/w1600/2024/02/intel-ultra-core.png 1600w, https://itsfoss.com/content/images/2024/02/intel-ultra-core.png 1920w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Image Credit: Intel</span></figcaption></figure><p>The Intel Core Ultra processors come equipped with a new 3D performance hybrid design which includes NPU (Neural Processing Units) and may have Arc GPU  for AI acceleration.</p><p>The Core Ultra processors are built for enthusiasts and professionals on top the newer Meteor Lake CPU architecture. </p><p>The processor family includes <strong>Intel Core Ultra 5, Intel Core Ultra 7, Intel Core Ultra 9.</strong></p><p>You may notice processor names with suffixes H and U, where H signifies a high-performance chip, and U is the standard.</p><p><strong>Examples include</strong>: <em>Intel Core&#x2122; Ultra 7 processor 165H and Intel Core&#x2122; Ultra 5 processor 135U.</em></p><h2 id="the-intel-core-processors-series-1">The Intel Core processors (Series 1)</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2024/02/intel-series-1.png" class="kg-image" alt="Intel Processor Naming Changes: All You Need to Know" loading="lazy" width="1920" height="1080" srcset="https://itsfoss.com/content/images/size/w600/2024/02/intel-series-1.png 600w, https://itsfoss.com/content/images/size/w1000/2024/02/intel-series-1.png 1000w, https://itsfoss.com/content/images/size/w1600/2024/02/intel-series-1.png 1600w, https://itsfoss.com/content/images/2024/02/intel-series-1.png 1920w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Image Credit: Intel</span></figcaption></figure><p>The usual core i3, i5, and i7 processors will now be designated simply as &quot;<strong>Intel Core 3</strong>&quot; or &quot;Intel Core 7&quot; with a three-digit number.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x1F4CB;</div><div class="kg-callout-text">A smallcase &quot;p&quot; is used for processor here.</div></div><p><strong>This applies to laptops only for now.</strong></p><p>Intel mentions &quot;Series 1&quot; here while dropping the generational scheme (like i5-11600K) which denoted the 11th Gen.</p><p>Compared to Intel Ultra Core Processors, <strong>the Intel Core Processors will have an older architecture</strong>. That&apos;s one difference to note.</p><p>The processor name will look like: <strong>Intel Core 7 processor 150U</strong></p><p>At the time of writing this, as per the official Intel documentation, there are no other suffixes except U. The processor names look like:</p><ul><li><em>Intel Core 3 processor 100U</em></li><li><em>Intel Core 5 processor 120U</em></li></ul><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">&#x1F4A1;</div><div class="kg-callout-text">Intel recommends Intel Core 3 particularly for browsing and streaming, Intel Core 5 for productivity and others included, and Intel Core 7 for casual gaming and photo/video editing among other essentials included.</div></div><h2 id="the-intel-14th-gen-core-processors">The Intel 14th Gen Core Processors</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2024/02/intel-14-gen.png" class="kg-image" alt="Intel Processor Naming Changes: All You Need to Know" loading="lazy" width="1920" height="1080" srcset="https://itsfoss.com/content/images/size/w600/2024/02/intel-14-gen.png 600w, https://itsfoss.com/content/images/size/w1000/2024/02/intel-14-gen.png 1000w, https://itsfoss.com/content/images/size/w1600/2024/02/intel-14-gen.png 1600w, https://itsfoss.com/content/images/2024/02/intel-14-gen.png 1920w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Image Credit: Intel</span></figcaption></figure><p>The 14th Gen Core Processors are desktop processors built on the same Raptor Lake CPU architecture (same as 13th gen). So, the Series 1 and this both mean the same thing &#x2014; but for laptops and desktops respectively.</p><p>It gets a bit confusing here because Intel retains the &quot;i&quot; naming scheme. You have Intel Core i9 Processors, Core i7, and so on.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x1F4CB;</div><div class="kg-callout-text">The uppercase P in the Processor is another difference compared to the Core (Series 1) processors.</div></div><h2 id="intel-processor">Intel Processor</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2024/02/intel-processor-name.png" class="kg-image" alt="Intel Processor Naming Changes: All You Need to Know" loading="lazy" width="1920" height="1080" srcset="https://itsfoss.com/content/images/size/w600/2024/02/intel-processor-name.png 600w, https://itsfoss.com/content/images/size/w1000/2024/02/intel-processor-name.png 1000w, https://itsfoss.com/content/images/size/w1600/2024/02/intel-processor-name.png 1600w, https://itsfoss.com/content/images/2024/02/intel-processor-name.png 1920w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Image Credit: Intel</span></figcaption></figure><p>The Intel Pentium and Celeron space will be replaced by the <strong>Intel Processor</strong>.</p><p>It will look like: <strong>Intel Processor N200</strong></p><p>Here, <strong>the prefix to the alphanumeric can be N or U</strong>. And, Intel clarifies that there is  no generation indicator for this range of processors. So, maybe, the processor number can give a hint at that. We can only assume for now.</p><h2 id="intel-core-processors-n-series">Intel Core Processors N-Series</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2024/02/intel-n-series.png" class="kg-image" alt="Intel Processor Naming Changes: All You Need to Know" loading="lazy" width="1920" height="1080" srcset="https://itsfoss.com/content/images/size/w600/2024/02/intel-n-series.png 600w, https://itsfoss.com/content/images/size/w1000/2024/02/intel-n-series.png 1000w, https://itsfoss.com/content/images/size/w1600/2024/02/intel-n-series.png 1600w, https://itsfoss.com/content/images/2024/02/intel-n-series.png 1920w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Image Credit: Intel</span></figcaption></figure><p>The Intel Core Processors N-Series is basically a step-up from Pentium and Celeron-level chips. It will be available for both laptops and desktops. </p><p>In other words: <strong>Intel Core Processor &gt; Intel Processor </strong>(in terms of capabilities).</p><p>The naming scheme looks like: <strong>Intel Core i3-N305</strong></p><h2 id="intel-pentium-silver-and-gold-processors">Intel Pentium Silver and Gold Processors</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2024/02/intel-pentium.jpg" class="kg-image" alt="Intel Processor Naming Changes: All You Need to Know" loading="lazy" width="800" height="450" srcset="https://itsfoss.com/content/images/size/w600/2024/02/intel-pentium.jpg 600w, https://itsfoss.com/content/images/2024/02/intel-pentium.jpg 800w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Image Credit: Intel</span></figcaption></figure><p>While the Pentium lineup won&apos;t get a new gen update, the silver and gold lineup continue to exist with the older CPU architecture.</p><p>I still do not understand why they keep it. But, probably for some niche customers and affordable projects (mini PCs, Chromebooks, entry-level laptops, etc.) where these processors can be used.</p><p>The products look like:</p><ul><li><em>Intel Pentium Silver N6000 processor</em></li><li><em>Intel Pentium Gold G7400 processor</em></li></ul><p>A higher number represents a better performance class for this lineup.</p><h2 id="intel-celeron-processors">Intel Celeron Processors</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2024/02/intel-celeron.jpg" class="kg-image" alt="Intel Processor Naming Changes: All You Need to Know" loading="lazy" width="720" height="405" srcset="https://itsfoss.com/content/images/size/w600/2024/02/intel-celeron.jpg 600w, https://itsfoss.com/content/images/2024/02/intel-celeron.jpg 720w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Image Credit: Intel</span></figcaption></figure><p>A good fit for educational and learning purposes. </p><p>The processors look like:</p><ul><li><em>Intel Celeron Processor 7305L</em></li><li><em>Intel Celeron Processor 7305E</em></li><li><em>Intel Celeron Processor 7300</em></li></ul><p>So, you will notice suffixes as L, E or nothing at all. Similar to the Pentium lineup, the higher the number, the better the performance.</p><h2 id="wrapping-up">Wrapping Up</h2><p>Phew, that&apos;s it for all the Intel processors and the new name changes&#x1F971;</p><p>Intel wants a new naming scheme, but also did not get rid of the old one for desktop immediately. For some newer chips, it retained the older CPU architecture with a generational update in the naming scheme.</p><p>I am sure it is not just me alone, Intel should simplify their offering as soon as possible &#x1F610;</p><p>Sure, there can be further adjustments down the line in the near future. And, we will make sure to update the information to help you understand the best.</p><p><em>&#x1F4AC; What do you think of the new naming changes with the Intel chips? Do y0u think it is simplified enough or got more complex?</em></p>]]></content:encoded></item><item><title><![CDATA[Cut Command Examples]]></title><description><![CDATA[The Cut command lets you extract a part of the file to print without affecting the original file. Learn more here.]]></description><link>https://itsfoss.com/cut-command/</link><guid isPermaLink="false">65aa4690f30830050bc95ee5</guid><category><![CDATA[Linux Commands]]></category><dc:creator><![CDATA[Sagar Sharma]]></dc:creator><pubDate>Tue, 13 Feb 2024 04:46:49 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2024/02/cut-command-in-linux.png" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2024/02/cut-command-in-linux.png" alt="Cut Command Examples"><p>The cut command is used to cut a specific part of a file and print it to the standard output <strong>without changing the actual file.</strong></p><p>In other words, you can pull out a specific number of words or characters from a file using the cut command.</p><p>Fret not, I walk you through the essentials to help you know more about it:</p><ul><li><strong>The basic syntax of the command</strong></li><li><strong>Practical examples of using the cut command </strong></li><li><strong>Practice questions for the cut command</strong></li></ul><p>So, let&apos;s get started.</p><h2 id="heres-how-to-use-the-cut-command">Here&apos;s How to use the cut command </h2><p>To use the cut command, it is important to know the syntax.</p><p>So here&apos;s the basic syntax you need to follow to use the cut command:</p><pre><code>cut [option] &lt;Filename or path to file&gt;</code></pre><p>Here,</p><ul><li><code>[option]</code>: it is used to change the default behavior of the cut command.</li><li><code>Filename</code>: it is where you append the filename or the path to the file to work with the cut command.</li></ul><p>If you are curious, here&apos;s a list of popular options used with the cut command:</p>
  67. <!--kg-card-begin: html-->
  68. <table>
  69. <thead>
  70. <tr>
  71. <th><strong>Option</strong></th>
  72. <th><strong>Description</strong></th>
  73. </tr>
  74. </thead>
  75. <tbody>
  76. <tr>
  77. <td><code>-d <delim></delim></code></td>
  78. <td>Sets the field delimiter (default is tab).</td>
  79. </tr>
  80. <tr>
  81. <td><code>-f <fields></fields></code></td>
  82. <td>Specifies which fields to extract (e.g., <code>-f 2</code> for the second field).</td>
  83. </tr>
  84. <tr>
  85. <td><code>-b <bytes></bytes></code></td>
  86. <td>Cuts specific bytes or byte ranges.</td>
  87. </tr>
  88. <tr>
  89. <td><code>-c <chars></chars></code></td>
  90. <td>Cuts specific characters or character ranges.</td>
  91. </tr>
  92. <tr>
  93. <td><code>-s</code></td>
  94. <td>Only prints lines containing delimiters (default prints empty lines).</td>
  95. </tr>
  96. <tr>
  97. <td><code>--complement</code></td>
  98. <td>Cuts everything except the specified bytes, characters, or fields.</td>
  99. </tr>
  100. </tbody>
  101. </table>
  102. <!--kg-card-end: html-->
  103. <p>To keep the tutorial easy to follow, I will be using one text file named <code>Haruki.txt</code> throughout all the examples, which contains the following content:</p><pre><code>Book_Name       Year
  104. Hear the Wind Sing (A Wild Sheep Chase) (1973)
  105. Pinball,        (1973)
  106. Norwegian Wood  (1987)
  107. A Walk to the Bakery    (1982)
  108. Hard-Boiled Wonderland and the End of the World (1985)
  109. The Wind-Up Bird Chronicle      (1994-1995)
  110. Sputnik Sweetheart      (1999)
  111. Kafka on the Shore      (2002)
  112. After Dark      (2004)
  113. 1Q84    (2009-2010)
  114. Colorless Tsukuru Tazaki and His Years of Pilgrimage    (2013)
  115. Killing Commendatore    (2017)
  116. First Person Singular   (2020)</code></pre><p>Now, let&apos;s take a look at some examples of using the cut command in Linux.</p><h2 id="1-cut-by-bytes">1. Cut by bytes </h2><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x1F4CB;</div><div class="kg-callout-text">1 character = 1 byte.</div></div><p>The simplest way you can cut the characters using the cut command is to specify the byte of space in memory occupied by a text and cut the desired part of the file.</p><p>To cut by bytes, you can use the <code>-b</code> flag, and then you specify the position in-terms of terms of indexing:</p><pre><code>cut -b &lt;nth byte&gt; Filename</code></pre><p>For example, if I want to cut the <strong>fifth character</strong>, then use the following:</p><pre><code>cut -b 5 Haruki.txt</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/image-7.png" class="kg-image" alt="Cut Command Examples" loading="lazy" width="1090" height="466" srcset="https://itsfoss.com/content/images/size/w600/2024/01/image-7.png 600w, https://itsfoss.com/content/images/size/w1000/2024/01/image-7.png 1000w, https://itsfoss.com/content/images/2024/01/image-7.png 1090w" sizes="(min-width: 720px) 720px"></figure><p>In simple terms, use the bytes as the index number. Let&apos;s say you would like to cut the seventh character, then you specify <code>7</code> along with the <code>-b</code> flag.</p><h5 id="cut-multiple-characters-from-each-line">Cut multiple characters from each line </h5><p>You can cut multiple characters from each line using the <code>-b</code> flag, where you specify the multiple bytes separated by commas.</p><p>For example, if I want to cut the third, sixth, and seventh character from each line, then I&apos;ll use the following:</p><pre><code>cut -b 3,6,7 Haruki.txt</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/image-8.png" class="kg-image" alt="Cut Command Examples" loading="lazy" width="1090" height="466" srcset="https://itsfoss.com/content/images/size/w600/2024/01/image-8.png 600w, https://itsfoss.com/content/images/size/w1000/2024/01/image-8.png 1000w, https://itsfoss.com/content/images/2024/01/image-8.png 1090w" sizes="(min-width: 720px) 720px"></figure><h5 id="cut-a-range-of-characters">Cut a range of characters </h5><p>With the cut command, you can also specify the range of the characters that need to be cut. </p><p>For example, if I wish to cut from the third to seventh character, then I will use the following:</p><pre><code>cut -b 3-7 Haruki.txt</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/image-9.png" class="kg-image" alt="Cut Command Examples" loading="lazy" width="1090" height="466" srcset="https://itsfoss.com/content/images/size/w600/2024/01/image-9.png 600w, https://itsfoss.com/content/images/size/w1000/2024/01/image-9.png 1000w, https://itsfoss.com/content/images/2024/01/image-9.png 1090w" sizes="(min-width: 720px) 720px"></figure><h5 id="cut-everything-except-specific-bytes">Cut everything except specific bytes</h5><p>You can use the <code>--complement</code> flag to cut everything but not the specific bytes by which you can ignore the specified bytes and print everything else.</p><p>To use the <code>--complement</code> flag, you&apos;d have to follow the given syntax:</p><pre><code>cut -b &lt;bytes&gt; --complement Filename</code></pre><p>Let&apos;s say I want to ignore the first five bytes, then I will use the following:</p><pre><code>cut -b 1-5 --complement Haruki.txt</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/image-15.png" class="kg-image" alt="Cut Command Examples" loading="lazy" width="1090" height="466" srcset="https://itsfoss.com/content/images/size/w600/2024/01/image-15.png 600w, https://itsfoss.com/content/images/size/w1000/2024/01/image-15.png 1000w, https://itsfoss.com/content/images/2024/01/image-15.png 1090w" sizes="(min-width: 720px) 720px"></figure><h5 id="specify-the-starting-or-end-point-to-cut">Specify the starting or end point to cut</h5><p>Using the cut command, you can also specify the starting point from where you intend to start cutting the characters or the endpoint to stop. </p><p>To specify the starting point, you use the <code>n-</code> where the <code>n</code> is the number from where you want to start cutting off the characters until the end of the line:</p><pre><code>cut -b n- Filename</code></pre><p>For example, if I wish to cut from the fifth character until the end of the line, then I will use the following:</p><pre><code>cut -b 5- Haruki.txt</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/image-6.png" class="kg-image" alt="Cut Command Examples" loading="lazy" width="1090" height="466" srcset="https://itsfoss.com/content/images/size/w600/2024/01/image-6.png 600w, https://itsfoss.com/content/images/size/w1000/2024/01/image-6.png 1000w, https://itsfoss.com/content/images/2024/01/image-6.png 1090w" sizes="(min-width: 720px) 720px"></figure><p>To specify the endpoint, you use the <code>-n</code> (<em>notice the dash before n</em>) where the <code>n</code> is the last character indicating the borderline to cut:</p><pre><code>cut -b -n Filename</code></pre><p>For example, if I want to cut until the  seventh character, I will use the following:</p><pre><code>cut -b -7 Haruki.txt</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/image-10.png" class="kg-image" alt="Cut Command Examples" loading="lazy" width="1090" height="466" srcset="https://itsfoss.com/content/images/size/w600/2024/01/image-10.png 600w, https://itsfoss.com/content/images/size/w1000/2024/01/image-10.png 1000w, https://itsfoss.com/content/images/2024/01/image-10.png 1090w" sizes="(min-width: 720px) 720px"></figure><p><strong>Suggested Read &#x1F4D6;</strong></p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/essential-ubuntu-commands/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">31 Basic Yet Essential Ubuntu Commands</div><div class="kg-bookmark-description">An extensive list of essential Linux commands that every Ubuntu user will find helpful in their Linux journey.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png" alt="Cut Command Examples"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Abhishek Prakash</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/wordpress/2022/11/must-know-linux-commands-for-ubuntu-user.png" alt="Cut Command Examples"></div></a></figure><h2 id="2-cut-by-characters">2. Cut by characters </h2><p>This is exactly like the byte option but here, it utilizes character indexing rather than byte indexing which is helpful, especially in cases where a single character uses multiple bytes.</p><p>For example, if I want to cut the first five characters, then I will use the <code>-c</code> flag in the following manner:</p><pre><code>cut -c 5 Haruki.txt</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/image-11.png" class="kg-image" alt="Cut Command Examples" loading="lazy" width="1090" height="466" srcset="https://itsfoss.com/content/images/size/w600/2024/01/image-11.png 600w, https://itsfoss.com/content/images/size/w1000/2024/01/image-11.png 1000w, https://itsfoss.com/content/images/2024/01/image-11.png 1090w" sizes="(min-width: 720px) 720px"></figure><p>You can also specify the range of the characters using the <code>-c</code> flag. Let&apos;s say I would like to cut from the seventh to tenth character, then I will be using the following:</p><pre><code>cut -c 7-10 Haruki.txt</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/image-12.png" class="kg-image" alt="Cut Command Examples" loading="lazy" width="1090" height="466" srcset="https://itsfoss.com/content/images/size/w600/2024/01/image-12.png 600w, https://itsfoss.com/content/images/size/w1000/2024/01/image-12.png 1000w, https://itsfoss.com/content/images/2024/01/image-12.png 1090w" sizes="(min-width: 720px) 720px"></figure><p>Furthermore, you can also cut by specifying the starting and endpoint as I explained earlier. Here&apos;s how I will cut till the 10th character using the <code>-c</code> flag:</p><pre><code>cut -c -10 Haruki.txt</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/image-13.png" class="kg-image" alt="Cut Command Examples" loading="lazy" width="1090" height="466" srcset="https://itsfoss.com/content/images/size/w600/2024/01/image-13.png 600w, https://itsfoss.com/content/images/size/w1000/2024/01/image-13.png 1000w, https://itsfoss.com/content/images/2024/01/image-13.png 1090w" sizes="(min-width: 720px) 720px"></figure><p>You can also specify what characters to ignore and print everything else using the <code>--complement</code> flag. </p><p>For example, here, I printed everything ignoring 10th to 15th character:</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/image-16.png" class="kg-image" alt="Cut Command Examples" loading="lazy" width="1090" height="466" srcset="https://itsfoss.com/content/images/size/w600/2024/01/image-16.png 600w, https://itsfoss.com/content/images/size/w1000/2024/01/image-16.png 1000w, https://itsfoss.com/content/images/2024/01/image-16.png 1090w" sizes="(min-width: 720px) 720px"></figure><h2 id="3-cut-by-the-fields">3. Cut by the fields </h2><p>By default, when you want to cut by field, it will use a tab space as a delimiter. Sure you can use a different delimiter, which I will also mention.</p><p>To cut by the field, use the <code>-f</code> flag as shown here:</p><pre><code>cut -f &lt;number of fields&gt; Filename</code></pre><p>For example, if I wish to cut 1 field, then I will be using the following:</p><pre><code>cut -f 1 Haruki.txt</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/image-14.png" class="kg-image" alt="Cut Command Examples" loading="lazy" width="1090" height="466" srcset="https://itsfoss.com/content/images/size/w600/2024/01/image-14.png 600w, https://itsfoss.com/content/images/size/w1000/2024/01/image-14.png 1000w, https://itsfoss.com/content/images/2024/01/image-14.png 1090w" sizes="(min-width: 720px) 720px"></figure><p>To change the delimiter, you have to use the <code>-d</code> flag followed by the delimiter you want to use:</p><pre><code>cut -d &quot;delimiter&quot; -f &lt;number of fields&gt; Filename</code></pre><p>For example, here, I have used <code>a</code> as a character so it will print until the character <code>a</code> appears in the line:</p><pre><code>cut -d &quot;a&quot; -f 1 Haruki.txt</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/image-17.png" class="kg-image" alt="Cut Command Examples" loading="lazy" width="1090" height="466" srcset="https://itsfoss.com/content/images/size/w600/2024/01/image-17.png 600w, https://itsfoss.com/content/images/size/w1000/2024/01/image-17.png 1000w, https://itsfoss.com/content/images/2024/01/image-17.png 1090w" sizes="(min-width: 720px) 720px"></figure><h2 id="4-concatenate-output-using-delimiter">4. Concatenate output using delimiter </h2><p>When you use a delimiter, it concatenates output without using a delimiter, so you end up having output separated by space. </p><p>You can change this behavior using the <code>--output-delimite</code> flag. </p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x1F4CB;</div><div class="kg-callout-text">The --output-delimite flag will only with when the output is divided into two or more columns.</div></div><p>To use the <code>--output-delimite</code> flag, use the following syntax:</p><pre><code>cut &lt;options for cutting file&gt; --output-delimite=delimiter Filename </code></pre><p>For example, here, I used the <code>-c</code> flag to cut different parts of the file and then use the <code>--output-delimite</code> flag to concatenate output with the <code>@</code>:</p><pre><code>cut -c 1-5,9,11-14 --output-delimiter=@ Haruki.txt</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/image-18.png" class="kg-image" alt="Cut Command Examples" loading="lazy" width="1090" height="466" srcset="https://itsfoss.com/content/images/size/w600/2024/01/image-18.png 600w, https://itsfoss.com/content/images/size/w1000/2024/01/image-18.png 1000w, https://itsfoss.com/content/images/2024/01/image-18.png 1090w" sizes="(min-width: 720px) 720px"></figure><p>Did you see that? First I used the <code>-c</code> flag to print the 1 to 5, then 9th, and then 11 to 14th characters, and then merged the whole output with the <code>@</code>.</p><h2 id="practice-questions-%F0%9F%97%92%EF%B8%8F">Practice questions &#x1F5D2;&#xFE0F;</h2><p>In this section, I share some practice questions that you can use to get better at using the cut command:</p><ol><li>Save the output of the cut command by <a href="https://linuxhandbook.com/command-output-to-file/?ref=itsfoss.com" rel="noreferrer">redirecting it to a file.</a></li><li>How do you print the first 5 characters of the file using the cut command?</li><li>Print everything ignoring the following range of characters: 2-6, 10, 12-15.</li><li>Use <code>e</code> as a delimiter and divide the file into 2 parts.</li></ol><h2 id="wrapping-up">Wrapping Up</h2><p>This tutorial went through the basics of using the cut command, including the syntax, practical examples, and practice questions. You can explore more examples in our blog post at Linux Handbook:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://linuxhandbook.com/cut-command/?ref=itsfoss.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">4 Essential and Practical Usage of Cut Command in Linux</div><div class="kg-bookmark-description">The cut command in Linux allows removing data on each line of a file. Read this tutorial to know how to use it effectively to process text or CSV data file.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://linuxhandbook.com/content/images/size/w256h256/2021/08/Linux-Handbook-New-Logo.png" alt="Cut Command Examples"><span class="kg-bookmark-author">Linux Handbook</span><span class="kg-bookmark-publisher">Sylvain Leroux</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://linuxhandbook.com/content/images/2020/07/cut-command-linux.jpeg" alt="Cut Command Examples"></div></a></figure><p>If you are starting out, you might want to refer to our <a href="https://itsfoss.com/tag/terminal-basics/" rel="noreferrer">Linux command guide for beginners</a>:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/tag/terminal-basics/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Linux Command Tutorials for Absolute Beginners</div><div class="kg-bookmark-description">Never used Linux commands before? No worries. This tutorial series is for absolute beginners to the Linux terminal.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png" alt="Cut Command Examples"><span class="kg-bookmark-author">It&apos;s FOSS</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/2023/03/terminal-basics-series-tag.png" alt="Cut Command Examples"></div></a></figure>]]></content:encoded></item><item><title><![CDATA[Using a USB Serial Adapter (UART) to Help Debug Your Raspberry Pi]]></title><description><![CDATA[A UART attached to your Raspberry Pi can help you troubleshoot issues with your Raspberry Pi. Here's what you need to know.]]></description><link>https://itsfoss.com/use-uart-raspberry-pi/</link><guid isPermaLink="false">65bdb3bff30830050bcac992</guid><category><![CDATA[Raspberry Pi]]></category><dc:creator><![CDATA[Pratham Patel]]></dc:creator><pubDate>Mon, 12 Feb 2024 07:28:24 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2024/02/debug-raspberry-pi-with-usb-adapter.png" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2024/02/debug-raspberry-pi-with-usb-adapter.png" alt="Using a USB Serial Adapter (UART) to Help Debug Your Raspberry Pi"><p>A serial console allows you to see the boot logs even before the Linux kernel has started booting! Therefore, a serial console attached to your Raspberry Pi can help you find causes of problems like the following:</p><ul><li>A new Linux distribution that you flashed on your Raspberry Pi does not boot.</li><li>Your Raspberry Pi boots into an older kernel even though you installed a newer kernel provided by your distribution maintainer via <code>apt</code>/<code>pacman</code>/<code>dnf</code>.</li><li>You installed a new kernel using <code>apt</code>/<code>pacman</code>/<code>dnf</code> but now the Ethernet port does not work and you can&apos;t SSH into it to uninstall that kernel.</li><li>Your Raspberry Pi does not boot at all.</li><li>You are learning kernel development and want to see why the change that you made is preventing the kernel from booting.</li><li>You have so many Raspberry Pis that you have run out of displays to connect to and just want to watch the boot logs to sanity check if they are booting correctly or not.</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2024/02/raspberry-pi-uart.webp" class="kg-image" alt="Using a USB Serial Adapter (UART) to Help Debug Your Raspberry Pi" loading="lazy" width="1000" height="750" srcset="https://itsfoss.com/content/images/size/w600/2024/02/raspberry-pi-uart.webp 600w, https://itsfoss.com/content/images/2024/02/raspberry-pi-uart.webp 1000w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">My Raspberry Pi connected to my MacBook via UART</span></figcaption></figure><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">&#x1F4A1;</div><div class="kg-callout-text">Though the above bulletin mentions the Raspberry Pi in particular, this can be done for any other Single Board Computer that exposes a UART/serial interface. I have personally done this for many ARM and even RISC-V boards ;)</div></div><p>If any of the points listed above are interesting for you (which basically are &quot;My Raspberry Pi does not boot and I can&apos;t see why.&quot;), follow along!</p><h2 id="what-is-a-serial-adapter">What is a serial adapter?</h2><p>Simply put, a serial adapter is like your HDMI/DP cable. But instead of carrying data in form of video, it carries data in form of plaintext. This means that the drivers needed for serial interface initialisation are dead simple and can be loaded in without any dependencies (i.e., as early as possible in the boot flow).</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x1F4CB;</div><div class="kg-callout-text">The article contains affiliate links from Amazon. Please read our <a href="https://itsfoss.com/affiliate-policy/">affiliate policy</a>.</div></div><h2 id="choosing-and-purchasing-serial-adapter">Choosing and purchasing serial adapter</h2><p>Now that you know the function of a serial adapter, you might want one. And there are just as many choices for a serial adapter as there are Linux distributions! And just like Linux distributions, there are some that <em>I</em> prefer.</p><p>They are the serial adapters with the following chipsets:</p><ul><li>CP2102: This is my go-to chipset almost every time. You can <a href="https://amzn.to/3SjUHLS?ref=itsfoss.com">get one from Amazon</a> (affiliate link).</li><li>FT232 series: Some boards use a baud rate (we will discuss &quot;baud rate&quot; later on in this article) of 1.5 million. The CP2102 maxes out at 921,600 bauds. In which case, CP2102 won&apos;t work. Therefore using an adapter with this chipset is an excellent bet. You can <a href="https://amzn.to/3SVkKe8?ref=itsfoss.com">get it from Amazon</a> (affiliate link).</li><li>Adafruit 954: This is a serial adapter to buy if you can digest the [comparatively] high price. It&apos;s quite nice! (The 954 is just the Adafruit product ID.) Here&apos;s the <a href="https://amzn.to/48cKNBR?ref=itsfoss.com">Amazon link</a> (affiliate link).</li><li>Raspberry Pi Debug Probe: This accessory from the Raspberry Pi foundation does not only provide a UART device (what we&apos;re concerned with for the scope of this article), but also works with OpenOCD! If you know what the later means, you&apos;re already salivating!</li></ul><p>A serial adapter that uses either one of these chipsets will work fine with the Raspberry Pi. But if you are unsure, I recommend that you go with an adapter that uses the <strong>CP2102 chipset</strong>.</p><p>If you purchased a serial adapter with exposed pins (metal prongs) on one side (like in the image below), it is <em>necessary</em> that you purchase <strong>female to female jumper wires</strong> to connect the serial adapter to the Raspberry Pi&apos;s GPIO pins! (We need only 3 such jumper wires.)</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2024/02/uart.jpg" class="kg-image" alt="Using a USB Serial Adapter (UART) to Help Debug Your Raspberry Pi" loading="lazy" width="2000" height="1536" srcset="https://itsfoss.com/content/images/size/w600/2024/02/uart.jpg 600w, https://itsfoss.com/content/images/size/w1000/2024/02/uart.jpg 1000w, https://itsfoss.com/content/images/size/w1600/2024/02/uart.jpg 1600w, https://itsfoss.com/content/images/2024/02/uart.jpg 2120w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">A USB to serial adapter (with the CP2102 chipset) which has exposed pins</span></figcaption></figure><p>You can <a href="https://amzn.to/3whxJ0U?ref=itsfoss.com">get these easily at any electronic shop or e-commerce sites like Amazon</a> (affiliate link).</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://m.media-amazon.com/images/I/512IkswpobL.jpg" class="kg-image" alt="Using a USB Serial Adapter (UART) to Help Debug Your Raspberry Pi" loading="lazy"><figcaption><span style="white-space: pre-wrap;">A set of female to female jumper wires</span></figcaption></figure><h2 id="preliminary-setup">Preliminary setup</h2><p>Before connecting these to your Raspberry Pi, you need to perform some preliminary setup.</p><h3 id="enable-uart">Enable UART</h3><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">&#x1F6A7;</div><div class="kg-callout-text"><i><b><strong class="italic" style="white-space: pre-wrap;">Follow this specific step only if you are connecting to a Raspberry Pi.</strong></b></i> If not, please feel free to skip this step, as this is not something you need (or even have) to do for other SBCs/computers. ;)</div></div><p>The Raspberry Pi&apos;s bootloader reads a file called <code>config.txt</code> before booting the Linux kernel. It is located in the <code>/boot</code> directory as <code>/boot/config.txt</code>. If you are on the Bookworm or later release of the Raspberry Pi OS, the <code>config.txt</code> file is located at <code>/boot/firmware/config.txt</code>.</p><p>This file is responsible for toggling UART on or off. For some reason, the default value for UART is set to off. I don&apos;t know why this decision was taken, since turning it on has no negative impact (that I&apos;m aware of)!</p><p>It is time to toggle this on. In your <code>/boot/config.txt</code> file, ensure that the <code>enable_uart</code> parameter&apos;s value is set to <code>1</code> (enabled) and also that it is not commented out.</p><pre><code class="language-bash"># before Bookworm release
  117. $ sudo grep &apos;^enable_uart=1&apos; /boot/config.txt
  118. enable_uart=1
  119.  
  120. # Bookworm and later releases
  121. $ sudo grep &apos;^enable_uart=1&apos; /boot/firmware/config.txt
  122. enable_uart=1</code></pre><p>If, running either of the above commands does not result in any output, either</p><ol><li>The value for the <code>enable_uart</code> parameter is set to <code>0</code> instead of <code>1</code>.</li><li>The line defining the value for the <code>enable_uart</code> parameter is commented out.</li><li>The value for the <code>enable_uart</code> parameter is not even defined.</li></ol><p>In which case, append the following line at the <strong>end</strong> of the <code>config.txt</code> file:</p><pre><code>enable_uart=1</code></pre><h3 id="install-a-serial-communication-program">Install a serial communication program</h3><p>There are many choices to using a program that enables serial communication. Of the many, a few of them are:</p><ul><li><code>picocom</code>: This is what I prefer.</li><li><code>minicom</code>: Most guides use this, so if you are new, using <code>minicom</code> might be advantageous. Although I will be using <code>picocom</code> in this article since it is dead simple.</li><li><code>screen</code>: Some guides also mention this but I have never tried it.</li></ul><p>Since neither of them is &quot;new&quot;, even the most stable/LTS distros like RHEL  7.x should have all three of them available in the first party repos. Simply use your package manager to install either one. I will be using <code>picocom</code> so install that please.</p><h2 id="attaching-the-serial-adapter">Attaching the serial adapter</h2><p>Please follow the following steps <strong>in order</strong>:</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">&#x1F4A1;</div><div class="kg-callout-text">In case you face any difficulties, there is a troubleshooting section near the end. I recommend you go through it in such cases.</div></div><ol><li>Plug the USB end of the serial adapter into your computer/laptop.</li><li>Get the serial device from the output of <code>sudo dmesg</code>. (Check the troubleshooting section to find what the log entries might look like for you.)</li><li><strong>Safely power down the Raspberry Pi.</strong></li><li>Using the GPIO pinout diagram below, attach the<ol><li><strong>RX of adapter to TX of Raspberry Pi</strong> (pin 8 in diagram)</li><li><strong>TX of adapter to RX of Raspberry Pi</strong> (pin 9 in diagram)</li><li>Ground of adapter to <em>any</em> ground pin on the Raspberry Pi (pin 14 in diagram)</li><li><strong>PLEASE MAKE SURE NOT TO CONNECT ANY 5v OR 3.3v PINS!</strong></li></ol></li><li>Connect to the serial interface using the command: <code>picocom --quiet --baud 115200 &lt;serial device&gt;</code></li></ol><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2024/02/GPIO-Pinout-Diagram-2.png" class="kg-image" alt="Using a USB Serial Adapter (UART) to Help Debug Your Raspberry Pi" loading="lazy" width="2000" height="1148" srcset="https://itsfoss.com/content/images/size/w600/2024/02/GPIO-Pinout-Diagram-2.png 600w, https://itsfoss.com/content/images/size/w1000/2024/02/GPIO-Pinout-Diagram-2.png 1000w, https://itsfoss.com/content/images/size/w1600/2024/02/GPIO-Pinout-Diagram-2.png 1600w, https://itsfoss.com/content/images/2024/02/GPIO-Pinout-Diagram-2.png 2064w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Raspberry Pi&apos;s 40-pin GPIO pin layout</span></figcaption></figure><p><code>picocom</code> has now started listening to the serial adapter that you mentioned, but don&apos;t worry if there is no output. The Raspberry Pi is powered off and therefore not communicating anything with your computer/laptop. It is time to power it on so we can see the boot logs from it.</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">&#x1F4A1;</div><div class="kg-callout-text">If you want to quit `<b><strong>picocom</strong></b>`, press `<b><strong>Ctrl + a</strong></b>` and then press `<b><strong>Ctrl + x</strong></b>`.</div></div><p>Following is a capture of booting Raspberry Pi OS on my Raspberry Pi 4B:</p>
  123. <!--kg-card-begin: html-->
  124. <script async id="asciicast-636045" src="https://asciinema.org/a/636045.js"></script>
  125. <!--kg-card-end: html-->
  126. <p>As you can see in the above recording of my terminal, the boot logs as the Linux kernel boots up are visible on my computer&apos;s screen. These messages are typically what you might see in the output of the <code>dmesg</code> command.</p><p>But that&apos;s not all. You can also interact with it! At the end, you might have noticed that I was at the <code>getty</code> (console login prompt). I could have logged in, but didn&apos;t, to keep the recording short.</p><p>Sometimes when you are tinkering with the Linux kernel, it might panic and throw you in an initramfs shell so you can undo/fix anything that you consider potentially problematic. You can interact with that too, using this serial console!</p><p>Think of this as your keyboard directly connected to the Raspberry Pi but it outputs to your terminal&apos;s screen :)</p><h2 id="troubleshooting">Troubleshooting</h2><p><strong>Q: My serial device does not show up.</strong></p><p>There can be two reasons why this might happen:</p><ol><li><strong>The serial adapter is not plugged in properly.</strong> In which case, make sure that the serial adapter has been plugged in properly. <strong>Avoid <em>un-powered</em> USB extension cables.</strong> Powered USB hubs are fine, by the way. Rely on the indicator LED on the adapter to know if it is plugged in properly or not.</li><li><strong>Drivers for the UART chipset aren&apos;t found/loaded.</strong> In which case, check if the output of the <code>sudo dmesg</code> command mentions the chipset of the serial adapter that you bought. Since I used an adapter with the CP2102 chipset, I have the following log entries in my kernel log:</li></ol><pre><code>$ sudo dmesg | grep &apos;cp210x&apos;
  127. [    9.485125] usbcore: registered new interface driver cp210x
  128. [    9.486925] usbserial: USB Serial support registered for cp210x
  129. [    9.488967] cp210x 2-1.1:1.0: cp210x converter detected
  130. [    9.494169] usb 2-1.1: cp210x converter now attached to ttyUSB0
  131.  
  132. # yes, the chipset driver for the CP2102 chipset is called `cp210x`</code></pre><p><strong>Q: I get permission error with the <code>picocom</code> command.</strong></p><p>This is an easy one to solve. Your user needs to be a part of the <code>dialout</code> group. Add your user to the <code>dialout</code> group, log-out then log back in. Make sure that you see <code>dialout</code> in the output after running the <code>groups</code> command. It should work now.<strong> This solution is only for Linux users.</strong></p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learnubuntu.com/add-user-group/?ref=itsfoss.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">How to Add User to a Group in Ubuntu Command Line</div><div class="kg-bookmark-description">Here&#x2019;s how you can assign a new group to an existing user or change its primary user group in Ubuntu. Also learn about creating new users with given groups.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learnubuntu.com/assets/icon-192x192.png?v=feaa0469d0" alt="Using a USB Serial Adapter (UART) to Help Debug Your Raspberry Pi"><span class="kg-bookmark-author">Learn Ubuntu</span><span class="kg-bookmark-publisher">Abhishek</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learnubuntu.com/content/images/2022/07/add-user-to-group-ubuntu.png" alt="Using a USB Serial Adapter (UART) to Help Debug Your Raspberry Pi"></div></a></figure><p><strong>Q: In <code>picocom</code> after powering board up, I don&apos;t see anything.</strong></p><p>There are several reasons for why this might happen:</p><ol><li>It might take up-to 5-10 seconds for the Raspberry Pi to start communicating via the serial interface. Please be patient.</li><li>You connected RX to RX and TX to TX. Please refer to step 4. There I mention that it is a &quot;cross&quot; connection where the RX of one side goes to the TX of another side and vice-a-versa.</li><li>If you followed step 4 as per my instructions, make sure that the jumper wires maintain a connection on both ends and either end isn&apos;t loose or has come off while you were connecting.</li><li>Make sure that <code>enable_uart=1</code> is present/uncommented in the <code>/boot/config.txt</code> file on the Raspberry Pi&apos;s SD card.</li><li>If you&apos;re still here, the SD card might be at fault. Try re-imaging and/or using a different SD card if possible.</li><li>You are trying to boot an image that is intended for a different CPU ISA than what your board has. For example, you are trying to boot the x86 ISO of Fedora on an ARM Raspberry Pi or on a RISC-V computer. <strong>This will never work.</strong></li></ol><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/arm-aarch64-x86_64/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">arm vs aarch64 vs amd64 vs x86_64: What&#x2019;s the Difference</div><div class="kg-bookmark-description">There are so many terms when it comes to CPU: aarch64, x86_64, amd64, arm and more. Learn what they are and how they differ from each other.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png" alt="Using a USB Serial Adapter (UART) to Help Debug Your Raspberry Pi"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Pratham Patel</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/2023/09/cpu-architectures.png" alt="Using a USB Serial Adapter (UART) to Help Debug Your Raspberry Pi"></div></a></figure><p><strong>Q: I see some random garbage characters in <code>picocom</code>.</strong></p><p>There are two reasons why this might happen:</p><ol><li><strong>The baud rate is set incorrectly.</strong> Though the widely used baud rate for a <em>lot</em> of ARM and RISC-V boards is 115200 bauds, some boards use a baud rate of 1500000 bauds. Please refer to the board&apos;s documentation for the baud rate that you should use.</li><li><strong>You didn&apos;t follow step 4 correctly.</strong></li></ol><h2 id="conclusion">Conclusion</h2><p>So here, I go over what a serial console even means, why it is used and is helpful. I also explained how to get a serial adapter and how to connect it to your Raspberry Pi (or any other Single Board Computer for that matter!).</p><p>I also mentioned some troubleshooting tips about problems I have encountered myself. That said, if you still have difficulties understanding things, please don&apos;t hesitate to leave a comment and I&apos;ll get back to you!</p><p>Let me know if you want similar how-tos by leaving a comment ;)</p>]]></content:encoded></item><item><title><![CDATA[FOSS Weekly #24.06: Ollama AI, Zorin OS Upgrade, Damn Small Linux, Sudo on Windows and More]]></title><description><![CDATA[Damn Small Linux resumes development after 16 years.]]></description><link>https://itsfoss.com/newsletter/foss-weekly-24-06/</link><guid isPermaLink="false">65c20aebf30830050bcad55d</guid><category><![CDATA[Newsletter ✉️]]></category><dc:creator><![CDATA[Abhishek Prakash]]></dc:creator><pubDate>Thu, 08 Feb 2024 04:29:44 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2024/02/foss-weekly-24-06.png" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2024/02/foss-weekly-24-06.png" alt="FOSS Weekly #24.06: Ollama AI, Zorin OS Upgrade, Damn Small Linux, Sudo on Windows and More"><p>I&apos;ll open the newsletter with good news.</p><p>Damn Small Linux is back from a long slumber, features a new antiX base. It&apos;s one of the <a href="https://itsfoss.com/super-lightweight-distros/">smallest Linux distros</a> out there. </p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://news.itsfoss.com/damn-small-linux-release/?ref=itsfoss.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Damn Small Linux Release Makes a Comeback After 16 Long Years</div><div class="kg-bookmark-description">Damn Small Linux 2024 makes a return!</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://news.itsfoss.com/content/images/size/w256h256/2022/08/android-chrome-192x192.png" alt="FOSS Weekly #24.06: Ollama AI, Zorin OS Upgrade, Damn Small Linux, Sudo on Windows and More"><span class="kg-bookmark-author">It&apos;s FOSS News</span><span class="kg-bookmark-publisher">Sourav Rudra</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://news.itsfoss.com/content/images/2024/02/dsl-24.png" alt="FOSS Weekly #24.06: Ollama AI, Zorin OS Upgrade, Damn Small Linux, Sudo on Windows and More"></div></a></figure><p>This is a special project because back in its earlier version, it was an OS that fit under 50 MB. Yes, you read that right. Even in the new edition, everything will be under 700 MB.</p><p>It&apos;s a work in development. Hardly an alpha release but good to see the project being resurrected.</p><p>So, don&apos;t throw that 1 GB RAM laptop yet. It may still be useful to some extent with Damn Small Linux &#x1F604;</p><p><strong>&#x1F4AC; Let&apos;s see what else you get in this edition of FOSS Weekly:</strong></p><ul><li>Two new office suite releases for Linux.</li><li>GNOME steps up its documentation game.</li><li>A neat way to run LLMs locally on Raspberry Pis.</li><li>And other Linux news, videos and, of course, memes!</li></ul><hr><h2 id="%F0%9F%93%B0-linux-news">&#x1F4F0; Linux news</h2><ul><li>Mozilla&apos;s abandoned Servo project is <a href="https://news.itsfoss.com/servo-rust-web-engine/?ref=itsfoss.com" rel="noreferrer">going all in</a> for 2024.</li><li>ONLYOFFICE Docs 8.0 <a href="https://news.itsfoss.com/onlyoffice-8-0-release/?ref=itsfoss.com" rel="noreferrer">is here</a> with improved collaboration.</li><li>GNOME has <a href="https://news.itsfoss.com/gnome-project-handbook/?ref=itsfoss.com" rel="noreferrer">stepped up</a> their documentation game for contributors.</li><li><a href="https://news.itsfoss.com/libreoffice-24-2-is-here/?ref=itsfoss.com" rel="noreferrer">LibreOffice 24.2</a> is here, features a new version naming system, among other things.</li><li>KaOS 2024.01 recently landed <a href="https://news.itsfoss.com/kaos-2024-01-release/?ref=itsfoss.com" rel="noreferrer">with Plasma 6</a>, becoming one of the first distros to do that.</li></ul><p>Windows is slowly but surely becoming more like Linux day-by-day.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://news.itsfoss.com/sudo-on-windows/?ref=itsfoss.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Wow! Windows is Coming up With its Linux Like Sudo Command</div><div class="kg-bookmark-description">Yes! You read that right. A leak shows a sudo utility for Windows operating system.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://news.itsfoss.com/content/images/size/w256h256/2022/08/android-chrome-192x192.png" alt="FOSS Weekly #24.06: Ollama AI, Zorin OS Upgrade, Damn Small Linux, Sudo on Windows and More"><span class="kg-bookmark-author">It&apos;s FOSS News</span><span class="kg-bookmark-publisher">Sourav Rudra</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://news.itsfoss.com/content/images/2024/02/sudo-windows.png" alt="FOSS Weekly #24.06: Ollama AI, Zorin OS Upgrade, Damn Small Linux, Sudo on Windows and More"></div></a></figure><hr><h2 id="%F0%9F%8C%90-follow-us-on-google-news">&#x1F310; Follow us on Google News</h2><p>By the way, if you use Google,&#xA0;<a href="https://news.google.com/publications/CAAiENHoh-T8yP9Q8Qywor2dwGkqFAgKIhDR6Ifk_Mj_UPEMsKK9ncBp?ref=itsfoss.com">follow It&apos;s FOSS on Google News</a>&#xA0;to get trusted It&apos;s FOSS content before other websites in Google search.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://news.google.com/publications/CAAiENHoh-T8yP9Q8Qywor2dwGkqFAgKIhDR6Ifk_Mj_UPEMsKK9ncBp?ref=itsfoss.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">It&#x2019;s FOSS - Google News</div><div class="kg-bookmark-description">Read full articles from It&#x2019;s FOSS and explore endless topics, magazines and more on your phone or tablet with Google News.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://ssl.gstatic.com/gnews/logo/google_news_192.png" alt="FOSS Weekly #24.06: Ollama AI, Zorin OS Upgrade, Damn Small Linux, Sudo on Windows and More"><span class="kg-bookmark-author">Google News</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://lh3.googleusercontent.com/8BtTTnoAEYry0KuwC0nPq5U_GERPzo_DTNxmR3FEzmJQxtUaUndM6ydGtZSnIorEoCSILMmf9g=rj-c-w300-h300-l95-c0xffffff" alt="FOSS Weekly #24.06: Ollama AI, Zorin OS Upgrade, Damn Small Linux, Sudo on Windows and More"></div></a></figure><hr><h2 id="%F0%9F%A7%A0-what-we%E2%80%99re-thinking-about">&#x1F9E0; What we&#x2019;re thinking about</h2><p>Google is betting big on making the interoperability between C++ and Rust easier for organizations.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://security.googleblog.com/2024/02/improving-interoperability-between-rust-and-c.html?ref=itsfoss.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Improving Interoperability Between Rust and C++</div><div class="kg-bookmark-description">Posted by Lars Bergstrom &#x2013; Director, Android Platform Tools &amp; Libraries and Chair of the Rust Foundation Board Back in 2021, we announced&#x2026;</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://security.googleblog.com/favicon.ico" alt="FOSS Weekly #24.06: Ollama AI, Zorin OS Upgrade, Damn Small Linux, Sudo on Windows and More"><span class="kg-bookmark-author">Google Online Security Blog</span><span class="kg-bookmark-publisher">Google</span></div></div><div class="kg-bookmark-thumbnail"><img src="http://2.bp.blogspot.com/-7bZ5EziliZQ/VynIS9F7OAI/AAAAAAAASQ0/BJFntXCAntstZe6hQuo5KTrhi5Dyz9yHgCK4B/s1600/googlelogo_color_200x200.png" alt="FOSS Weekly #24.06: Ollama AI, Zorin OS Upgrade, Damn Small Linux, Sudo on Windows and More"></div></a></figure><hr><h2 id="%F0%9F%A7%AE-linux-tips-tutorials-and-more">&#x1F9EE; Linux Tips, Tutorials and More</h2><p>If you want to run LLMs locally on your Raspberry Pi, then Ollama can be a great choice.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/raspberry-pi-ollama-ai-setup/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">How to Run LLMs Locally on Raspberry Pi Using Ollama AI</div><div class="kg-bookmark-description">Got a Raspberry Pi? How about using it ton run some LLMs using Ollama for your own private AI?</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png" alt="FOSS Weekly #24.06: Ollama AI, Zorin OS Upgrade, Damn Small Linux, Sudo on Windows and More"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Abhishek Kumar</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/2024/02/using-ollama-ai.png" alt="FOSS Weekly #24.06: Ollama AI, Zorin OS Upgrade, Damn Small Linux, Sudo on Windows and More"></div></a></figure><p>Zorin OS now provides a way to upgrade from version 16 to 17. Here&apos;s how it works.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/zorin-os-upgrade/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">How to upgrade to Zorin OS 17</div><div class="kg-bookmark-description">Zorin OS now provides a way to upgrade to a newer major version. Here&#x2019;s how to do that.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png" alt="FOSS Weekly #24.06: Ollama AI, Zorin OS Upgrade, Damn Small Linux, Sudo on Windows and More"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Sagar Sharma</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/2024/02/zorin-os-17-upgrade.png" alt="FOSS Weekly #24.06: Ollama AI, Zorin OS Upgrade, Damn Small Linux, Sudo on Windows and More"></div></a></figure><p>Here are some helpful examples for the &#x201C;Less&#x201D; command in Linux.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/less-command/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Less Command Examples in Linux</div><div class="kg-bookmark-description">Easily look through the contents of a big file with the help of less command.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png" alt="FOSS Weekly #24.06: Ollama AI, Zorin OS Upgrade, Damn Small Linux, Sudo on Windows and More"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Sagar Sharma</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/2024/02/less-command-in-linux.png" alt="FOSS Weekly #24.06: Ollama AI, Zorin OS Upgrade, Damn Small Linux, Sudo on Windows and More"></div></a></figure><hr><h2 id="%F0%9F%93%B9-what-we-are-watching">&#x1F4F9; What we are watching</h2><p>An interesting take on Chromebooks by (not the OG) Linus.</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/EE7bed5vD0Y?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen title="Stop Calling these &#x201C;Chromebooks&#x201D;"></iframe></figure><hr><h2 id="%E2%9C%A8-project-highlights">&#x2728; Project highlights</h2><p>We did a book review after quite some time! This time it&apos;s &#x201C;<a href="https://packt.link/FPOp7?ref=itsfoss.com" rel="noreferrer">The Software Developer&apos;s Guide to Linux</a>&#x201D; from the house of Packt.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/software-developers-guide-linux-review/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Teaching Linux to Software Developers With This Book</div><div class="kg-bookmark-description">Reading through &#x201C;The Software Developer&#x2019;s Guide to Linux&#x201D; and sharing our experience with the book.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png" alt="FOSS Weekly #24.06: Ollama AI, Zorin OS Upgrade, Damn Small Linux, Sudo on Windows and More"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Ankush Das</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/2024/02/software-developers-guide-to-linux-book-review.png" alt="FOSS Weekly #24.06: Ollama AI, Zorin OS Upgrade, Damn Small Linux, Sudo on Windows and More"></div></a></figure><hr><h2 id="%F0%9F%A7%A9-new-quiz-unit">&#x1F9E9; New quiz unit</h2><p>A movie buff? Let&apos;s see if you can correctly guess the real life geniuses these movies were based on.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/quiz/genius-minds-movies/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Guess the Genius Minds from the movies</div><div class="kg-bookmark-description">You have probably seen the movies. Can you identify the personalities behind the characters?</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png" alt="FOSS Weekly #24.06: Ollama AI, Zorin OS Upgrade, Damn Small Linux, Sudo on Windows and More"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Ankush Das</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/2024/02/cinematic-labs.png" alt="FOSS Weekly #24.06: Ollama AI, Zorin OS Upgrade, Damn Small Linux, Sudo on Windows and More"></div></a></figure><hr><h2 id="%F0%9F%8E%9F%EF%B8%8F-event-alert">&#x1F39F;&#xFE0F; Event alert</h2><p>Free and open source conference Installfest in Prague is gearing up for its latest event. Most talks from previous years are in Czech, but there will be some in English as well.</p><p>Call for speakers is now open, so if you have interesting thoughts to share at the event, please apply on their website.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://installfest.cz/if24/?ref=itsfoss.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">InstallFest 2024</div><div class="kg-bookmark-description">Konference pro za&#x10D;&#xE1;te&#x10D;n&#xED;ky i odborn&#xED;ky o Linuxu, open-source a o v&#x161;em, co s t&#xED;m souvis&#xED;.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://installfest.cz/if24/favicon.ico" alt="FOSS Weekly #24.06: Ollama AI, Zorin OS Upgrade, Damn Small Linux, Sudo on Windows and More"><span class="kg-bookmark-publisher">m.jezdinskysh.cvut.cz</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://installfest.cz/if22/images/media_image.jpg" alt="FOSS Weekly #24.06: Ollama AI, Zorin OS Upgrade, Damn Small Linux, Sudo on Windows and More"></div></a></figure><hr><h2 id="%F0%9F%92%A1-quick-handy-tip">&#x1F4A1; Quick handy tip</h2><p>Add emojis inline in gedit by right-clicking inside the editor while editing a file and selecting &#x201C;<em>Insert Emoji</em>&#x201D;.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/click-on-insert-emoji.png" class="kg-image" alt="FOSS Weekly #24.06: Ollama AI, Zorin OS Upgrade, Damn Small Linux, Sudo on Windows and More" loading="lazy" width="1307" height="551" srcset="https://itsfoss.com/content/images/size/w600/2024/02/click-on-insert-emoji.png 600w, https://itsfoss.com/content/images/size/w1000/2024/02/click-on-insert-emoji.png 1000w, https://itsfoss.com/content/images/2024/02/click-on-insert-emoji.png 1307w" sizes="(min-width: 720px) 720px"></figure><p>Thereafter, select the required emoji from the emoji selection window.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/select-emoji-in-gedit.png" class="kg-image" alt="FOSS Weekly #24.06: Ollama AI, Zorin OS Upgrade, Damn Small Linux, Sudo on Windows and More" loading="lazy" width="1272" height="512" srcset="https://itsfoss.com/content/images/size/w600/2024/02/select-emoji-in-gedit.png 600w, https://itsfoss.com/content/images/size/w1000/2024/02/select-emoji-in-gedit.png 1000w, https://itsfoss.com/content/images/2024/02/select-emoji-in-gedit.png 1272w" sizes="(min-width: 720px) 720px"></figure><hr><h2 id="%F0%9F%A4%A3-meme-of-the-week">&#x1F923; Meme of the week</h2><p>Indeed, I have had peaceful nights after switching back to stable.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/hjmccc2keefc1.png" class="kg-image" alt="FOSS Weekly #24.06: Ollama AI, Zorin OS Upgrade, Damn Small Linux, Sudo on Windows and More" loading="lazy" width="647" height="386" srcset="https://itsfoss.com/content/images/size/w600/2024/02/hjmccc2keefc1.png 600w, https://itsfoss.com/content/images/2024/02/hjmccc2keefc1.png 647w"></figure><hr><h2 id="%F0%9F%97%93%EF%B8%8F-tech-trivia">&#x1F5D3;&#xFE0F; Tech Trivia</h2><p>The eminent computer scientist Ken Thompson turned 81 on 4th February. He co-created UNIX, B Programming language (yes, that existed once upon a time) and Go programming language. He also wrote the magical grep command. Grep command has <a href="https://twitter.com/LinuxHandbook/status/1712720794240082125?ref=itsfoss.com">an interesting backstory itself</a>.</p><hr><h2 id="%F0%9F%A7%91%E2%80%8D%F0%9F%A4%9D%E2%80%8D%F0%9F%A7%91-fossverse-corner">&#x1F9D1;&#x200D;&#x1F91D;&#x200D;&#x1F9D1; FOSSverse corner</h2><p>One of our FOSSers is quite impressed with Windows 11. What about you?</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.community/t/windows-11-dare-i-say-i-like-it/11694?ref=itsfoss.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Windows 11: Dare I say I like it?</div><div class="kg-bookmark-description">Hi Guys, I haven&#x2019;t been spending much time online lately but did miss coming here to talk Linux etc. A couple months back, I picked up a Lenovo IdeaPad for a new laptop. Of course, the first thing I did was partition and install Ubuntu which runs perfectly on this machine. The only thing that doesn&#x2019;t work in Ubuntu is the fingerprint reader which isn&#x2019;t a huge deal but it&#x2019;s so convenient to just swipe my finger to login to Windows and unlock Bit Defender under W11. Lenovo Ideapad 5 15.6&#x2033; FH&#x2026;</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.community/uploads/default/optimized/1X/f274f9749e3fd8b4d6fbae1cf90c5c186d2f699c_2_180x180.png" alt="FOSS Weekly #24.06: Ollama AI, Zorin OS Upgrade, Damn Small Linux, Sudo on Windows and More"><span class="kg-bookmark-author">It&apos;s FOSS Community</span><span class="kg-bookmark-publisher">DanTheManDRH</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.community/uploads/default/optimized/2X/4/4259c2238f8c8de6d651984885683d3beefeac7e_2_1024x1024.jpeg" alt="FOSS Weekly #24.06: Ollama AI, Zorin OS Upgrade, Damn Small Linux, Sudo on Windows and More"></div></a></figure><hr><h2 id="%E2%9D%A4%EF%B8%8F-with-love">&#x2764;&#xFE0F; With love</h2><p><strong>Share it with your Linux-using friends</strong>&#xA0;and encourage them to subscribe (hint:&#xA0;<a href="https://itsfoss.com/newsletter/">it&apos;s here</a>).</p><p>Share the articles in Linux Subreddits and community forums.</p><p>Opt for&#xA0;<a href="https://itsfoss.com/membership">It&apos;s FOSS Plus membership</a>&#xA0;and support us &#x1F64F;</p><p>Enjoy using Linux &#x1F604;</p>]]></content:encoded></item><item><title><![CDATA[How to upgrade to Zorin OS 17]]></title><description><![CDATA[Zorin OS now provides a way to upgrade to a newer major version. Here's how to do that.]]></description><link>https://itsfoss.com/zorin-os-upgrade/</link><guid isPermaLink="false">65bb498ff30830050bcaa6f2</guid><category><![CDATA[Tutorial]]></category><dc:creator><![CDATA[Sagar Sharma]]></dc:creator><pubDate>Wed, 07 Feb 2024 05:34:11 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2024/02/zorin-os-17-upgrade.png" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2024/02/zorin-os-17-upgrade.png" alt="How to upgrade to Zorin OS 17"><p>Zorin OS 17 is a beautiful Linux distribution on top of Ubuntu 22.04 LTS. </p><p>One of the <a href="https://itsfoss.com/beautiful-linux-distributions/" rel="noreferrer">best-looking Ubuntu-based distro</a>, and provides an excellent user experience for all kinds of users.</p><p>If you are already a Zorin OS user, how can you access and upgrade your system to the latest version?</p><p>Fret not, here, I tell you more about it.</p><p><strong>Interesting backstory</strong>: I tried the standard approach you follow to <a href="https://itsfoss.com/upgrade-ubuntu-version/" rel="noreferrer">upgrade Ubuntu to the latest version</a>, but that does not work here:</p><pre><code>sudo apt update &amp;&amp; sudo apt dist-upgrade</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/can-t-update-zorinOS-using-the-terminal.png" class="kg-image" alt="How to upgrade to Zorin OS 17" loading="lazy" width="858" height="588" srcset="https://itsfoss.com/content/images/size/w600/2024/02/can-t-update-zorinOS-using-the-terminal.png 600w, https://itsfoss.com/content/images/2024/02/can-t-update-zorinOS-using-the-terminal.png 858w" sizes="(min-width: 720px) 720px"></figure><p>Instead, you will have to use the Zorin OS upgrader GUI tool that lets you upgrade to the latest release of the Zorin OS.</p><h2 id="before-you-upgrade-to-the-zorin-os-17">Before You Upgrade to the Zorin OS 17</h2><p>Don&apos;t jump onto upgrade just yet. I know you want to get the Zorin OS 17 update, but, here are a couple of things for you to know:</p><ul><li>You must be using the last iteration of Zorin OS 16 which is <strong>16.3</strong> to upgrade to Zorin OS 17.</li><li>Upgrading to Zorin OS will remove installed PPAs and data of installed software.  </li></ul><h3 id="step-1-create-a-backup-optional">Step 1: Create a backup (optional)</h3><p>While this is optional, I would suggest creating a backup before upgrading your system, as there&apos;s always a slight chance that the upgrade goes bad.</p><p>There&apos;s a utility called <code>Backups</code> pre-installed in Zorin OS 16. Start it and there you will find a button to create a backup labeled as <code>Back Up Now..</code>:</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/create-a-backup-1-2.png" class="kg-image" alt="How to upgrade to Zorin OS 17" loading="lazy" width="908" height="522" srcset="https://itsfoss.com/content/images/size/w600/2024/02/create-a-backup-1-2.png 600w, https://itsfoss.com/content/images/2024/02/create-a-backup-1-2.png 908w" sizes="(min-width: 720px) 720px"></figure><p>Next, you will be asked whether you want to password-protect your backup or not. </p><p>I went with the without password option:</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/Create-a-backup--2-1.png" class="kg-image" alt="How to upgrade to Zorin OS 17" loading="lazy" width="547" height="472"></figure><p>Once you click the <code>Forward</code> button, it will create a backup, and you are good to go.</p><p>If you want better control over creating a backup, then you can use Timeshift, and here&apos;s <a href="https://itsfoss.com/backup-restore-linux-timeshift/" rel="noreferrer">a detailed guide on how to install and use Timeshift</a>:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/backup-restore-linux-timeshift/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Guide to Backup and Restore Linux Systems with Timeshift</div><div class="kg-bookmark-description">This beginner&#x2019;s guide shows you how to back up and restore Linux systems easily with the Timeshift application.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png" alt="How to upgrade to Zorin OS 17"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Abhishek Prakash</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/2023/07/data-backup-with-timeshift.png" alt="How to upgrade to Zorin OS 17"></div></a></figure><h3 id="step-2-choose-between-pro-and-non-pro-options">Step 2: Choose between pro and non-pro options</h3><p>Once you open the Zorin OS upgrader, it will show you the available upgrades for your current installation:</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/Start-the-ZorinOS-upgrade-min.png" class="kg-image" alt="How to upgrade to Zorin OS 17" loading="lazy" width="1270" height="733" srcset="https://itsfoss.com/content/images/size/w600/2024/02/Start-the-ZorinOS-upgrade-min.png 600w, https://itsfoss.com/content/images/size/w1000/2024/02/Start-the-ZorinOS-upgrade-min.png 1000w, https://itsfoss.com/content/images/2024/02/Start-the-ZorinOS-upgrade-min.png 1270w" sizes="(min-width: 720px) 720px"></figure><p>Now, if you want to upgrade to the Zorin OS 17 Pro, you will have to purchase it on Zorin OS&apos;s official website, and then click on upgrade here.</p><p>It will give you the option for a minimal installation or a fully loaded one.</p><p>The full installation comes with office suite and other additional software, whereas the minimal installation only comes with the premium layouts and core system utilities:</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/Step-1-for-upgrading-to-the-ZorinOS-17-pro-min.png" class="kg-image" alt="How to upgrade to Zorin OS 17" loading="lazy" width="1270" height="733" srcset="https://itsfoss.com/content/images/size/w600/2024/02/Step-1-for-upgrading-to-the-ZorinOS-17-pro-min.png 600w, https://itsfoss.com/content/images/size/w1000/2024/02/Step-1-for-upgrading-to-the-ZorinOS-17-pro-min.png 1000w, https://itsfoss.com/content/images/2024/02/Step-1-for-upgrading-to-the-ZorinOS-17-pro-min.png 1270w" sizes="(min-width: 720px) 720px"></figure><p>Next, you&apos;ll be asked to enter the credentials for your pro membership:</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/Step-2-for-upgrading-to-the-ZorinOS-17-pro-min.png" class="kg-image" alt="How to upgrade to Zorin OS 17" loading="lazy" width="1270" height="733" srcset="https://itsfoss.com/content/images/size/w600/2024/02/Step-2-for-upgrading-to-the-ZorinOS-17-pro-min.png 600w, https://itsfoss.com/content/images/size/w1000/2024/02/Step-2-for-upgrading-to-the-ZorinOS-17-pro-min.png 1000w, https://itsfoss.com/content/images/2024/02/Step-2-for-upgrading-to-the-ZorinOS-17-pro-min.png 1270w" sizes="(min-width: 720px) 720px"></figure><p>Of course, if you do not want the extras, go with the Zorin OS core edition for free. You will not be asked for a support code with the free edition.</p><p>No matter what edition you opt for, this is how the next screen would look like:</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/ZorinOS-upgrader-showing-summery-of-changes-min.png" class="kg-image" alt="How to upgrade to Zorin OS 17" loading="lazy" width="1270" height="733" srcset="https://itsfoss.com/content/images/size/w600/2024/02/ZorinOS-upgrader-showing-summery-of-changes-min.png 600w, https://itsfoss.com/content/images/size/w1000/2024/02/ZorinOS-upgrader-showing-summery-of-changes-min.png 1000w, https://itsfoss.com/content/images/2024/02/ZorinOS-upgrader-showing-summery-of-changes-min.png 1270w" sizes="(min-width: 720px) 720px"></figure><p>Press the <code>Upgrade</code> button, and it will start downloading Zorin OS 17:</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/Upgrading-to-ZorinOS-17-min.png" class="kg-image" alt="How to upgrade to Zorin OS 17" loading="lazy" width="1373" height="799" srcset="https://itsfoss.com/content/images/size/w600/2024/02/Upgrading-to-ZorinOS-17-min.png 600w, https://itsfoss.com/content/images/size/w1000/2024/02/Upgrading-to-ZorinOS-17-min.png 1000w, https://itsfoss.com/content/images/2024/02/Upgrading-to-ZorinOS-17-min.png 1373w" sizes="(min-width: 720px) 720px"></figure><h3 id="step-3-reboot-into-zorin-os-17">Step 3: Reboot into Zorin OS 17</h3><p>Once the upgrade is finished, you will be asked to reboot your system to take effect of the upgrade:</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/Restart-your-device-to-take-efffect-from-the-upgrade-you-did-in-ZorinOS-min.png" class="kg-image" alt="How to upgrade to Zorin OS 17" loading="lazy" width="1373" height="799" srcset="https://itsfoss.com/content/images/size/w600/2024/02/Restart-your-device-to-take-efffect-from-the-upgrade-you-did-in-ZorinOS-min.png 600w, https://itsfoss.com/content/images/size/w1000/2024/02/Restart-your-device-to-take-efffect-from-the-upgrade-you-did-in-ZorinOS-min.png 1000w, https://itsfoss.com/content/images/2024/02/Restart-your-device-to-take-efffect-from-the-upgrade-you-did-in-ZorinOS-min.png 1373w" sizes="(min-width: 720px) 720px"></figure><p>Press the <code>Restart</code> button and that&apos;s it!</p><h2 id="want-to-explore-whats-new-in-zorin-os-17">Want to Explore What&apos;s New in Zorin OS 17?</h2><p>Once you boot into your upgraded machine, you might want to know the new features and changes done for a better user experience.</p><p>For that purpose, I recommend checking out more about the <a href="https://news.itsfoss.com/zorin-os-17/?ref=itsfoss.com" rel="noreferrer">changes introduced to ZorinOS 17</a> in our release coverage:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://news.itsfoss.com/zorin-os-17/?ref=itsfoss.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Zorin OS 17 Introduces a Hybrid User Experience to Linux Distros</div><div class="kg-bookmark-description">Zorin OS 17 has landed!</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://news.itsfoss.com/content/images/size/w256h256/2022/08/android-chrome-192x192.png" alt="How to upgrade to Zorin OS 17"><span class="kg-bookmark-author">It&apos;s FOSS News</span><span class="kg-bookmark-publisher">Sourav Rudra</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://news.itsfoss.com/content/images/2023/12/zorin-os-17--1-.png" alt="How to upgrade to Zorin OS 17"></div></a></figure><p><em>I hope you find this guide helpful and if you discover any issues while upgrading the system, then leave a comment or reach out to fellow users on </em><a href="https://itsfoss.community/?ref=itsfoss.com" rel="noreferrer"><em>It&apos;s FOSS Community</em></a><em>.</em></p>]]></content:encoded></item><item><title><![CDATA[Less Command Examples]]></title><description><![CDATA[Easily look through the contents of a big file with the help of less command.]]></description><link>https://itsfoss.com/less-command/</link><guid isPermaLink="false">65a76d2ef30830050bc8cb53</guid><category><![CDATA[Linux Commands]]></category><dc:creator><![CDATA[Sagar Sharma]]></dc:creator><pubDate>Tue, 06 Feb 2024 07:17:56 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2024/02/less-command-in-linux.png" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2024/02/less-command-in-linux.png" alt="Less Command Examples"><p>Most Linux users will use the cat command to print the file contents, and that&apos;s pretty cool until you are dealing with a file worth hundreds of lines.</p><p>It will fill the entire window with text, which is frustrating, as you may not be able to find the line you were looking for from the file. </p><p>In that case, you need a tool that prints one page at a time, allowing you to navigate through the file contents, and has some extra features to get things done easily.</p><p>This is where the less command comes into play. </p><p>The less command only prints one page at a time. And the best part is &#x2014; it won&apos;t load the entire file at once, and does it incrementally. So, you do not have to wait for the file to load entirely before you view the output.</p><p>Here, I will walk you through the following:</p><ul><li>The basic syntax of the less command</li><li>Practical examples of the less command</li><li>Practice questions for the less command </li></ul><p>Let&apos;s start with the first one.</p><h2 id="heres-how-to-use-the-less-command-in-linux">Here&apos;s How to Use the less command in Linux</h2><p>To use the less command, it is important to know the basic syntax.</p><p>Here&apos;s the syntax of the less command:</p><pre><code>less [options] &lt;filename or path to file&gt;</code></pre><p>Let&apos;s break down the syntax. </p><ul><li><code>[options]</code>: it is optional and used to modify the default behavior of the less command such as you can use the <code>-N</code> option to show the number of lines.</li><li><code>filename or path to file&gt;</code>: here&apos;s where you specify the filename or the path to the file to use it with the less command.</li></ul><p>Here&apos;s a list of some useful options that you can use with the less command:</p>
  133. <!--kg-card-begin: html-->
  134. <table>
  135. <thead>
  136. <tr>
  137. <th>Option</th>
  138. <th>Description</th>
  139. </tr>
  140. </thead>
  141. <tbody>
  142. <tr>
  143. <td><code>-E</code></td>
  144. <td>Quit immediately when you reach the end of the file.</td>
  145. </tr>
  146. <tr>
  147. <td><code>-F</code></td>
  148. <td>Quit if the entire file fits on the first screen.</td>
  149. </tr>
  150. <tr>
  151. <td><code>-N</code></td>
  152. <td>Show the number of lines.</td>
  153. </tr>
  154. <tr>
  155. <td><code>-S</code></td>
  156. <td>Chop long lines rather than wrapping them.</td>
  157. </tr>
  158. <tr>
  159. <td><code>-I</code></td>
  160. <td>Ignore the case while searching.</td>
  161. </tr>
  162. <tr>
  163. <td><code>+F</code></td>
  164. <td>Track changes made to the file in real-time.</td>
  165. </tr>
  166. <tr>
  167. <td><code>-M</code></td>
  168. <td>Show descriptive prompt with filename and line number.</td>
  169. </tr>
  170. <tr>
  171. <td><code>+/PATTERN</code></td>
  172. <td>Specify the search term while executing the command.</td>
  173. </tr>
  174. <tr>
  175. <td><code>-~</code></td>
  176. <td>Suppress the tilde at the end of the file.</td>
  177. </tr>
  178. </tbody>
  179. </table>
  180. <!--kg-card-end: html-->
  181. <p>If you like, you can also use the less command without any options, and it will open the file as shown here:</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/use-the-less-command-in-Linux.gif" class="kg-image" alt="Less Command Examples" loading="lazy" width="744" height="384" srcset="https://itsfoss.com/content/images/size/w600/2024/01/use-the-less-command-in-Linux.gif 600w, https://itsfoss.com/content/images/2024/01/use-the-less-command-in-Linux.gif 744w" sizes="(min-width: 720px) 720px"></figure><p>In the above example, I&apos;m using the arrow keys to navigate through the file. </p><p>But less command can be used in a lot more ways by utilizing the options, and this is what I will be showing you next. </p><h3 id="1-navigate-through-the-file-effectively">1. Navigate through the file effectively </h3><p>In my opinion, learning how you navigate through the file is more essential than anything else.</p><p>To navigate through a file in the output, you can refer to the given table:</p>
  182. <!--kg-card-begin: html-->
  183. <table>
  184. <thead>
  185. <tr>
  186. <th>Key</th>
  187. <th>Action</th>
  188. </tr>
  189. </thead>
  190. <tbody>
  191. <tr>
  192. <td><code>Spacebar</code> or <code>f</code></td>
  193. <td>Scroll down one page.</td>
  194. </tr>
  195. <tr>
  196. <td><code>b</code></td>
  197. <td>Scroll up one page.</td>
  198. </tr>
  199. <tr>
  200. <td><code>j</code> or <code>Down Arrow</code></td>
  201. <td>Move down one line.</td>
  202. </tr>
  203. <tr>
  204. <td><code>k</code> or <code>Up Arrow</code></td>
  205. <td>Move up one line.</td>
  206. </tr>
  207. <tr>
  208. <td><code>d</code> or <code>Ctrl+F</code></td>
  209. <td>Scroll down half a page.</td>
  210. </tr>
  211. <tr>
  212. <td><code>u</code> or <code>Ctrl+B</code></td>
  213. <td>Scroll up half a page.</td>
  214. </tr>
  215. <tr>
  216. <td><code>G</code></td>
  217. <td>Go to the end of the file.</td>
  218. </tr>
  219. <tr>
  220. <td><code>g</code></td>
  221. <td>Go to the beginning of the file.</td>
  222. </tr>
  223. <tr>
  224. <td><code>/pattern</code></td>
  225. <td>Search forward for a pattern.</td>
  226. </tr>
  227. <tr>
  228. <td><code>?pattern</code></td>
  229. <td>Search backward for a pattern.</td>
  230. </tr>
  231. <tr>
  232. <td><code>n</code></td>
  233. <td>Jump to the next search match.</td>
  234. </tr>
  235. <tr>
  236. <td><code>N</code></td>
  237. <td>Jump to the previous search match.</td>
  238. </tr>
  239. <tr>
  240. <td><code>q</code></td>
  241. <td>Quit the less utility.</td>
  242. </tr>
  243. </tbody>
  244. </table>
  245. <!--kg-card-end: html-->
  246. <p>For example, here, I will demonstrate three actions at once: searching for a pattern, how you jump to the next and previous search:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2024/01/nevigate-through-the-less-utility-in-Linux-1.gif" class="kg-image" alt="Less Command Examples" loading="lazy" width="744" height="320" srcset="https://itsfoss.com/content/images/size/w600/2024/01/nevigate-through-the-less-utility-in-Linux-1.gif 600w, https://itsfoss.com/content/images/2024/01/nevigate-through-the-less-utility-in-Linux-1.gif 744w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Searching and then navigating through the search results in less</span></figcaption></figure><h3 id="2-display-line-numbers">2. Display line numbers </h3><p>To display the number of lines, all you have to do is use the <code>-N</code> flag with the less command, as shown here:</p><pre><code>less -N filename</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/line.svg" class="kg-image" alt="Less Command Examples" loading="lazy" width="840" height="407"></figure><h3 id="3-open-the-file-at-a-specific-line">3. Open the file at a specific line </h3><p>If you want to open the file at a specific line, all you have to do is specify the line number as shown here:</p><pre><code>less +line_number Filename</code></pre><p>For example, here, I opened the <code>Haruki.txt</code> file from the 15th line:</p><pre><code>less +15 Haruki.txt</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/line_number.svg" class="kg-image" alt="Less Command Examples" loading="lazy" width="840" height="147"></figure><p>The command displayed the output from the 15th line in the file, but how do you verify that? </p><p>Well, all you need to do is use the <code>-N</code> flag to show the line number as explained earlier:</p><pre><code>less -N +15 Haruki.txt</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/linenumber.svg" class="kg-image" alt="Less Command Examples" loading="lazy" width="840" height="147"></figure><h3 id="4-view-multiple-files-at-once">4. View multiple files at once </h3><p>Yes, you can open multiple files at once for better productivity. </p><p>To view open multiple files at once, all you have to do is append the multiple file names to the less command as shown here:</p><pre><code>less File1 File2 File 3</code></pre><p>Once you open two or more files, you can use the following keys to switch between them:</p><ul><li><code>:n</code>: go to the next file</li><li><code>:p</code>: go to the previous file </li></ul><p>For example, here, I&apos;ve opened two files <code>Haruki.txt</code> and <code>sample.txt</code>:</p><pre><code>less Haruki.txt sample.txt</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/two-files.svg" class="kg-image" alt="Less Command Examples" loading="lazy" width="840" height="212"></figure><p><strong>Suggested Read &#x1F4D6;</strong></p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/tag/commands/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Linux Commands - It&#x2019;s FOSS</div><div class="kg-bookmark-description">Learn Linux commands with examples. Here, you&#x2019;ll find various useful Linux commands explained with their most popular usage.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png" alt="Less Command Examples"><span class="kg-bookmark-author">It&apos;s FOSS</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/2023/06/commands.png" alt="Less Command Examples"></div></a></figure><h3 id="5-search-for-a-specific-string">5. Search for a specific string </h3><p>To search for a specific string, open the file using the less command and then press the <code>/</code> key (forward slash) and type the string you want to search.</p><p>Once you enter the string you would like to search, you can use the following keys to navigate between search results:</p><ul><li><code>n</code>: go to the next search result </li><li><code>N</code>: go to the previous search result </li></ul><p>For example, here, I searched for the string <code>knowledge</code> and then switched back and forth between the search results:</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/search.svg" class="kg-image" alt="Less Command Examples" loading="lazy" width="840" height="212"></figure><p>But if you would rather not traverse between search results and want to only print lines that contain the specific string, then you can use an ampersand symbol (&amp;) before typing the sting:</p><pre><code>&amp;string</code></pre><p>For example, if I only want to print lines containing the term <code>knowledge</code>, then, this is how I&apos;d do it:</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/mystring__.svg" class="kg-image" alt="Less Command Examples" loading="lazy" width="1970" height="407"></figure><p>I used the <code>-N</code> flag to know which lines have the string <code>knowledge</code>. </p><p>The other thing I want to bring light to be, by default, <strong>whatever you search for is case-sensitive.</strong></p><p>If you would like to pass through the case-sensitive search, then you can use the <code>-I</code> flash as shown here:</p><pre><code>less -I Filename</code></pre><p>To demonstrate this, I will search for <code>KNOWLEDGE</code> and still, it will show all the results irrespective of being case-sensitive by default:</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/casesen.svg" class="kg-image" alt="Less Command Examples" loading="lazy" width="840" height="212"></figure><p><strong>Suggested Read &#x1F4D6;</strong></p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://linuxhandbook.com/search-less-command/?ref=itsfoss.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">How to Search in Less Command</div><div class="kg-bookmark-description">The less command is excellent for reading large text files. It also allows you to search for text in it. Here&#x2019;s what you need to know about searching in less.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://linuxhandbook.com/content/images/size/w256h256/2021/08/Linux-Handbook-New-Logo.png" alt="Less Command Examples"><span class="kg-bookmark-author">Linux Handbook</span><span class="kg-bookmark-publisher">Abhishek Prakash</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://linuxhandbook.com/content/images/2022/09/search-in-less-command.png" alt="Less Command Examples"></div></a></figure><h3 id="6-mark-lines">6. Mark lines </h3><p>There are times when you find something interesting while reading and want to mark that line so you can continue reading the file and come back to that line when your heart desires. </p><p>To mark the line, you have to press the <code>m</code> key and then type one character, which will work as an identifier for the marked position:</p><pre><code>m&lt;character&gt;</code></pre><p>To find the marked line, you have to press the <code>&apos;</code> key and then press the character you used to mark the line.</p><p>For example, I will mark one line from the <code>sample.txt</code> file and then will show you how I came back to the marked line multiple times:</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/mark.svg" class="kg-image" alt="Less Command Examples" loading="lazy" width="1110" height="212"></figure><p>As you can see, I marked the sixth line, and regardless of where I was, once I pressed the <code>&apos;</code> key and then press the <code>a</code> (the character I used to mark the line), I jumped to the 6th line.</p><h3 id="7-monitor-file-changes-in-real-time">7. Monitor file changes in real-time</h3><p>By far, this is my favorite feature of the less command, where you can monitor the file changes using the <code>+F</code> flag:</p><pre><code>less +F Filename</code></pre><p>To demonstrate this, I used two terminal windows (will explain in a moment):</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/real-time-monitoring-of-file-using-the-less-command.gif" class="kg-image" alt="Less Command Examples" loading="lazy" width="1533" height="318" srcset="https://itsfoss.com/content/images/size/w600/2024/01/real-time-monitoring-of-file-using-the-less-command.gif 600w, https://itsfoss.com/content/images/size/w1000/2024/01/real-time-monitoring-of-file-using-the-less-command.gif 1000w, https://itsfoss.com/content/images/2024/01/real-time-monitoring-of-file-using-the-less-command.gif 1533w" sizes="(min-width: 720px) 720px"></figure><p>In the above example, I did two things:</p><ul><li>Used <code>less +F sample.txt</code> to monitor changes actively on the left window.</li><li>Used the nano editor to write new lines in the <code>sample.txt</code> so I can show you how the less behaves when there are any changes made to the file.</li></ul><h2 id="practice-questions-%F0%9F%93%94">Practice questions &#x1F4D4;</h2><p>After learning anything, you must practice getting the most out of it. This is why I  share some practice questions to help you get comfortable with the commands:</p><ul><li>How can you search for the string while executing the less command itself?</li><li>Quit the less command once you reach the end of the file.</li><li>Show numbers for each line and redirect the output to a new file.</li><li>How to show the filename and line number at the bottom of the line utility?</li></ul><p>If you discover any difficulty solving the above questions, you can reach out to us through the comments section, or you can post your query in <a href="https://itsfoss.community/?ref=itsfoss.com" rel="noreferrer">our community forum.</a></p><h2 id="wrapping-up">Wrapping Up</h2><p>In this tutorial, I went through the basic syntax, practical examples, and some practice questions so you can get better at using the less command.</p><p>If you are just starting out with commands, and stumbled upon this article, I recommend you to check out our resource for beginners:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/tag/terminal-basics/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Linux Command Tutorials for Absolute Beginners</div><div class="kg-bookmark-description">Never used Linux commands before? No worries. This tutorial series is for absolute beginners to the Linux terminal.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png" alt="Less Command Examples"><span class="kg-bookmark-author">It&apos;s FOSS</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/2023/03/terminal-basics-series-tag.png" alt="Less Command Examples"></div></a></figure><p><em>&#x1F4AC; I would love to know your suggestions on commands articles such as this, and what should I cover next?</em></p>]]></content:encoded></item><item><title><![CDATA[Run LLMs Locally on Raspberry Pi Using Ollama AI]]></title><description><![CDATA[Got a Raspberry Pi? How about using it ton run some LLMs using Ollama for your own private AI?]]></description><link>https://itsfoss.com/raspberry-pi-ollama-ai-setup/</link><guid isPermaLink="false">65b51deaf30830050bca26a4</guid><category><![CDATA[AI 🤖]]></category><category><![CDATA[Raspberry Pi]]></category><dc:creator><![CDATA[Abhishek Kumar]]></dc:creator><pubDate>Sat, 03 Feb 2024 12:13:19 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2024/02/using-ollama-ai.png" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2024/02/using-ollama-ai.png" alt="Run LLMs Locally on Raspberry Pi Using Ollama AI"><p>Last week, I shared a tutorial on <a href="https://itsfoss.com/privategpt-setup/">using PrivateGPT</a>. It&apos;s an AI tool to interact with documents.</p><p>Now, that&apos;s fine for the limited use, but if you want something more than just interacting with a document, you need to explore other projects. </p><p>That&apos;s when I came across a fascinating project called <a href="%5Bhttps://ollama.ai/%5D(https://ollama.ai/)">Ollama</a>. It&apos;s an open source project that lets you run various Large Language Models (LLM&apos;s) locally.</p><p>While browsing through Reddit communities, I came across discussions that talk about running LLMs on Raspberry Pi.</p><p>I was curious to verify this &apos;claim&apos; so I decided to run LLMs locally with Ollama on my Raspberry Pi 4.</p><p>Let me share my experiments with you in this brief article.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x1F4CB;</div><div class="kg-callout-text">This article assumes that you have the basic understanding of AI, LLMs and other related tools and jargon. </div></div><h2 id="installing-ollama-on-raspberry-pi-os-and-other-linux">Installing Ollama on Raspberry Pi OS (and other Linux)</h2><p>The installation process of Ollama is effortless. For installation on Linux, you have to fetch their official installation script and run it. That&apos;s the official method described on their website.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/ollama-downloads-page-for-linux.png" class="kg-image" alt="Run LLMs Locally on Raspberry Pi Using Ollama AI" loading="lazy" width="771" height="523" srcset="https://itsfoss.com/content/images/size/w600/2024/01/ollama-downloads-page-for-linux.png 600w, https://itsfoss.com/content/images/2024/01/ollama-downloads-page-for-linux.png 771w" sizes="(min-width: 720px) 720px"></figure><p>You can download it manually and read what it does. Or, if you are lazy like me, combine them both in a single command like this:</p><pre><code class="language-bash">curl https://ollama.ai/install.sh | sh</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/ollama-script-installation-in-raspberrypi.png" class="kg-image" alt="Run LLMs Locally on Raspberry Pi Using Ollama AI" loading="lazy" width="1436" height="605" srcset="https://itsfoss.com/content/images/size/w600/2024/01/ollama-script-installation-in-raspberrypi.png 600w, https://itsfoss.com/content/images/size/w1000/2024/01/ollama-script-installation-in-raspberrypi.png 1000w, https://itsfoss.com/content/images/2024/01/ollama-script-installation-in-raspberrypi.png 1436w" sizes="(min-width: 720px) 720px"></figure><h2 id="exploring-different-llms">Exploring different LLMs</h2><p>Once the installation is done, you are now all ready to run LLMs on Pi and start chatting with AI in no time. </p><p>In my experiment, I used <code>tinyllama</code> , <code>phi</code> and <code>llava</code> LLMs. But you may try different large language models that are available in <a href="https://ollama.ai/library?ref=itsfoss.com">Ollama&apos;s library</a>.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x1F4CB;</div><div class="kg-callout-text">You should have at least 8 GB of RAM available to run the 7B models, 16 GB to run the 13B models, and 32 GB to run the 33B models.</div></div><h3 id="tinyllama">TinyLlama</h3><p>Let&apos;s start with <a href="https://github.com/jzhang38/TinyLlama?ref=itsfoss.com">TinyLlama</a> which is based on 1.1 billion parameters and is a perfect candidate for the first try.</p><p>To download and run TinyLlama, you need to type this command:</p><pre><code class="language-bash">ollama run tinyllama</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/installing-tinyllama-llm-using-ollama-in-raspberrypi.png" class="kg-image" alt="Run LLMs Locally on Raspberry Pi Using Ollama AI" loading="lazy" width="1472" height="493" srcset="https://itsfoss.com/content/images/size/w600/2024/01/installing-tinyllama-llm-using-ollama-in-raspberrypi.png 600w, https://itsfoss.com/content/images/size/w1000/2024/01/installing-tinyllama-llm-using-ollama-in-raspberrypi.png 1000w, https://itsfoss.com/content/images/2024/01/installing-tinyllama-llm-using-ollama-in-raspberrypi.png 1472w" sizes="(min-width: 720px) 720px"></figure><p>It will take a few seconds to download the language model and once it is downloaded, you can start chatting with it.</p><p>The question I pose to the AI is: &quot;What is the use case of div tag in html?&quot;</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/asking-question-from-tinyllama-in-ollama-in-raspberrypi.webp" class="kg-image" alt="Run LLMs Locally on Raspberry Pi Using Ollama AI" loading="lazy" width="800" height="427" srcset="https://itsfoss.com/content/images/size/w600/2024/01/asking-question-from-tinyllama-in-ollama-in-raspberrypi.webp 600w, https://itsfoss.com/content/images/2024/01/asking-question-from-tinyllama-in-ollama-in-raspberrypi.webp 800w" sizes="(min-width: 720px) 720px"></figure><p>Here&apos;s the full answer with the time it took to finish it:</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/full-answer-of-tinyllama-llm-in-ollama-inside-a-raspberrypi.png" class="kg-image" alt="Run LLMs Locally on Raspberry Pi Using Ollama AI" loading="lazy" width="1442" height="805" srcset="https://itsfoss.com/content/images/size/w600/2024/01/full-answer-of-tinyllama-llm-in-ollama-inside-a-raspberrypi.png 600w, https://itsfoss.com/content/images/size/w1000/2024/01/full-answer-of-tinyllama-llm-in-ollama-inside-a-raspberrypi.png 1000w, https://itsfoss.com/content/images/2024/01/full-answer-of-tinyllama-llm-in-ollama-inside-a-raspberrypi.png 1442w" sizes="(min-width: 720px) 720px"></figure><p>Well, well, well! Who would have guessed that AI would have worked this fast on a Raspberry Pi?</p><h3 id="phi">phi</h3><p>Moving on to some bigger models like <a href="https://huggingface.co/microsoft/phi-1_5?ref=itsfoss.com">phi</a> which is a 2.7B parameters-based language model. I think our Raspberry Pi can handle this as well.</p><p>To install and run this model, type this command:</p><pre><code class="language-bash">ollama run phi</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/installing-phi-llm-using-ollama-in-raspberrypi.png" class="kg-image" alt="Run LLMs Locally on Raspberry Pi Using Ollama AI" loading="lazy" width="1472" height="470" srcset="https://itsfoss.com/content/images/size/w600/2024/01/installing-phi-llm-using-ollama-in-raspberrypi.png 600w, https://itsfoss.com/content/images/size/w1000/2024/01/installing-phi-llm-using-ollama-in-raspberrypi.png 1000w, https://itsfoss.com/content/images/2024/01/installing-phi-llm-using-ollama-in-raspberrypi.png 1472w" sizes="(min-width: 720px) 720px"></figure><p>Try asking it some questions, like I did: &quot;What is the difference between a network switch and a hub?&quot;</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/switch-hub-question-from-phi-llm-in-ollama-inside-raspberrypi.webp" class="kg-image" alt="Run LLMs Locally on Raspberry Pi Using Ollama AI" loading="lazy" width="800" height="423" srcset="https://itsfoss.com/content/images/size/w600/2024/01/switch-hub-question-from-phi-llm-in-ollama-inside-raspberrypi.webp 600w, https://itsfoss.com/content/images/2024/01/switch-hub-question-from-phi-llm-in-ollama-inside-raspberrypi.webp 800w" sizes="(min-width: 720px) 720px"></figure><p>and here&apos;s the complete answer from phi with other details:</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/full-answer-of-phi-llm-about-switches-in-ollama-inside-a-raspberrypi.png" class="kg-image" alt="Run LLMs Locally on Raspberry Pi Using Ollama AI" loading="lazy" width="1419" height="588" srcset="https://itsfoss.com/content/images/size/w600/2024/01/full-answer-of-phi-llm-about-switches-in-ollama-inside-a-raspberrypi.png 600w, https://itsfoss.com/content/images/size/w1000/2024/01/full-answer-of-phi-llm-about-switches-in-ollama-inside-a-raspberrypi.png 1000w, https://itsfoss.com/content/images/2024/01/full-answer-of-phi-llm-about-switches-in-ollama-inside-a-raspberrypi.png 1419w" sizes="(min-width: 720px) 720px"></figure><h3 id="llava">llava</h3><p>This is the biggest LLM that I test as it comes with 7B parameters. I ask it to describe an image instead of asking simple questions.</p><p>I am using a 4 GB model of Raspberry Pi 4 and I don&apos;t think that it will work as well like the other language models did above. </p><p>But still, let&apos;s test it. To install <code>llava</code> use this command:</p><pre><code class="language-bash">ollama run llava</code></pre><p>It will take some time to download this model, since it is quite big,  somewhere close to 3.9 GB.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/installing-llava-llm-using-ollama-in-raspberrypi.png" class="kg-image" alt="Run LLMs Locally on Raspberry Pi Using Ollama AI" loading="lazy" width="1246" height="418" srcset="https://itsfoss.com/content/images/size/w600/2024/01/installing-llava-llm-using-ollama-in-raspberrypi.png 600w, https://itsfoss.com/content/images/size/w1000/2024/01/installing-llava-llm-using-ollama-in-raspberrypi.png 1000w, https://itsfoss.com/content/images/2024/01/installing-llava-llm-using-ollama-in-raspberrypi.png 1246w" sizes="(min-width: 720px) 720px"></figure><p>I am going to ask this model to describe an image of a cat that is stored in <code>/media/hdd/shared/test.jpg</code> directory.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/combine-picture-of-a-cat-and-full-answer-of-llava-llm-describing-a-cat-in-ollama-inside-a-raspberrypi.png" class="kg-image" alt="Run LLMs Locally on Raspberry Pi Using Ollama AI" loading="lazy" width="1478" height="1306" srcset="https://itsfoss.com/content/images/size/w600/2024/01/combine-picture-of-a-cat-and-full-answer-of-llava-llm-describing-a-cat-in-ollama-inside-a-raspberrypi.png 600w, https://itsfoss.com/content/images/size/w1000/2024/01/combine-picture-of-a-cat-and-full-answer-of-llava-llm-describing-a-cat-in-ollama-inside-a-raspberrypi.png 1000w, https://itsfoss.com/content/images/2024/01/combine-picture-of-a-cat-and-full-answer-of-llava-llm-describing-a-cat-in-ollama-inside-a-raspberrypi.png 1478w" sizes="(min-width: 720px) 720px"></figure><p><strong>I had to terminate the process in the middle since it was taking too long to answer (more than 30 mins). </strong></p><p>But you can see, the response is pretty accurate and if you have the latest Raspberry Pi 5 with 8 GB of RAM, you can run 7B parameter language models easily.</p><h2 id="conclusion">Conclusion</h2><p>Combining the capabilities of the Raspberry Pi 5 with Ollama establishes a potent foundation for anyone keen on running open-source LLMs locally.</p><p>Whether you&apos;re a developer striving to push the boundaries of compact computing or an enthusiast eager to explore the realm of language processing, this setup presents a myriad of opportunities.</p><p>Do let me know your thoughts and experience with Ollama in the comment section.</p>]]></content:encoded></item><item><title><![CDATA[Teaching Linux to Software Developers With This Book]]></title><description><![CDATA[Reading through "The Software Developer's Guide to Linux" and sharing our experience with the book.]]></description><link>https://itsfoss.com/software-developers-guide-linux-review/</link><guid isPermaLink="false">65ba18e8f30830050bca3649</guid><category><![CDATA[Review]]></category><dc:creator><![CDATA[Ankush Das]]></dc:creator><pubDate>Fri, 02 Feb 2024 14:01:51 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2024/02/software-developers-guide-to-linux-book-review.png" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2024/02/software-developers-guide-to-linux-book-review.png" alt="Teaching Linux to Software Developers With This Book"><p>This time, I have something interesting for you. A book review &#x1F609;</p><p>A Linux-focused book by <strong>David Cohen (software engineer) </strong>and<strong> Christian Sturm (consultant on software and systems architecture).</strong></p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/software-developer-guide-book.png" class="kg-image" alt="Teaching Linux to Software Developers With This Book" loading="lazy" width="1200" height="1482" srcset="https://itsfoss.com/content/images/size/w600/2024/01/software-developer-guide-book.png 600w, https://itsfoss.com/content/images/size/w1000/2024/01/software-developer-guide-book.png 1000w, https://itsfoss.com/content/images/2024/01/software-developer-guide-book.png 1200w" sizes="(min-width: 720px) 720px"></figure><p>It aims to be a resource for anyone who wants to learn Linux and understand the command-line, catering specifically to software developers.</p><p>Before I share my experience, I&apos;d like to clarify my perspective on the review. </p><p>In the past, I have gone through multiple resources, including some certifications on LinkedIn Learning, to explore the path to a Linux System Administrator. I am neither a software developer nor a professional sysadmin. But I have been using Linux on my personal computer for years now.</p><p>So, I went through the book from a fresh perspective to evaluate how well it caters to its target audience, and the value of insights gained.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">&#x1F5D2;&#xFE0F;</div><div class="kg-callout-text">Packt sent us an early review copy and requested our views on it. They have not been involved in the editing process to influence our view on the book.</div></div><h2 id="what-can-you-expect-from-it">What Can You Expect From It?</h2><p>&quot;<strong>The Software Developer&apos;s Guide to Linux</strong>&quot; tackles well the fundamentals, and the important bits of the Linux filesystem, command-line, file manipulation, shell scripting, and some more.</p><p>To cater to software developers, the book also covers Git and Docker. It also covers topics like load balancing and SSH. There is also an entire chapter on logging which is crucial for the devs. Not many Linux books cover these tools that are usually in the workflow of a developer. </p><p>The book aims to be useful for developers starting with Linux. </p><p><strong>It is more of a handbook focused on making you comfortable working with the Linux command-line, managing files/ services, organizing docker containers, and maintaining the security of a Linux server.</strong></p><div class="kg-card kg-button-card kg-align-center"><a href="https://packt.link/FPOp7?ref=itsfoss.com" class="kg-btn kg-btn-accent">Explore the book</a></div><h2 id="is-it-easy-to-understand">Is it Easy to Understand?</h2><p>Yes, even if you are not a software developer, you can get some idea from it.</p><p>If you are not a software developer, you will encounter some jargon to break your read. Though, in my opinion, you can just look for their meanings quickly, and continue your read. The content is presented in such a way.</p><p>The language style of the book is relatable to most.</p><p>In one instance of the book, I noticed internet references like &quot;<em>Wikipedia tells us...</em>&quot;, which some might find informal and making easier to understand/relatable. Furthermore, they follow through with their style of explanation. </p><p>So, you get a different perspective through the variety of definitions.</p><p>With every section, the book presents what you will learn, and what you learned so far, using bullet points. </p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/bullet-points-next.jpg" class="kg-image" alt="Teaching Linux to Software Developers With This Book" loading="lazy" width="740" height="265" srcset="https://itsfoss.com/content/images/size/w600/2024/02/bullet-points-next.jpg 600w, https://itsfoss.com/content/images/2024/02/bullet-points-next.jpg 740w" sizes="(min-width: 720px) 720px"></figure><p>Hence, it gets easier for you to recap, and keeps you intrigued about what&apos;s coming next.</p><p>Not just limited to the good use of bullet points. The entire structure of the content is like: <strong>the basics, the important bits (including examples), and the conclusion.</strong></p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/02/table-of-contents.jpg" class="kg-image" alt="Teaching Linux to Software Developers With This Book" loading="lazy" width="715" height="625" srcset="https://itsfoss.com/content/images/size/w600/2024/02/table-of-contents.jpg 600w, https://itsfoss.com/content/images/2024/02/table-of-contents.jpg 715w"></figure><p>Additionally, if there is something significant related to the topic that you need to know, those have been covered as insightful notes throughout the book.</p><h2 id="what-you-should-not-expect-from-it">What You Should Not Expect From It?</h2><p>The book is not a comprehensive study resource for you to learn all about Linux, specially the desktop side of Linux.</p><p>The books also doesn&apos;t cover Linux kernel programming if you were eyeing it for Linux kernel development.</p><p>It is not just me saying, the book clarifies that it is meant as a good refresher or an introduction tackling the fundamentals, instead of being a 500+ page study guide.</p><h2 id="does-it-miss-out-on-anything">Does it Miss Out On Anything?</h2><p>It serves its purpose well. </p><p>Having said that, the book could have included more information to help you test drive a Linux distribution (and the command-line).</p><p>Yes, the book tells you how you should try a Linux distribution (via a virtual machine or WLS or bare metal). </p><p>However, considering the user is a first-time Linux user, the installation process, warnings to not try Arch Linux, and some other pointers could have been useful. But that&apos;s not a deal breaker.</p><h2 id="my-take-on-the-book-%F0%9F%91%A8%E2%80%8D%F0%9F%92%BB">My Take on The Book &#x1F468;&#x200D;&#x1F4BB;</h2><p>The book is good at highlighting all the essentials. </p><p>It tries to tackle all kinds of FAQs one would have with every topic introductions. </p><p>While the tone and content is written for a developer as the target audience &#x2014; a complete newbie with a pinch of tech/computer background, not necessarily a developer, can also understand most parts of it.</p><p>Just like the book describes itself, you get useful insights from it to get your hands on the Linux command-line (to step up your practical skills). </p><p>Sure, for the most effective experience, I recommend you try the commands, explore more about it, and then move on to the next section.</p><p>Overall, the book was a good refresher for me as someone who is interested in exploring the side of a Linux system administrator. And, definitely, this book (thanks to the review unit) can help me brush up my Linux command-line knowledge when I need it.</p><p>It should take you a couple of weeks at most to go through the content.</p><p>You can purchase it via Amazon (paperback/kindle) using the button below.</p><div class="kg-card kg-button-card kg-align-center"><a href="https://packt.link/FPOp7?ref=itsfoss.com" class="kg-btn kg-btn-accent">Amazon (affiliate link)</a></div>]]></content:encoded></item><item><title><![CDATA[FOSS Weekly #24.05: Zed Editor, PrivateGPT AI, CPU Temperature in Linux and More]]></title><description><![CDATA[You cannot escape AI, so embrace it perhaps?]]></description><link>https://itsfoss.com/newsletter/foss-weekly-24-05/</link><guid isPermaLink="false">65b88ffff30830050bca3215</guid><category><![CDATA[Newsletter ✉️]]></category><dc:creator><![CDATA[Abhishek Prakash]]></dc:creator><pubDate>Thu, 01 Feb 2024 04:28:12 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2024/01/foss-weekly-24-05.png" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2024/01/foss-weekly-24-05.png" alt="FOSS Weekly #24.05: Zed Editor, PrivateGPT AI, CPU Temperature in Linux and More"><p>I promised at the beginning of 2024 that you&apos;ll see more exploring, homelab and hobbyist open source AI stuff this year along with the regular beginner-friendly tutorials.</p><p>In that regard, we have our first AI article published. It is about <a href="https://itsfoss.com/privategpt-setup/">setting up PrivateGPT AI</a> to interact with PDF documents. It&apos;s not written by me, that&apos;s another Abhishek. </p><p>With PrivateGPT, the data remains on your system and all the computation happens on your system. </p><p>I have also received the latest Raspberry Pi 5. Be prepared to see some Raspberry Pi tutorials as well &#x1F604;</p><p>By the way, if you are on Instagram, <a href="https://www.instagram.com/itsfoss/?ref=itsfoss.com">do follow us there</a> as we are sharing plenty of reels (not the dancing ones, don&apos;t worry &#x1F609; )</p><p><strong>&#x1F4AC; Let&apos;s see what else you get in this edition of FOSS Weekly:</strong></p><ul><li>A new Budgie release.</li><li>Meta is betting big on its GitHub Copilot challenger.</li><li>A guide on monitoring Raspberry Pi temperature.</li><li>The creators of Atom have come up with something new.</li><li>And other Linux news, videos and, of course, memes!</li></ul><hr><h2 id="%F0%9F%93%B0-linux-news">&#x1F4F0; Linux news</h2><ul><li>Aircove VPN router is <a href="https://news.itsfoss.com/expressvpn-aircove/?ref=itsfoss.com" rel="noreferrer">now available</a> to purchase in Canada.</li><li>Vanilla OS 2 Orchid Beta <a href="https://vanillaos.org/blog/article/2024-01-30/vanilla-os-2-orchid-beta-is-here?ref=itsfoss.com" rel="noreferrer">has been released</a> for testing purposes.</li><li>Meta&apos;s AI-powered rival to Github&apos;s Copilot has received a <a href="https://news.itsfoss.com/metas-llama-70b/?ref=itsfoss.com" rel="noreferrer">major boost</a>.</li><li>Budgie 10.9 <a href="https://news.itsfoss.com/budgie-10-9-release/?ref=itsfoss.com" rel="noreferrer">was released</a>, featuring a session manager and initial Wayland ports.</li></ul><p>The creators of Atom <a href="https://news.itsfoss.com/atom-creators-zed-open-source/?ref=itsfoss.com" rel="noreferrer">have introduced</a> a new open-source code editor. It&apos;s not available for Linux yet, though.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://news.itsfoss.com/atom-creators-zed-open-source/?ref=itsfoss.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Creators of Atom Bring Another Open Source Code Editor</div><div class="kg-bookmark-description">Zed is now open-source, with interesting features in the mix.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://news.itsfoss.com/content/images/size/w256h256/2022/08/android-chrome-192x192.png" alt="FOSS Weekly #24.05: Zed Editor, PrivateGPT AI, CPU Temperature in Linux and More"><span class="kg-bookmark-author">It&apos;s FOSS News</span><span class="kg-bookmark-publisher">Ankush Das</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://news.itsfoss.com/content/images/2024/01/zed-editor.png" alt="FOSS Weekly #24.05: Zed Editor, PrivateGPT AI, CPU Temperature in Linux and More"></div></a></figure><hr><h2 id="%F0%9F%8C%90-follow-us-on-google-news">&#x1F310; Follow us on Google News</h2><p>By the way, if you use Google,&#xA0;<a href="https://news.google.com/publications/CAAiENHoh-T8yP9Q8Qywor2dwGkqFAgKIhDR6Ifk_Mj_UPEMsKK9ncBp?ref=itsfoss.com">follow It&apos;s FOSS on Google News</a>&#xA0;to get trusted It&apos;s FOSS content before other websites in Google search.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://news.google.com/publications/CAAiENHoh-T8yP9Q8Qywor2dwGkqFAgKIhDR6Ifk_Mj_UPEMsKK9ncBp?ref=itsfoss.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">It&#x2019;s FOSS - Google News</div><div class="kg-bookmark-description">Read full articles from It&#x2019;s FOSS and explore endless topics, magazines and more on your phone or tablet with Google News.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://ssl.gstatic.com/gnews/logo/google_news_192.png" alt="FOSS Weekly #24.05: Zed Editor, PrivateGPT AI, CPU Temperature in Linux and More"><span class="kg-bookmark-author">Google News</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://lh3.googleusercontent.com/8BtTTnoAEYry0KuwC0nPq5U_GERPzo_DTNxmR3FEzmJQxtUaUndM6ydGtZSnIorEoCSILMmf9g=rj-c-w300-h300-l95-c0xffffff" alt="FOSS Weekly #24.05: Zed Editor, PrivateGPT AI, CPU Temperature in Linux and More"></div></a></figure><hr><h2 id="%F0%9F%A7%A0-what-we%E2%80%99re-thinking-about">&#x1F9E0; What we&#x2019;re thinking about</h2><p>Linus is not happy with a Google kernel contributor, proceed with caution.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://www.theregister.com/2024/01/29/linux_6_8_rc2/?ref=itsfoss.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Linus Torvalds flames Google kernel contributor</div><div class="kg-bookmark-description">Kernel 6.8-rc2 debuts after very robust discussion about &#x2018;inodes&#x2019;</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://www.theregister.com/design_picker/13249a2e80709c7ff2e57dd3d49801cd534f2094/graphics/favicons/favicon.svg" alt="FOSS Weekly #24.05: Zed Editor, PrivateGPT AI, CPU Temperature in Linux and More"><span class="kg-bookmark-author">The Register</span><span class="kg-bookmark-publisher">Simon Sharwood</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://regmedia.co.uk/2024/01/29/leonardo_ai_flaming_penguin.jpg" alt="FOSS Weekly #24.05: Zed Editor, PrivateGPT AI, CPU Temperature in Linux and More"></div></a></figure><hr><h2 id="%F0%9F%A7%AE-linux-tips-tutorials-and-more">&#x1F9EE; Linux Tips, Tutorials and More</h2><p>I know I mentioned it in the intro of this newsletter but since some people just skip to respective sections, I included it again here.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/privategpt-setup/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Setting Up PrivateGPT to Use AI Chat With Your Documents</div><div class="kg-bookmark-description">Set up the PrivateGPT AI tool and interact or summarize your documents with full control on your data.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png" alt="FOSS Weekly #24.05: Zed Editor, PrivateGPT AI, CPU Temperature in Linux and More"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Abhishek Kumar</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/2024/01/privategpt-setup.png" alt="FOSS Weekly #24.05: Zed Editor, PrivateGPT AI, CPU Temperature in Linux and More"></div></a></figure><p>Here&apos;s how you can keep an eye on the CPU and GPU temperature of your Raspberry Pi by using various methods.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/raspberry-pi-cpu-gpu-temperature/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Monitor CPU &amp; GPU Temperature in Raspberry Pi [CLI and GUI]</div><div class="kg-bookmark-description">Here&#x2019;s how to keep an eye on the CPU and GPU temperature of your Raspberry Pi in both GUI and command line.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png" alt="FOSS Weekly #24.05: Zed Editor, PrivateGPT AI, CPU Temperature in Linux and More"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Abhishek Prakash</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/2024/01/raspberry-pi-monitoring-cpu-temperature.png" alt="FOSS Weekly #24.05: Zed Editor, PrivateGPT AI, CPU Temperature in Linux and More"></div></a></figure><p>You can also <a href="https://itsfoss.com/check-laptop-cpu-temperature-ubuntu/">check CPU temperature in your regular Linux desktop</a>.</p><p>This week&apos;s Linux command highlight is the <a href="https://itsfoss.com/paste-command/">paste command</a>.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/paste-command/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Paste Command Examples</div><div class="kg-bookmark-description">Merge file contents, and display output among other things with the paste command. Explore more here.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png" alt="FOSS Weekly #24.05: Zed Editor, PrivateGPT AI, CPU Temperature in Linux and More"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Sagar Sharma</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/2024/01/paste-command-in-linux.png" alt="FOSS Weekly #24.05: Zed Editor, PrivateGPT AI, CPU Temperature in Linux and More"></div></a></figure><h2 id="%F0%9F%93%B9-what-we-are-watching">&#x1F4F9; What we are watching</h2><p>The<a href="https://frame.work/products/laptop16-amd-7040?ref=itsfoss.com" rel="noreferrer"> Framework 16</a> is effortless to take apart!</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/Y8uv8fajOrc?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen title="The Framework 16 Teardown!-Best Teardown of the year already??"></iframe></figure><hr><h2 id="%E2%9C%A8-project-highlights">&#x2728; Project highlights</h2><p>I haven&apos;t tried it yet but the project seems to have potential. </p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://sxmo.org/?ref=itsfoss.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Sxmo: Simple X mobile</div><div class="kg-bookmark-description">A minimalist linux smartphone environment that is truly yours to control! Sxmo, or Simple X Mobile, is a collection of simple and suckless X programs and scripts used together to create a fully functional mobile UI adhering to the Unix philosophy for the Pinephone and other Linux smartphones</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://sxmo.org/favicon.ico" alt="FOSS Weekly #24.05: Zed Editor, PrivateGPT AI, CPU Temperature in Linux and More"><span class="kg-bookmark-author">Sxmo: Simple X mobile</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://sxmo.org/img/sxmo_logo.png" alt="FOSS Weekly #24.05: Zed Editor, PrivateGPT AI, CPU Temperature in Linux and More"></div></a></figure><hr><h2 id="%F0%9F%A7%A9-new-quiz-unit">&#x1F9E9; New quiz unit</h2><p>Can you guess the Linux commands from their usage description in this time sensitive quiz?</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.com/quiz/match-linux-commands/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Match Linux Commands</div><div class="kg-bookmark-description">A fun, drag and drop quiz to identify the common Linux commands. But do it under 30 seconds.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png" alt="FOSS Weekly #24.05: Zed Editor, PrivateGPT AI, CPU Temperature in Linux and More"><span class="kg-bookmark-author">It&apos;s FOSS</span><span class="kg-bookmark-publisher">Abhishek Prakash</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.com/content/images/2024/01/Match-and-More.png" alt="FOSS Weekly #24.05: Zed Editor, PrivateGPT AI, CPU Temperature in Linux and More"></div></a></figure><hr><h2 id="%F0%9F%8E%9F%EF%B8%8F-event-alert">&#x1F39F;&#xFE0F; Event alert</h2><p>Free and open source conference Installfest in Prague is gearing up for its latest event. Most talks from previous years are in Czech, but there will be some in English as well.</p><p>Call for speakers is now open, so if you have interesting thoughts to share at the event, please apply on their website. </p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://installfest.cz/if24/?ref=itsfoss.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">InstallFest 2024</div><div class="kg-bookmark-description">Konference pro za&#x10D;&#xE1;te&#x10D;n&#xED;ky i odborn&#xED;ky o Linuxu, open-source a o v&#x161;em, co s t&#xED;m souvis&#xED;.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://installfest.cz/if24/favicon.ico" alt="FOSS Weekly #24.05: Zed Editor, PrivateGPT AI, CPU Temperature in Linux and More"><span class="kg-bookmark-publisher">m.jezdinskysh.cvut.cz</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://installfest.cz/if22/images/media_image.jpg" alt="FOSS Weekly #24.05: Zed Editor, PrivateGPT AI, CPU Temperature in Linux and More"></div></a></figure><hr><h2 id="%F0%9F%92%A1-quick-handy-tip">&#x1F4A1; Quick handy tip</h2><p>Get the view count of your bookmarks (how many times you visited your bookmarks) in Firefox.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/Bookmark-view-count.png" class="kg-image" alt="FOSS Weekly #24.05: Zed Editor, PrivateGPT AI, CPU Temperature in Linux and More" loading="lazy" width="1260" height="670" srcset="https://itsfoss.com/content/images/size/w600/2024/01/Bookmark-view-count.png 600w, https://itsfoss.com/content/images/size/w1000/2024/01/Bookmark-view-count.png 1000w, https://itsfoss.com/content/images/2024/01/Bookmark-view-count.png 1260w" sizes="(min-width: 720px) 720px"></figure><p>Go to Firefox Library (Bookmark Manager) using the keyboard shortcut &#x201C;<em>Ctrl+Shift+O</em>&#x201D;. From there, toggle the view count by going into the &#x201C;Views&#x201D; menu.</p><hr><h2 id="%F0%9F%A4%A3-meme-of-the-week">&#x1F923; Meme of the week</h2><p>They are some of the real ones out there. Never lose hope, newbies!</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/meme4.png" class="kg-image" alt="FOSS Weekly #24.05: Zed Editor, PrivateGPT AI, CPU Temperature in Linux and More" loading="lazy" width="1080" height="1080" srcset="https://itsfoss.com/content/images/size/w600/2024/01/meme4.png 600w, https://itsfoss.com/content/images/size/w1000/2024/01/meme4.png 1000w, https://itsfoss.com/content/images/2024/01/meme4.png 1080w" sizes="(min-width: 720px) 720px"></figure><hr><h2 id="%F0%9F%97%93%EF%B8%8F-tech-trivia">&#x1F5D3;&#xFE0F; Tech Trivia</h2><p>On January 25, 1915, Alexander Graham Bell inaugurated U.S. transcontinental telephone service, speaking from New York to Thomas Watson in San Francisco. </p><hr><h2 id="%F0%9F%A7%91%E2%80%8D%F0%9F%A4%9D%E2%80%8D%F0%9F%A7%91-fossverse-corner">&#x1F9D1;&#x200D;&#x1F91D;&#x200D;&#x1F9D1; FOSSverse corner</h2><p>It&apos;s FOSS Plus member Ernie and others are <a href="https://itsfoss.community/t/escuelas-schools-linux-is-very-interesting/11675?ref=itsfoss.com" rel="noreferrer">discussing</a> Escuelas Linux. Join in and share your insights too!</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.community/t/escuelas-schools-linux-is-very-interesting/11675?ref=itsfoss.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Escuelas (Schools) Linux is very interesting</div><div class="kg-bookmark-description">Escuelas Linux is intended for use in a k-12 environment. I read about it in my current ZDNet newsletter This education-based Linux distro is designed for schools - and it&#x2019;s free The part I find very interesting is that it provides three ways to &#x2018;restore&#x2019; itself (see the coverage of these in the linked article) if things get bollixed up. 1. It can restore itself to its initial configuration/state, removing any user, files, or configuration changes that have been made since initial installation&#x2026;</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.community/uploads/default/optimized/1X/f274f9749e3fd8b4d6fbae1cf90c5c186d2f699c_2_180x180.png" alt="FOSS Weekly #24.05: Zed Editor, PrivateGPT AI, CPU Temperature in Linux and More"><span class="kg-bookmark-author">It&apos;s FOSS Community</span><span class="kg-bookmark-publisher">ernie</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.community/uploads/default/original/1X/f274f9749e3fd8b4d6fbae1cf90c5c186d2f699c.png" alt="FOSS Weekly #24.05: Zed Editor, PrivateGPT AI, CPU Temperature in Linux and More"></div></a></figure><hr><h2 id="%E2%9D%A4%EF%B8%8F-with-love">&#x2764;&#xFE0F; With love</h2><p><strong>Share it with your Linux-using friends</strong>&#xA0;and encourage them to subscribe (hint:&#xA0;<a href="https://itsfoss.com/newsletter/">it&apos;s here</a>).</p><p>Share the articles in Linux Subreddits and community forums.</p><p>Opt for&#xA0;<a href="https://itsfoss.com/membership">It&apos;s FOSS Plus membership</a>&#xA0;and support us &#x1F64F;</p><p>Enjoy using Linux &#x1F604;</p>]]></content:encoded></item><item><title><![CDATA[Paste Command Examples]]></title><description><![CDATA[Merge file contents, and display output among other things with the paste command. Explore more here.]]></description><link>https://itsfoss.com/paste-command/</link><guid isPermaLink="false">65a0f93cf864b805124f5d7f</guid><category><![CDATA[Linux Commands]]></category><dc:creator><![CDATA[Sagar Sharma]]></dc:creator><pubDate>Tue, 30 Jan 2024 11:08:16 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2024/01/paste-command-in-linux.png" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2024/01/paste-command-in-linux.png" alt="Paste Command Examples"><p>No, it does not paste the copied text or items &#x1F632;</p><p>Surprised? I, too, was shocked when I got to know that the paste command in Linux is used to merge lines from multiple files parallelly.</p><p>In simple terms, if you have two files each containing a list of items, then you can use the paste command to merge both of them, and you end up getting data in table format. </p><p>It is similar to the cat command, which is used to concatenate files vertically. Here, the command appends the data separated by Tab as the default delimiter.</p><p>Now that you have an idea, let me walk you through how you can use the paste command with practical examples and, at last, I shall also share some practice questions.</p><h2 id="heres-how-to-use-the-paste-command">Here&apos;s How to use the paste command </h2><p>To get the most out of any command, it is recommended to get started with the command syntax.</p><p>Here&apos;s a simple command syntax that you need to follow to use the paste command:</p><pre><code>paste [option] [files]</code></pre><p>Here,</p><ul><li><code>[option]</code>: it is used to tweak the default behavior of the paste command such as when you use the <code>-s</code> option, it will stack the information of two files vertically.</li><li><code>[files]</code>: here&apos;s where you append two or more files to merge them.</li></ul><p>Unlike other commands, you are not given a long list of options, so here are the list of options available with the paste command:</p>
  247. <!--kg-card-begin: html-->
  248. <table>
  249. <thead>
  250. <tr>
  251. <th>Option</th>
  252. <th>Description</th>
  253. </tr>
  254. </thead>
  255. <tbody>
  256. <tr>
  257. <td><code>-d</code></td>
  258. <td>Specifies the delimiter to use between columns (default is a tab).</td>
  259. </tr>
  260. <tr>
  261. <td><code>-s</code></td>
  262. <td>Concatenates lines horizontally.</td>
  263. </tr>
  264. <tr>
  265. <td><code>--help</code></td>
  266. <td>Displays a summary of options.</td>
  267. </tr>
  268. <tr>
  269. <td><code>--version</code></td>
  270. <td>Outputs version information for the paste command.</td>
  271. </tr>
  272. </tbody>
  273. </table>
  274. <!--kg-card-end: html-->
  275. <p>Now, let&apos;s take a look at some examples of using the paste command.</p><h3 id="1-display-the-file-content">1. Display the file content </h3><p>Almost every Linux user uses <a href="https://linuxhandbook.com/cat-command/?ref=itsfoss.com" rel="noreferrer">the cat command</a> to print the file content to standard output, but the paste command can do the same for you.</p><p>All you have to do is append the filename to the paste command, and it will get the job done:</p><pre><code>paste Filename</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/Use-the-paste-command-to-print-the-file-content.png" class="kg-image" alt="Paste Command Examples" loading="lazy" width="756" height="255" srcset="https://itsfoss.com/content/images/size/w600/2024/01/Use-the-paste-command-to-print-the-file-content.png 600w, https://itsfoss.com/content/images/2024/01/Use-the-paste-command-to-print-the-file-content.png 756w" sizes="(min-width: 720px) 720px"></figure><h3 id="2-merge-two-files">2. Merge two files </h3><p>To merge two files using the paste command, all you have to do is append the filenames separated by space (just like when using the <a href="https://itsfoss.com/mv-command/" rel="noreferrer">mv command</a>):</p><pre><code>paste File1 File2</code></pre><p>For example, here, I used the paste command over two files <code>fruits</code> and <code>prices</code> so you can have a better idea of its behavior:</p><pre><code>paste fruits prices</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/Use-paste-command-to-merge-two-files-in-linux.png" class="kg-image" alt="Paste Command Examples" loading="lazy" width="756" height="207" srcset="https://itsfoss.com/content/images/size/w600/2024/01/Use-paste-command-to-merge-two-files-in-linux.png 600w, https://itsfoss.com/content/images/2024/01/Use-paste-command-to-merge-two-files-in-linux.png 756w" sizes="(min-width: 720px) 720px"></figure><p>As you can see, when I executed the paste command over two files, it gave me an output showing two files were merged. </p><h3 id="3-save-the-output-in-the-file">3. Save the output in the file </h3><p>In the previous example, when I used the paste command, it only merged two files for the sake of the output, and the combined data was not saved.</p><p>You may come across a need to save the output in a file and in that case, you can <a href="https://linuxhandbook.com/command-output-to-file/?ref=itsfoss.com" rel="noreferrer">redirect the output to the file</a> using redirection as shown here:</p><pre><code>paste File1 File2 &gt; Filename_to_save</code></pre><p>Here&apos;s how I saved the output of the paste command, using the redirection:</p><pre><code>paste fruits prices &gt; Fresh_prices</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/Save-output-of-the-paste-command-using-redirection-in-Linux.png" class="kg-image" alt="Paste Command Examples" loading="lazy" width="756" height="227" srcset="https://itsfoss.com/content/images/size/w600/2024/01/Save-output-of-the-paste-command-using-redirection-in-Linux.png 600w, https://itsfoss.com/content/images/2024/01/Save-output-of-the-paste-command-using-redirection-in-Linux.png 756w" sizes="(min-width: 720px) 720px"></figure><h3 id="4-merge-files-horizontally">4. Merge files horizontally </h3><p>Using the paste command, you can also merge files horizontally. </p><p>To merge files horizontally, all you have to do is use the <code>-s</code> flag as shown:</p><pre><code>paste -s File1 File2</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/Merge-files-horintally-using-the-paste-command.png" class="kg-image" alt="Paste Command Examples" loading="lazy" width="756" height="152" srcset="https://itsfoss.com/content/images/size/w600/2024/01/Merge-files-horintally-using-the-paste-command.png 600w, https://itsfoss.com/content/images/2024/01/Merge-files-horintally-using-the-paste-command.png 756w" sizes="(min-width: 720px) 720px"></figure><h3 id="5-use-delimiter-while-merging-files">5. Use delimiter while merging files </h3><p>When you merge files using the paste command, it uses a tab between two columns by default, but you can specify your favorite delimiter using the <code>-d</code> option:</p><pre><code>paste -d &apos;delimeter&apos; File1 File 2</code></pre><p>For example, here, I&apos;ve used <code>-</code> as a delimiter:</p><pre><code>paste -d &apos;-&apos; fruits prices</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/use-delimiter-in-the-paste-command.png" class="kg-image" alt="Paste Command Examples" loading="lazy" width="756" height="206" srcset="https://itsfoss.com/content/images/size/w600/2024/01/use-delimiter-in-the-paste-command.png 600w, https://itsfoss.com/content/images/2024/01/use-delimiter-in-the-paste-command.png 756w" sizes="(min-width: 720px) 720px"></figure><p>You can also use a delimiter while merging files horizontally by utilizing the <code>-d</code> and <code>-s</code> flag as shown here:</p><pre><code>paste -d &apos;delimeter&apos; -s File1 File2 </code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/Add-delimiter-while-merging-files-horizontally-in-the-paste-command.png" class="kg-image" alt="Paste Command Examples" loading="lazy" width="756" height="159" srcset="https://itsfoss.com/content/images/size/w600/2024/01/Add-delimiter-while-merging-files-horizontally-in-the-paste-command.png 600w, https://itsfoss.com/content/images/2024/01/Add-delimiter-while-merging-files-horizontally-in-the-paste-command.png 756w" sizes="(min-width: 720px) 720px"></figure><p>While merging more than one file, you can also use multiple delimiters as shown here:</p><pre><code>paste -d &apos;Delimiter1Delimiter2&apos; File1 File2 File3</code></pre><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/use-multiple-delimiters-with-the-paste-command.png" class="kg-image" alt="Paste Command Examples" loading="lazy" width="756" height="222" srcset="https://itsfoss.com/content/images/size/w600/2024/01/use-multiple-delimiters-with-the-paste-command.png 600w, https://itsfoss.com/content/images/2024/01/use-multiple-delimiters-with-the-paste-command.png 756w" sizes="(min-width: 720px) 720px"></figure><h2 id="practice-questions-%F0%9F%93%93">Practice questions &#x1F4D3;</h2><p>To get better at using any command, it is important to practice the command. This is the reason you&apos;ll find plenty of exercise questions in our recent articles for commands.</p><p>Here&apos;s what you can try doing:</p><ol><li>How do you create a new file and write new lines using the paste command? (Hint: syntax is similar to the cat command)</li><li>How do you sort the output of the paste command alphabetically? (Hint: pipe <a href="https://linuxhandbook.com/sort-command/?ref=itsfoss.com" rel="noreferrer">the sort command</a> with the pipe command)</li><li>Print only the first 3 lines while using the paste command to merge two files (Hint: pipe it with <a href="https://linuxhandbook.com/cut-command/?ref=itsfoss.com" rel="noreferrer">the cut command</a>)</li><li>Save a copy of the merged output to a file while also displaying it. (Hint: pipe it with <a href="https://linuxhandbook.com/tee-command/?ref=itsfoss.com" rel="noreferrer">the tee command</a>)</li></ol><p>If you encounter any difficulty while solving the practice questions, you can reach out to us through the comments section or post your doubts in <a href="https://itsfoss.community/?ref=itsfoss.com" rel="noreferrer">our community forum.</a></p><h2 id="wrapping-up">Wrapping Up</h2><p>In this tutorial, we went through the basic syntax, a list of available options, practical examples, and practice questions for the paste command.</p><p>You might like some other examples for the same command on our Linux Handbook blog:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://linuxhandbook.com/paste-command/?ref=itsfoss.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">7 Essential and Practical Usage of Paste Command in Linux</div><div class="kg-bookmark-description">Learn how to use the paste utility on practical examples to merge text files, and discover a couple of tricks and pitfalls of that command at the same time.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://linuxhandbook.com/content/images/size/w256h256/2021/08/Linux-Handbook-New-Logo.png" alt="Paste Command Examples"><span class="kg-bookmark-author">Linux Handbook</span><span class="kg-bookmark-publisher">Sylvain Leroux</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://linuxhandbook.com/content/images/2020/06/paste-command-linux-1.jpeg" alt="Paste Command Examples"></div></a></figure><p>What should I cover next? Any specific command that you want to dive into? Please let me know your thoughts in the comments.</p><p>I hope you will find this guide helpful &#x1F60A;</p>]]></content:encoded></item><item><title><![CDATA[Monitor CPU and GPU Temperature in Raspberry Pi]]></title><description><![CDATA[Here's how to keep an eye on the CPU and GPU temperature of your Raspberry Pi in both GUI and command line.]]></description><link>https://itsfoss.com/raspberry-pi-cpu-gpu-temperature/</link><guid isPermaLink="false">65b7795af30830050bca2dd1</guid><category><![CDATA[Raspberry Pi]]></category><dc:creator><![CDATA[Abhishek Prakash]]></dc:creator><pubDate>Mon, 29 Jan 2024 11:59:51 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2024/01/raspberry-pi-monitoring-cpu-temperature.png" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2024/01/raspberry-pi-monitoring-cpu-temperature.png" alt="Monitor CPU and GPU Temperature in Raspberry Pi"><p>Heating is one of the most common issues in all the single board computers like Raspberry Pi. </p><p>Keeping an eye on the CPU temperature could be one way to determine why your Pi is lagging or acting slow.</p><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x1F4CB;</div><div class="kg-callout-text">This tutorial has been performed on a Raspberry Pi 5 running Raspberry Pi OS. And hence it uses the tools provided by Raspberry Pi.</div></div><p>I&apos;ll be discussing two ways of monitoring the CPU and GPU temperature on a Raspberry Pi running the Raspbian OS:</p><ul><li>Monitor the temperature with an applet on the top panel (for desktop systems with GUI)</li><li>Monitoring the temperature in command line (suitable for all systems)</li></ul><p>Let&apos;s see them one by one.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">&#x26A0;&#xFE0F;</div><div class="kg-callout-text">Raspberry Pi uses a system on chip (SoC) from Broadcom which consists of an ARM processor (CPU) and an on-chip GPU. In simpler words, the chip has both CPU and GPU in it. Raspberry Pi provides utilities that show the temperature for this SoC. You can take that as the temperature of both CPU and GPU.</div></div><h2 id="method-1-monitoring-raspberry-pi-cpu-and-gpu-temperature-using-gui-tool">Method 1: Monitoring Raspberry Pi CPU and GPU temperature using GUI tool</h2><p>If you are using your Raspberry Pi as a desktop system with Raspbian OS, you can add a handy applet to the top of your screen. It will show you the current CPU (actually the SoC) temperature. </p><p>Here are the steps.</p><p>Right click on an empty space on the top panel.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/add-applet-raspberry-pi--1-.webp" class="kg-image" alt="Monitor CPU and GPU Temperature in Raspberry Pi" loading="lazy" width="992" height="353" srcset="https://itsfoss.com/content/images/size/w600/2024/01/add-applet-raspberry-pi--1-.webp 600w, https://itsfoss.com/content/images/2024/01/add-applet-raspberry-pi--1-.webp 992w" sizes="(min-width: 720px) 720px"></figure><p>Since most people are concerned with CPU temperature, it is named as CPU Temp even though it shows the temperature of the SoC (that houses both CPU and GPU). </p><p>Select <strong>CPU Temp</strong> and click on <strong>Add to right</strong> and hit the OK button.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/monitor-cpu-temp-raspberry-pi.webp" class="kg-image" alt="Monitor CPU and GPU Temperature in Raspberry Pi" loading="lazy" width="918" height="511" srcset="https://itsfoss.com/content/images/size/w600/2024/01/monitor-cpu-temp-raspberry-pi.webp 600w, https://itsfoss.com/content/images/2024/01/monitor-cpu-temp-raspberry-pi.webp 918w" sizes="(min-width: 720px) 720px"></figure><p>The &apos;Add to right&apos; means it will be added to the right most corner of the panel. This is where you would want it anyway. CPU and GPU will show the CPU and GPU usage respectively (if you want that as well in the top panel).</p><p>Now, you should start seeing the temperature of your processor chip:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://itsfoss.com/content/images/2024/01/displaying-cpu-temperature-raspberry-pi.webp" class="kg-image" alt="Monitor CPU and GPU Temperature in Raspberry Pi" loading="lazy" width="805" height="312" srcset="https://itsfoss.com/content/images/size/w600/2024/01/displaying-cpu-temperature-raspberry-pi.webp 600w, https://itsfoss.com/content/images/2024/01/displaying-cpu-temperature-raspberry-pi.webp 805w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">The SoC temperature changes continually</span></figcaption></figure><p>Right click on the applet and you can configure it to some extent. </p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/configure-plugin-raspberry-pi.webp" class="kg-image" alt="Monitor CPU and GPU Temperature in Raspberry Pi" loading="lazy" width="729" height="363" srcset="https://itsfoss.com/content/images/size/w600/2024/01/configure-plugin-raspberry-pi.webp 600w, https://itsfoss.com/content/images/2024/01/configure-plugin-raspberry-pi.webp 729w" sizes="(min-width: 720px) 720px"></figure><p>You can change the colors of the applet or of critical points such as CPU frequency cap or temperature threshold.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/raspberry-pi-cpu-temperature-monitoring-options.webp" class="kg-image" alt="Monitor CPU and GPU Temperature in Raspberry Pi" loading="lazy" width="1021" height="567" srcset="https://itsfoss.com/content/images/size/w600/2024/01/raspberry-pi-cpu-temperature-monitoring-options.webp 600w, https://itsfoss.com/content/images/size/w1000/2024/01/raspberry-pi-cpu-temperature-monitoring-options.webp 1000w, https://itsfoss.com/content/images/2024/01/raspberry-pi-cpu-temperature-monitoring-options.webp 1021w" sizes="(min-width: 720px) 720px"></figure><h2 id="method-2-monitoring-raspberry-pi-gpu-and-cpu-temperature-in-the-command-line">Method 2: Monitoring Raspberry Pi GPU and CPU temperature in the command line</h2><p>Raspberry Pi has a dedicated command line utility, <a href="https://elinux.org/RPI_vcgencmd_usage?ref=itsfoss.com" rel="noreferrer">vcgencmd</a>, that shows various aspects of the Broadcom SoC, including its core temperature.</p><p>To see the current temperature of the system on chip (that consists of both CPU and GPU), use this command:</p><pre><code class="language- ">vcgencmd measure_temp</code></pre><p>It will show an output like:</p><pre><code>temp=52.3&apos;C</code></pre><p>Now, it&apos;s a one time command. But if you want to monitor the CPU temperature at a regular interval, you can use the watch command:</p><p>Let&apos;s say you want to monitor the chip temperature every 2 seconds. Use it in this fashion:</p><pre><code>watch -n 2 vcgencmd measure_temp</code></pre><p>And now it you&apos;ll see the current temperature value changes at every two seconds:</p><pre><code>Every 2.0s: vcgencmd measure_temp  raspberrypi: Mon Jan 29 16:25:27 2024
  276.  
  277. temp=53.0&apos;C</code></pre><p>By the way, if you are seeing your screen filled up with YYYYYY while using the watch command, change the locale and use a UTF-8 one. That happened with me on my new Raspberry Pi 5.</p><h2 id="conclusion">Conclusion</h2><p>Monitoring your CPU temperature is important in Raspberry Pi. If you find that your Pi is heating up frequently, you may want to invest in a heat sink or cooler of some sort (Amazon affiliate link) to reduce the SoC temperature.</p><div class="kg-card kg-product-card">
  278.            <div class="kg-product-card-container">
  279.                <img src="https://itsfoss.com/content/images/2024/02/geekpi-raspberry-pi-5-cooler.png" width="743" height="685" class="kg-product-card-image" loading="lazy" alt="Monitor CPU and GPU Temperature in Raspberry Pi">
  280.                <div class="kg-product-card-title-container">
  281.                    <h4 class="kg-product-card-title"><span style="white-space: pre-wrap;">GeeekPi Active Cooler for Raspberry Pi 5</span></h4>
  282.                </div>
  283.                
  284.                    <div class="kg-product-card-rating">
  285.                        <span class="kg-product-card-rating-active kg-product-card-rating-star"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M12.729,1.2l3.346,6.629,6.44.638a.805.805,0,0,1,.5,1.374l-5.3,5.253,1.965,7.138a.813.813,0,0,1-1.151.935L12,19.934,5.48,23.163a.813.813,0,0,1-1.151-.935L6.294,15.09.99,9.837a.805.805,0,0,1,.5-1.374l6.44-.638L11.271,1.2A.819.819,0,0,1,12.729,1.2Z"/></svg></span>
  286.                        <span class="kg-product-card-rating-active kg-product-card-rating-star"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M12.729,1.2l3.346,6.629,6.44.638a.805.805,0,0,1,.5,1.374l-5.3,5.253,1.965,7.138a.813.813,0,0,1-1.151.935L12,19.934,5.48,23.163a.813.813,0,0,1-1.151-.935L6.294,15.09.99,9.837a.805.805,0,0,1,.5-1.374l6.44-.638L11.271,1.2A.819.819,0,0,1,12.729,1.2Z"/></svg></span>
  287.                        <span class="kg-product-card-rating-active kg-product-card-rating-star"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M12.729,1.2l3.346,6.629,6.44.638a.805.805,0,0,1,.5,1.374l-5.3,5.253,1.965,7.138a.813.813,0,0,1-1.151.935L12,19.934,5.48,23.163a.813.813,0,0,1-1.151-.935L6.294,15.09.99,9.837a.805.805,0,0,1,.5-1.374l6.44-.638L11.271,1.2A.819.819,0,0,1,12.729,1.2Z"/></svg></span>
  288.                        <span class="kg-product-card-rating-active kg-product-card-rating-star"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M12.729,1.2l3.346,6.629,6.44.638a.805.805,0,0,1,.5,1.374l-5.3,5.253,1.965,7.138a.813.813,0,0,1-1.151.935L12,19.934,5.48,23.163a.813.813,0,0,1-1.151-.935L6.294,15.09.99,9.837a.805.805,0,0,1,.5-1.374l6.44-.638L11.271,1.2A.819.819,0,0,1,12.729,1.2Z"/></svg></span>
  289.                        <span class="kg-product-card-rating-active kg-product-card-rating-star"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M12.729,1.2l3.346,6.629,6.44.638a.805.805,0,0,1,.5,1.374l-5.3,5.253,1.965,7.138a.813.813,0,0,1-1.151.935L12,19.934,5.48,23.163a.813.813,0,0,1-1.151-.935L6.294,15.09.99,9.837a.805.805,0,0,1,.5-1.374l6.44-.638L11.271,1.2A.819.819,0,0,1,12.729,1.2Z"/></svg></span>
  290.                    </div>
  291.                
  292.  
  293.                <div class="kg-product-card-description"><p dir="ltr"><span style="white-space: pre-wrap;">This Armor Lite V5 Aluminum Heatsink supports PWM speed regulation, which is perfectly compatible with Raspberry Pi OS. With 3510 ultra-quiet cooling fan and thermal pads, it can lower the temperature of Raspberry Pi Board quickly.</span><br><br><span style="white-space: pre-wrap;">This is an </span><a href="https://itsfoss.com/affiliate-policy/" rel="noreferrer"><span style="white-space: pre-wrap;">affiliate link</span></a><span style="white-space: pre-wrap;">, which means we get a tiny part of the purchase.</span></p></div>
  294.                
  295.                    <a href="https://amzn.to/47YhuCL?ref=itsfoss.com" class="kg-product-card-button kg-product-card-btn-accent" target="_blank" rel="noopener noreferrer"><span>Get it on Amazon</span></a>
  296.                
  297.            </div>
  298.        </div><p>You may also use other Linux commands like sensors (package lm-sensor has to be installed) for measuring CPU temperature. </p><p>Enjoy your Pi and don&apos;t hesitate to use the comment section for your questions, suggestions or thank-yous &#x1F604;</p>]]></content:encoded></item><item><title><![CDATA[Setting Up PrivateGPT to Use AI Chat With Your Documents]]></title><description><![CDATA[Set up the PrivateGPT AI tool and interact or summarize your documents with full control on your data.]]></description><link>https://itsfoss.com/privategpt-setup/</link><guid isPermaLink="false">65b25524f30830050bc9fee9</guid><category><![CDATA[AI 🤖]]></category><dc:creator><![CDATA[Abhishek Kumar]]></dc:creator><pubDate>Fri, 26 Jan 2024 07:02:49 GMT</pubDate><media:content url="https://itsfoss.com/content/images/2024/01/privategpt-setup.png" medium="image"/><content:encoded><![CDATA[<img src="https://itsfoss.com/content/images/2024/01/privategpt-setup.png" alt="Setting Up PrivateGPT to Use AI Chat With Your Documents"><p>Have you ever thought about talking to your documents? </p><p>Like there is a long PDF that you are dreading reading, but it&apos;s important for your work or for your assignment. </p><p>What if you could ask questions to it like &#x201C;What are the key features mentioned in the document?&#x201D; Or &#x201C;Summarize the view of the author&#x201D;.</p><p>This all sounds too sci-fi or futuristic if someone would&apos;ve said that a few years ago but with the advent of all the AI tools available in the market, it is quite normal. </p><p>Not only ChatGPT, there are tons of free and paid AI-based services that can do this job today.</p><p>But I would rather not share my documents and data to train someone else&apos;s AI. I&apos;ll do it myself.</p><p>I am going to show you how I set up&#xA0;<a href="https://github.com/imartinez/privateGPT?ref=itsfoss.com">PrivateGPT</a>&#xA0;AI which is open source and will help me  &#x201C;chat with the documents&#x201D;. You can try and follow the same steps to get your own PrivateGPT set up in your homelab or personal computer.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">&#x270B;</div><div class="kg-callout-text">Don&apos;t expect ChatGPT like quick response. The computation is happening on your local system and it will depend on how powerful your system is.</div></div><h2 id="requirements">Requirements</h2><ul><li>X64 Intel/AMD based CPU</li><li><strong>8 GB RAM</strong>&#xA0;(minimum) but the more the better</li><li>Dedicated graphics card with&#xA0;<strong>2 GB VRAM</strong>&#xA0;(minimum)</li><li><strong>Any Linux distro will work just fine. Just pay attention to the package management commands. I am using Ubuntu Server 22.04 here.</strong></li><li>Python 3.11 (<strong>important</strong>)</li><li>Plenty of time and patience</li></ul><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">&#x1F6A7;</div><div class="kg-callout-text">This tutorial assumes that you are familiar and comfortable with Linux commands and you have some experience using Python environments. Previous experience with CUDA and any other AI tools is good to have. </div></div><h2 id="step-1-update-your-system">Step 1: Update your system</h2><p>It is important to ensure that our system is up-to date with all the latest releases of any packages.</p><pre><code class="language-bash">sudo apt update &amp;&amp; sudo apt upgrade -y
  299. </code></pre><h2 id="step-2-installing-python-version-311">Step 2. Installing Python version 3.11</h2><p>We need Python 3.11. Ubuntu 22.04 and many other distros come with an older version of Python 3.10.12. So you need to upgrade the Python version.</p><p>To check your Python version, type:</p><pre><code class="language-bash">python3 --version
  300. </code></pre><p>In Ubuntu, you can use a PPA to get a newer Python version.</p><pre><code class="language-bash">sudo add-apt-repository ppa:deadsnakes/ppa
  301. </code></pre><p>Here I am also installing another package called&#xA0;<code>python3.11-venv</code>&#xA0;(Learn more about <a href="https://itsfoss.com/python-setup-linux/">Python Virtual Environment</a>)</p><pre><code class="language-bash">sudo apt install python3.11 python3.11-venv -y
  302. </code></pre><p>Although the new version of python is installed, the default version stays at 3.10. To change that, you need to update our alternatives:</p><pre><code class="language-bash">sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 110
  303. </code></pre><p>then,</p><pre><code class="language-bash">sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 100
  304. </code></pre><p>Now you have two configurations in the alternatives and all you have to do is update them:</p><pre><code class="language-bash">sudo update-alternatives --config python3
  305. </code></pre><p>You&apos;ll be presented with two options to choose Python version and as you can see in the screenshot that I have selected number 2 which is the required version.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/python-alternative-configs-2.png" class="kg-image" alt="Setting Up PrivateGPT to Use AI Chat With Your Documents" loading="lazy"></figure><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x1F4CB;</div><div class="kg-callout-text">If in future you want to switch to the earlier version of python, you can run the same command and select the prefered version.</div></div><h2 id="step-3-installing-poetry">Step 3. Installing Poetry</h2><p>You can install <a href="https://python-poetry.org/?ref=itsfoss.com">Poetry</a> using&#xA0;<code>pip</code>. If you don&apos;t have it already, <a href="https://itsfoss.com/install-pip-ubuntu/">you can install Pip on Ubuntu</a> using:</p><pre><code class="language-bash">sudo apt install python3-pip</code></pre><p>after that:</p><pre><code class="language-bash">pip install poetry
  306. </code></pre><p>At this step, the installer might throw some errors related to&#xA0;<code>PATH</code>&#xA0;just like in the screenshot below:</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/PATH-error.png" class="kg-image" alt="Setting Up PrivateGPT to Use AI Chat With Your Documents" loading="lazy"></figure><p>To add&#xA0;<code>/home/user/.local/bin</code>&#xA0;to our&#xA0;<code>PATH</code>:</p><pre><code class="language-bash">nano ~/.bashrc
  307. </code></pre><p>Here, go at the end of the config file and add:</p><pre><code class="language-bash">export PATH=&quot;$HOME/.local/bin:$PATH&quot;
  308. </code></pre><p>I have used the exact value instead of using the $HOME variable.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/nano-bashrc-adding-PATH.png" class="kg-image" alt="Setting Up PrivateGPT to Use AI Chat With Your Documents" loading="lazy"></figure><p>To <a href="https://itsfoss.com/nano-save-exit/" rel="noreferrer">save and exit out of nano</a> press&#xA0;<code>CTRL+X</code>&#xA0;then press&#xA0;<code>y</code>&#xA0;and enter. Then to check if you <a href="https://itsfoss.com/add-directory-to-path-linux/">have successfully added the path type</a>:</p><pre><code class="language-bash">source .bashrc
  309. </code></pre><pre><code class="language-bash">echo $PATH
  310. </code></pre><p>The output will be something like this:</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/echo-PATH.png" class="kg-image" alt="Setting Up PrivateGPT to Use AI Chat With Your Documents" loading="lazy"></figure><p>Now let&apos;s check the version of the Poetry that we have installed. It is supposed to be&#xA0;<code>1.7</code>&#xA0;or above.</p><pre><code class="language-bash">poetry --version
  311. </code></pre><p>In my case, the output is :</p><pre><code class="language-bash">Poetry (version 1.7.1)
  312. </code></pre><h2 id="step-4-setting-up-privategpt">Step 4. Setting up PrivateGPT</h2><p>First, you need to clone the Private GPT repository in our system. I presume you have <a href="https://itsfoss.com/install-git-ubuntu/">Git installed on your system</a>.</p><pre><code class="language-bash">git clone https://github.com/imartinez/privateGPT
  313. </code></pre><p>Then enter the cloned repository:</p><pre><code class="language-bash">cd privateGPT
  314. </code></pre><p>Now you need to set up a new environment so that the entire system does not get messed up:</p><pre><code class="language-bash">python3 -m venv venv
  315. </code></pre><p>A new folder named&#xA0;<code>venv</code>&#xA0;has been created and to activate the virtual environment, type:</p><pre><code class="language-bash">source venv/bin/activate
  316. </code></pre><h2 id="step-5-installing-ui-local-in-poetry">Step 5. Installing&#xA0;ui,&#xA0;local&#xA0;in Poetry:</h2><p>Because we need a User Interface to interact with our AI, we need to install the&#xA0;<code>ui</code>&#xA0;feature of poetry and we need&#xA0;<code>local</code>&#xA0;as we are hosting our own local <a href="https://en.wikipedia.org/wiki/Large_language_model?ref=itsfoss.com">LLM</a>&apos;s.</p><pre><code class="language-bash">poetry install --with ui,local
  317. </code></pre><p>It&apos;ll take a little bit of time as it installs graphic drivers and other dependencies which are crucial to run the LLMs.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/script-to-download-dependencies-1.png" class="kg-image" alt="Setting Up PrivateGPT to Use AI Chat With Your Documents" loading="lazy"></figure><h2 id="step-6-installing-the-llm-model">Step 6. Installing the LLM model</h2><p>As most of the work has been done now and all you need is your LLM model to start chatting with your documents. </p><p>To install an LLM model:</p><pre><code class="language-bash">poetry run python scripts/setup
  318. </code></pre><p>This process will also take a long time, as the model first will be downloaded and then installed. The size of the models are usually more than 4 GB.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/downloading-LLMs.png" class="kg-image" alt="Setting Up PrivateGPT to Use AI Chat With Your Documents" loading="lazy"></figure><h2 id="step-7-installing-nvidia-cuda-toolkit">Step 7. Installing Nvidia CUDA toolkit</h2><p>If you are thinking to run any AI models just on your CPU, I have bad news for you. I mean, technically you can still do it but it will be painfully slow. It might not even work. </p><p>So it&apos;s better to use a dedicated GPU with lots of VRAM. I have an Nvidia GPU with 2 GB of VRAM.</p><pre><code class="language-bash">sudo apt install nvidia-cuda-toolkit -y
  319. </code></pre><h2 id="8-compiling-the-llms">8. Compiling the LLMs</h2><p>All you need to do is compile the LLMs to get started.</p><pre><code class="language-bash">CMAKE_ARGS=&apos;-DLLAMA_CUBLAS=on&apos; poetry run pip install --force-reinstall --no-cache-dir llama-cpp-python
  320. </code></pre><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x1F4CB;</div><div class="kg-callout-text">If you are following this tutorial on WSL or on a Mac, I would recommend you check the right command for your platform from this&#xA0;<a href="https://docs.privategpt.dev/installation?ref=itsfoss.com">official documentation</a>&#xA0;)</div></div><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/compiling-LLM-cpp-file.png" class="kg-image" alt="Setting Up PrivateGPT to Use AI Chat With Your Documents" loading="lazy"></figure><h2 id="9-run-privategpt">9. Run privateGPT</h2><p>This step requires you to set up a local profile which you can edit in a file inside privateGPT folder named&#xA0;<code>settings-local.yaml</code>&#xA0;but to not make this tutorial any longer, let&apos;s run it using this command:</p><pre><code class="language-bash">PGPT_PROFILES=local make run
  321. </code></pre><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x1F4CB;</div><div class="kg-callout-text">To read more about setting up profiles, refer this&#xA0;<a href="https://docs.privategpt.dev/manual?ref=itsfoss.com">manual</a>.</div></div><p>It should look like this in your terminal and you can see below that our privateGPT is live now on our local network.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/privateGPT-localhost-ready-to-use-1.png" class="kg-image" alt="Setting Up PrivateGPT to Use AI Chat With Your Documents" loading="lazy"></figure><h2 id="step-10-lets-chat-with-the-documents">Step 10. Let&apos;s chat with the documents</h2><p>To open your first PrivateGPT instance in your browser just type in&#xA0;<code>127.0.0.1:8001</code>&#xA0;. It will also be available over network so <a href="https://itsfoss.com/check-ip-address-ubuntu/">check the IP address of your server</a> and use it.</p><p>In my case, my server has the IP address of&#xA0;<code>192.168.1.7</code></p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/browser-local-ip-pvtgpt.png" class="kg-image" alt="Setting Up PrivateGPT to Use AI Chat With Your Documents" loading="lazy"></figure><p>Once your page loads up, you will be welcomed with the plain UI of PrivateGPT. </p><p>On the left side, you can upload your documents and select what you actually want to do with your AI i.e. &#x201C;Query Docs, Search in Docs, LLM Chat&#x201D; and on the right is the &#x201C;Prompt&#x201D; pane. Here you will type in your prompt and get response. </p><p>I am using an&#xA0;<a href="https://en.wikipedia.org/wiki/Linux?ref=itsfoss.com">article on Linux</a>&#xA0;that I have downloaded from Wikipedia. It&apos;s a 28 page PDF document.</p><p>Here&apos;s me asking some questions to PrivateGPT:</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/q-diff-ui-in-linux.png" class="kg-image" alt="Setting Up PrivateGPT to Use AI Chat With Your Documents" loading="lazy"></figure><p></p><p>Here is another question:</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/q-major-dev-in-linux.png" class="kg-image" alt="Setting Up PrivateGPT to Use AI Chat With Your Documents" loading="lazy"></figure><p>You can also chat with your LLM just like ChatGPT.</p><figure class="kg-card kg-image-card"><img src="https://itsfoss.com/content/images/2024/01/LLM-chat-html-boilerplate.png" class="kg-image" alt="Setting Up PrivateGPT to Use AI Chat With Your Documents" loading="lazy"></figure><p>You can give more thorough and complex prompts and it will answer. During my testing, I found out that the response time will highly vary because of your system. I had to wait approx. 2 mins just to get one response as I have an older system.</p><h2 id="conclusion">Conclusion</h2><p>Et voil&#xE0;! That&apos;s how you set up and host your own PrivateGPT. You can actually port forward this to a domain and access it outside your home network. </p><p>I know this solution is not for everyone and this project is also in constant development, but it&apos;s a good starting point for enthusiasts who want to board the open source AI train.</p><p>Please let me know your views, questions and suggestions on PrivateGPT setup and usage. I hope to share more cool AI stuff in the future.</p>]]></content:encoded></item></channel></rss>

If you would like to create a banner that links to this page (i.e. this validation result), do the following:

  1. Download the "valid RSS" banner.

  2. Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)

  3. Add this HTML to your page (change the image src attribute if necessary):

If you would like to create a text link instead, here is the URL you can use:

http://www.feedvalidator.org/check.cgi?url=https%3A//itsfoss.com/feed/

Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda