You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
17 KiB
HTML
71 lines
17 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<title>(POST) Why I Use Terminal Apps</title>
|
|
<link rel="icon" type="image/x-icon" href="../images/favicon.webp">
|
|
<link rel='stylesheet' type='text/css' href="../style.css">
|
|
<meta charset="utf-8"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
</head>
|
|
<body>
|
|
<a style="text-decoration: none;" href="../">
|
|
<pre class="main-header">
|
|
_______ _ _ _______ __ __ _______ _______ __ _
|
|
|______ | | |______ \_/ |_____| |_____| | \ |
|
|
______| |_____| | | | | | | | \_|
|
|
</pre>
|
|
</a>
|
|
<hr/>
|
|
<p><a href="../">sf.cu</a> > <a style="color:#bd93f9" href="../blog/">Blog</a> > <a style="color:#bd93f9" href="."><svg class="posts" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 256 256"><path fill="currentColor" d="M216 40H40a16 16 0 0 0-16 16v144a16 16 0 0 0 16 16h176a16 16 0 0 0 16-16V56a16 16 0 0 0-16-16ZM77.66 173.66a8 8 0 0 1-11.32-11.32L100.69 128L66.34 93.66a8 8 0 0 1 11.32-11.32l40 40a8 8 0 0 1 0 11.32ZM192 176h-64a8 8 0 0 1 0-16h64a8 8 0 0 1 0 16Z"/></svg>Why I Use Terminal Apps</a></p>
|
|
<h1><svg class="titles" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><path fill="currentColor" d="M216 40H40a16 16 0 0 0-16 16v144a16 16 0 0 0 16 16h176a16 16 0 0 0 16-16V56a16 16 0 0 0-16-16ZM77.66 173.66a8 8 0 0 1-11.32-11.32L100.69 128L66.34 93.66a8 8 0 0 1 11.32-11.32l40 40a8 8 0 0 1 0 11.32ZM192 176h-64a8 8 0 0 1 0-16h64a8 8 0 0 1 0 16Z"/></svg>Why I Use Terminal Apps</h1>
|
|
<p style="font-size:110%"><strong><svg class="postinfo" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="currentColor" d="M19 19H5V8h14m-3-7v2H8V1H6v2H5c-1.11 0-2 .89-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2h-1V1m-1 11h-5v5h5v-5Z"/></svg>13 March 2023</strong></p>
|
|
<p style="font-size:110%"><svg class="postinfo" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M2 12C2 6.477 6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12zm11-5a1 1 0 1 0-2 0v3.764a3 3 0 0 0 1.658 2.683l2.895 1.447a1 1 0 1 0 .894-1.788l-2.894-1.448a1 1 0 0 1-.553-.894V7z" clip-rule="evenodd"/></svg><strong>5 min</strong>
|
|
<p style="font-size:110%"><svg class="postinfo" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M0 0h24v24H0z"/><path fill="currentColor" d="M10 3H4a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1zm10 0h-6a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1zM10 13H4a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1zm7 0a4 4 0 1 1-3.995 4.2L13 17l.005-.2A4 4 0 0 1 17 13z"/></g></svg></strong><a style="color:#ff79c6" href="../blog/linux"><svg class="posts" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m5 7l5 5l-5 5m7 2h7"/></svg>Linux</a> && <a style="color:#ff79c6" href="../blog/software/"><svg class="posts" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24"><path fill="currentColor" d="M14 18.32A7.06 7.06 0 0 1 11.28 16H3V4h18v2.26a7.08 7.08 0 0 1 2 2.15V4a2 2 0 0 0-2-2H3a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h7v2H8v2h8v-2h-2Z"/><path fill="currentColor" d="M17 6a6 6 0 1 0 6 6a6 6 0 0 0-6-6Zm0 7.5a1.5 1.5 0 1 1 1.5-1.5a1.5 1.5 0 0 1-1.5 1.5Z"/></svg>Software</a></p>
|
|
<p><em>“Ah, yes. Graphical-user interface (GUI) apps. They are so comfortable and easy to use. You just click some buttons and get your computer to do what you want.”</em></p>
|
|
<p>That was what I thought before I learned how spectacular terminal applications are. <strong>I do not use a calendar or email GUI app. I use its terminal equivalent.</strong> Specifically, I use Calcurse for my calendar/todo, neomutt for my email, sxiv for my image viewing, mpv for my video playing and even Joplin (CLI) for my notes. I am still actively looking for more apps like terminal file managers (lf, ranger, mc) and terminal versions of GUI apps I use (Bitwarden?). What compelled me to switch?</p>
|
|
<h2><svg class="heading2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M4 19q-.825 0-1.413-.588T2 17V7q0-.825.588-1.413T4 5h16q.825 0 1.413.588T22 7v10q0 .825-.588 1.413T20 19H4Zm4-3h8v-2H8v2Zm-3-3h2v-2H5v2Zm3 0h2v-2H8v2Zm3 0h2v-2h-2v2Zm3 0h2v-2h-2v2Zm3 0h2v-2h-2v2ZM5 10h2V8H5v2Zm3 0h2V8H8v2Zm3 0h2V8h-2v2Zm3 0h2V8h-2v2Zm3 0h2V8h-2v2Z"/></svg>The Right Tool For The Right Job</h2>
|
|
<p>Firstly, I realized that apps that allow me to use my keyboard and reduce mouse usage to as little as possible saved me a lot of time. By a lot of time, I don't mean a few minutes. I mean hours in the long run. Moving your hand to your mouse and clicking a button takes at least three seconds. Multiply that hundreds of times a day and 365 days an year. That leads to a lot of time wasted just moving your hand to your mouse.</p>
|
|
<h2><svg class="heading2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M15 4a8 8 0 0 1 8 8a8 8 0 0 1-8 8a8 8 0 0 1-8-8a8 8 0 0 1 8-8m0 2a6 6 0 0 0-6 6a6 6 0 0 0 6 6a6 6 0 0 0 6-6a6 6 0 0 0-6-6m-1 2h1.5v3.78l2.33 2.33l-1.06 1.06L14 12.4V8M2 18a1 1 0 0 1-1-1a1 1 0 0 1 1-1h3.83c.31.71.71 1.38 1.17 2H2m1-5a1 1 0 0 1-1-1a1 1 0 0 1 1-1h2.05L5 12l.05 1H3m1-5a1 1 0 0 1-1-1a1 1 0 0 1 1-1h3c-.46.62-.86 1.29-1.17 2H4Z"/></svg>Fast. Very Fast.</h2>
|
|
<p>The speed of terminal apps have helped me get a lot more productive. Getting myself to start working immediately helped me a lot. I use Neovim for my text editor, and whenever I need to write text, its much faster to press a shortcut to open a blank file in Neovim than to open a GUI equivalent. It is also much faster to press a shortcut than to open my applications menu and search for my calendar app and wait a few seconds for the bloated app to open up. Terminal apps are just more lightweight. As a result, they operate faster and save me more than just a few seconds.</p>
|
|
<h2><svg class="heading2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M14.4 20L13 18.6l2.6-2.6l-2.6-2.6l1.4-1.4l2.6 2.6l2.6-2.6l1.4 1.4l-2.6 2.6l2.6 2.6l-1.4 1.4l-2.6-2.6l-2.6 2.6Zm1.975-9l-3.55-3.55l1.4-1.4l2.125 2.125l4.25-4.25L22 5.35L16.375 11ZM2 17v-2h9v2H2Zm0-8V7h9v2H2Z"/></svg><em>"Professionals Have Standards"</em></h2>
|
|
<p>CLI apps are more standardized. With a GUI, the procedure for solving an issue or using the application's functionality is similar to this:</p>
|
|
<ol>
|
|
<li>Click 'button1' on the top right.</li>
|
|
<li>Hover over 'dialogue2'</li>
|
|
<li>Click on 'button3'</li>
|
|
<li>Scroll down to 'setting4'</li>
|
|
<li>Change the value to False.</li>
|
|
<li>Click on Apply and OK.</li>
|
|
</ol>
|
|
<p>This is the sole reason that you see the terminal being used so much in Linux. It's easier to say “Open your terminal and type this” than to blabber a long list of instructions that will become redundant if the application in question decides to change their UI in an update.</p>
|
|
<h2><svg class="heading2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><path fill="currentColor" d="M112 112h32v32h-32Zm128 40a8 8 0 0 1-8 8h-16v40a16 16 0 0 1-16 16h-40v16a8 8 0 0 1-16 0v-16h-32v16a8 8 0 0 1-16 0v-16H56a16 16 0 0 1-16-16v-40H24a8 8 0 0 1 0-16h16v-32H24a8 8 0 0 1 0-16h16V56a16 16 0 0 1 16-16h40V24a8 8 0 0 1 16 0v16h32V24a8 8 0 0 1 16 0v16h40a16 16 0 0 1 16 16v40h16a8 8 0 0 1 0 16h-16v32h16a8 8 0 0 1 8 8Zm-80-48a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h48a8 8 0 0 0 8-8Z"/></svg>Run Them on a Potato!</h2>
|
|
<p>Due to the lightweight nature of the command line, your tools can run on just about any computer. It does not matter if your computer has a Pentium processor or a 12th-generation i9. GUI tools have system requirements and if it is a robust tool with a fancy interface, chances are that the requirements just for the app to look good knocks that tool off your app list on your 10-year-old computer.</p>
|
|
<h2><svg class="heading2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="currentColor" d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53l-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06L4.28 9.78a.751.751 0 0 1-1.042-.018a.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018a.751.751 0 0 1 .018 1.042Z"/></svg>Exponential Learning Curve</h2>
|
|
<p>While GUI apps are simple to use initially, your speed using the apps remains slow all the time. Sure, you may learn where every button is and be able to open any setting you want quickly, but that speed is nothing compared to one of a command line. With a command line, your speed is slower than a snail at first. However, after some time of using the program, you can do things at a similar speed as a GUI app.</p>
|
|
<p>If you daily-drive a terminal program, it takes only a few days for you to become faster at it than using a GUI program. After that, you will be able to understand your most used commands and use aliases to shorten them.</p>
|
|
<p>For example, if you view your free space regulary, instead of typing a 50-character command to print your free space, you can just alias that command to 'free-space'. Doing this will make it so that whenever you type 'free-space', it performs the aforementioned 50-character command and displays the output. This will save your more than just a few hours of time.</p>
|
|
<h2><svg class="heading2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28"><path fill="currentColor" d="M8 13A5 5 0 1 0 8 3a5 5 0 0 0 0 10Zm12 0a5 5 0 1 0 0-10a5 5 0 0 0 0 10Zm-7 7a5 5 0 1 1-10 0a5 5 0 0 1 10 0Zm7 5a5 5 0 1 0 0-10a5 5 0 0 0 0 10Z"/></svg>The Choices Never End!</h2>
|
|
<p>With terminal apps, you have a plethora of choices. I can almost guarantee that an app with functionality you wish existed does exist in the form of a command line application. There are obscure apps with spectacular functionality which can change your computing experience that you will miss out on if you stay away from the terminal.</p>
|
|
<h2><svg class="heading2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M3 12a3.5 3.5 0 0 1 3.5-3.5c1.204 0 2.02.434 2.7 1.113c.726.727 1.285 1.72 1.926 2.873l.034.06c.6 1.082 1.283 2.311 2.227 3.255c1.008 1.008 2.316 1.699 4.113 1.699a5.5 5.5 0 1 0-4.158-9.1a23.58 23.58 0 0 1 1.122 1.857A3.5 3.5 0 1 1 17.5 15.5c-1.203 0-2.02-.434-2.7-1.113c-.726-.727-1.285-1.72-1.926-2.873l-.034-.06c-.6-1.082-1.283-2.311-2.227-3.255C9.605 7.191 8.297 6.5 6.5 6.5a5.5 5.5 0 1 0 4.158 9.1a23.577 23.577 0 0 1-1.122-1.857A3.5 3.5 0 0 1 3 12Z"/></svg>Bathe In Possibilities!</h2>
|
|
<p>When it comes to GUI apps, you have to be honest. They do not have 100% functionality. It is simply implausible to fit every single function in a GUI app. Doing so would result in a lot of code to maintain, an extremely heavy app and a confusing layout. However, with a terminal app, all you have to do is type: </p>
|
|
<p><code>man command</code></p>
|
|
<p>or</p>
|
|
<p><code>command --help</code></p>
|
|
<p>and get the complete functionality of the app, all within less than 5% of the app size of its GUI equivalent.</p>
|
|
<h2><svg class="heading2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="none" d="M336 80H176a16 16 0 0 0-16 16v16h192V96a16 16 0 0 0-16-16Z"/><path fill="currentColor" d="M496 176a64.07 64.07 0 0 0-64-64h-48V96a48.05 48.05 0 0 0-48-48H176a48.05 48.05 0 0 0-48 48v16H80a64.07 64.07 0 0 0-64 64v48h480Zm-144-64H160V96a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16Zm-16 152a24 24 0 0 1-24 24H200a24 24 0 0 1-24-24v-4a4 4 0 0 0-4-4H16v144a64 64 0 0 0 64 64h352a64 64 0 0 0 64-64V256H340a4 4 0 0 0-4 4Z"/></svg>Skip The Middlemen</h2>
|
|
<p>All GUI apps are basically middlemen for the command line. They essentially use the command line for you. When you ditch the GUI and go straight for the terminal, you talk directly to the computer in a way in which the computer understands.</p>
|
|
<h2><svg class="heading2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><path fill="currentColor" d="M212 76v-4a44 44 0 0 0-74.86-31.31a3.93 3.93 0 0 0-1.14 2.8v88.72a4 4 0 0 0 6.2 3.33a47.67 47.67 0 0 1 25.48-7.54a8.18 8.18 0 0 1 8.31 7.58a8 8 0 0 1-8 8.42a32 32 0 0 0-32 32v33.88a4 4 0 0 0 1.49 3.12a47.92 47.92 0 0 0 74.21-17.16a4 4 0 0 0-4.49-5.56A68.06 68.06 0 0 1 192 192h-7.73a8.18 8.18 0 0 1-8.25-7.47a8 8 0 0 1 8-8.53h8a51.6 51.6 0 0 0 24-5.88A52 52 0 0 0 212 76Zm-12 36h-4a36 36 0 0 1-36-36v-4a8 8 0 0 1 16 0v4a20 20 0 0 0 20 20h4a8 8 0 0 1 0 16ZM88 28a44.05 44.05 0 0 0-44 44v4a52 52 0 0 0-4 94.12A51.6 51.6 0 0 0 64 176h7.73a8.18 8.18 0 0 1 8.27 7.47a8 8 0 0 1-8 8.53h-8a67.48 67.48 0 0 1-15.21-1.73a4 4 0 0 0-4.5 5.55A47.93 47.93 0 0 0 118.51 213a4 4 0 0 0 1.49-3.12V176a32 32 0 0 0-32-32a8 8 0 0 1-8-8.42a8.18 8.18 0 0 1 8.32-7.58a47.67 47.67 0 0 1 25.48 7.54a4 4 0 0 0 6.2-3.33V43.49a4 4 0 0 0-1.14-2.81A43.85 43.85 0 0 0 88 28Zm8 48a36 36 0 0 1-36 36h-4a8 8 0 0 1 0-16h4a20 20 0 0 0 20-20v-4a8 8 0 0 1 16 0Z"/></svg>First Impressions Matter</h2>
|
|
<p>When people first look at the terminal, it becomes set in their mind that it is difficult to use and that mentality stays for an extraordinarily long time. Due to this, they never experiment or even open the terminal application. If they run into an issue which requires the use of the terminal to fix, they decide to just live with the issue instead of using the terminal. However, if people use the terminal for a few weeks, they realize that it outpaces almost every other GUI app in almost everything.</p>
|
|
<h2><svg class="heading2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><path fill="currentColor" fill-rule="evenodd" d="M44 24c0 11.046-8.954 20-20 20S4 35.046 4 24S12.954 4 24 4s20 8.954 20 20Zm-27.778 7.778a1 1 0 0 1 0-1.414L22.586 24l-6.364-6.364a1 1 0 0 1 1.414-1.414L24 22.586l6.364-6.364a1 1 0 0 1 1.414 1.414L25.414 24l6.364 6.364a1 1 0 0 1-1.414 1.414L24 25.414l-6.364 6.364a1 1 0 0 1-1.414 0Z" clip-rule="evenodd"/></svg>Nothing is Perfect...</h2>
|
|
<p>... including terminal applications. Terminal applications are amazing. They allow me to do so much. However, there are extremely rare cases in which I have no choice but to use a GUI. This is if the GUI application in question requires you to use only their app. There are also some specific use-cases in which GUI apps just make more sense. Video editing, advanced photo manipulation and 3D modelling are great examples.</p>
|
|
<h2><svg class="heading2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M6.012 18H21V4a2 2 0 0 0-2-2H6c-1.206 0-3 .799-3 3v14c0 2.201 1.794 3 3 3h15v-2H6.012C5.55 19.988 5 19.805 5 19s.55-.988 1.012-1zM8 6h9v2H8V6z"/></svg>To Sum It All Up...</h2>
|
|
<p>...terminal applications should be used as much as possible. They are swift. They can be used quickly and also use less resources and space while running on just about anything. They are not as difficult as they look and can be used for uses which GUI apps do not have. They cannot be used all the time because there are rare exceptions in which GUI applications have to be used. However, these are so little that I do not mind keeping GUI apps just for these use cases.
|
|
<p><a href="mailto:sufyaan@counterhawks.com?subject=Why%20I%20Use%20Terminal%20Apps">>>> Reply To Me</a></p>
|
|
<p style="text-align:center;"><a href="../pgp/" style="color:#bd93f9"><svg class="footer-posts" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M32 448c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c53 0 96-43 96-96V109.3l73.4 73.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l73.3-73.4V416c0 17.7-14.3 32-32 32H32z"/></svg>Latest Post</a> - <a style="color:#bd93f9" href="../crypto/">Next Post</a> <svg class="footer-posts" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><mask id="ipSRightOne0"><path fill="#fff" stroke="#fff" stroke-linejoin="round" stroke-width="4" d="m20 12l12 12l-12 12V12Z"/></mask><path fill="#bd93f9" d="M0 0h48v48H0z" mask="url(#ipSRightOne0)"/></svg></p>
|
|
<hr/>
|
|
<footer>
|
|
<p class="footer-text"><a style="color:#bd93f9" href="../blog/">blog</a> - <a style="color:#ffb86c" href="../about/">about</a> - <a style="color:#f1fa8c" href="../portfolio/">portfolio</a> - <a style="color:#ff5555" href="../links/">links</a></p>
|
|
<p class="footer-text" style="font-size:80%"><a href="../">sufyaan.cyou</a></p>
|
|
<p class="footer-text" style="font-size:65%"><a style="color:#aaaaaa" href="../sitemap">Site Map</a></p>
|
|
</footer>
|