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

<channel>
	<title>Linux tutorial Archives - NeuralLantern.com</title>
	<atom:link href="https://www.NeuralLantern.com/tag/linux-tutorial/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.NeuralLantern.com/tag/linux-tutorial/</link>
	<description></description>
	<lastBuildDate>Mon, 22 Sep 2025 11:53:49 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://www.NeuralLantern.com/wp-content/uploads/2025/04/cropped-2025-04-04-Lantern-03-32x32.png</url>
	<title>Linux tutorial Archives - NeuralLantern.com</title>
	<link>https://www.NeuralLantern.com/tag/linux-tutorial/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Mastering Standard Input, Output, and Error (STDIN, STDOUT, STDERR) in Linux with Yasm Assembly Examples</title>
		<link>https://www.NeuralLantern.com/mastering-standard-input-output-and-error-stdin-stdout-stderr-in-linux-with-yasm-assembly-examples/</link>
					<comments>https://www.NeuralLantern.com/mastering-standard-input-output-and-error-stdin-stdout-stderr-in-linux-with-yasm-assembly-examples/#respond</comments>
		
		<dc:creator><![CDATA[mike]]></dc:creator>
		<pubDate>Mon, 22 Sep 2025 11:53:48 +0000</pubDate>
				<category><![CDATA[Assembly Language]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Videos]]></category>
		<category><![CDATA[assembly programming]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[file descriptors]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux pipes]]></category>
		<category><![CDATA[Linux tutorial]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[standard error]]></category>
		<category><![CDATA[standard input]]></category>
		<category><![CDATA[standard output]]></category>
		<category><![CDATA[STDERR]]></category>
		<category><![CDATA[STDIN]]></category>
		<category><![CDATA[STDOUT]]></category>
		<category><![CDATA[system calls]]></category>
		<category><![CDATA[Yasm assembly]]></category>
		<guid isPermaLink="false">https://www.NeuralLantern.com/?p=230</guid>

					<description><![CDATA[<p>Explore Linux's STDIN, STDOUT, and STDERR pipes with a fun Yasm Assembly demo. Learn how programs communicate, redirect outputs, and handle inputs in this beginner-friendly guide.</p>
<p>The post <a href="https://www.NeuralLantern.com/mastering-standard-input-output-and-error-stdin-stdout-stderr-in-linux-with-yasm-assembly-examples/">Mastering Standard Input, Output, and Error (STDIN, STDOUT, STDERR) in Linux with Yasm Assembly Examples</a> appeared first on <a href="https://www.NeuralLantern.com">NeuralLantern.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Mastering Standard Input, Output, and Error (STDIN, STDOUT, STDERR) in Linux with Yasm Assembly" width="1380" height="776" src="https://www.youtube.com/embed/8Jv1_q0cyaw?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">Get a clear, hands-on look at Linux&#8217;s standard input (STDIN), output (STDOUT), and error (STDERR) pipes! In this video, we explore how programs communicate using these essential streams, with practical examples in Yasm Assembly (no assembly knowledge needed!). Learn to redirect outputs, handle errors, and read inputs like a pro. Whether you&#8217;re a beginner or seasoned coder, this fun demo breaks down the basics of Linux pipes. Subscribe for more coding insights and check out the full tutorial on our site!</p>



<p class="wp-block-paragraph">Introduction to STDIN, STDOUT, STDERR 00:00:00<br>Overview of Pipes in Linux 00:00:07<br>Explanation of File Descriptors 00:01:12<br>Demonstrating Echo Command 00:01:24<br>Redirecting Standard Output 00:02:02<br>C++ Example with cout and cerr 00:02:48<br>Purpose of Separate Error Pipe 00:03:28<br>Assembly Program Introduction 00:04:55<br>Creating Data Section in Yasm 00:05:22<br>Writing Helper Functions 00:07:37<br>Printing to Standard Output and Error 00:11:29<br>Testing Output Redirection 00:12:43<br>Standard Input Explanation 00:14:54<br>Creating Stack Buffer for Input 00:16:03<br>Reading from Standard Input 00:17:28<br>Piping Input to Program 00:20:54<br>Handling Null Terminators 00:22:02<br>Conclusion and Call to Subscribe 00:23:53</p>



<p class="wp-block-paragraph">Thanks for watching!</p>



<p class="wp-block-paragraph">Find us on other social media here:</p>



<ul class="wp-block-list">
<li>https://www.NeuralLantern.com/social</li>
</ul>



<p class="wp-block-paragraph">Please help support us!</p>



<ul class="wp-block-list">
<li>Subscribing + Sharing on Social Media</li>



<li>Leaving a comment or suggestion</li>



<li>Subscribing to our Blog</li>



<li>Watching the main &#8220;pinned&#8221; video of this channel for offers and extras</li>
</ul>



<p class="wp-block-paragraph">Hey everybody.</p>



<p class="wp-block-paragraph">In this video I&#8217;m going to talk to you a little bit about standard input, standard output,</p>



<p class="wp-block-paragraph">and standard error.</p>



<p class="wp-block-paragraph">Three pipes that every program has in Linux that allow it to just communicate in a very</p>



<p class="wp-block-paragraph">standard way.</p>



<p class="wp-block-paragraph">I&#8217;m going to show you some example code written in Yasm Assembly, but assembly knowledge is</p>



<p class="wp-block-paragraph">not necessarily required for this video.</p>



<p class="wp-block-paragraph">You can just sort of follow along.</p>



<p class="wp-block-paragraph">Anyway, what is standard input, standard output, and standard error?</p>



<p class="wp-block-paragraph">Well for starters, every program that gets launched, under the hood, the operating system</p>



<p class="wp-block-paragraph">will typically attach three pipes to it.</p>



<p class="wp-block-paragraph">Basically one for standard input, one for standard output, and one for standard error.</p>



<p class="wp-block-paragraph">the program pretty easily. So let&#8217;s see. Oh, I know what to do. There&#8217;s an echo command, right?</p>



<p class="wp-block-paragraph">So here&#8217;s the program called echo. When the program launches, it&#8217;s going to have three pipes</p>



<p class="wp-block-paragraph">attached to it, just like I told you before. These pipes also behave as file descriptors,</p>



<p class="wp-block-paragraph">as if you had opened a file, but their file descriptor numbers are always zero and one and two.</p>



<p class="wp-block-paragraph">Zero for standard input, one for standard output, and two for standard error. So if I launch the</p>



<p class="wp-block-paragraph">program it&#8217;s going to get those three pipes those three file descriptors and</p>



<p class="wp-block-paragraph">right away the standard output is going to get attached to the program running</p>



<p class="wp-block-paragraph">our terminal here well not necessarily the actual terminal but bash under the</p>



<p class="wp-block-paragraph">hood which is the program that we&#8217;re using to interact with the operating</p>



<p class="wp-block-paragraph">system so basically the program launches and based on this incoming argument that</p>



<p class="wp-block-paragraph">I give it hello then it&#8217;s going to print the string hello right but what it&#8217;s</p>



<p class="wp-block-paragraph">its standard output pipe its standard output file descriptor I can test this</p>



<p class="wp-block-paragraph">for sure by just sort of doing the command again and then muting its</p>



<p class="wp-block-paragraph">standard output pipe with this little shell trick I&#8217;ll do a arrow or a greater</p>



<p class="wp-block-paragraph">than angle bracket and I&#8217;ll just send the first pipe I&#8217;ll do one I&#8217;ll send it</p>



<p class="wp-block-paragraph">to dev null and on Linux dev null is just if you send anything there it just</p>



<p class="wp-block-paragraph">it&#8217;s just totally ignored so if i send uh the pipe labeled number one to just nowhere then notice how</p>



<p class="wp-block-paragraph">it doesn&#8217;t show on the terminal for me right it&#8217;s pretty cool let&#8217;s go a little bit deeper into this</p>



<p class="wp-block-paragraph">i just want you to see real fast before i write an example program in assembly what you would</p>



<p class="wp-block-paragraph">probably end up doing in c plus plus so we usually do something like iostream in germane you know</p>



<p class="wp-block-paragraph">We&#8217;ll say using std cout std c error std and l and so forth.</p>



<p class="wp-block-paragraph">And then if you actually want to print a message to the user, we&#8217;ll say cout this message prints</p>



<p class="wp-block-paragraph">to std out because that&#8217;s what cout does by default.</p>



<p class="wp-block-paragraph">And then if we do c error, a lot of people haven&#8217;t actually seen this and I personally</p>



<p class="wp-block-paragraph">always forget that it&#8217;s even there if you print to see error it prints a message to standard error</p>



<p class="wp-block-paragraph">why would you want two different pipes that printed messages and one is called output and</p>



<p class="wp-block-paragraph">one is called error well like i&#8217;ve said before in other videos it&#8217;s really convenient to be able to</p>



<p class="wp-block-paragraph">have programs automate other programs for example if you have a program that is launching you know</p>



<p class="wp-block-paragraph">a second program maybe the second program fails in some way or wants to complain to you in some way</p>



<p class="wp-block-paragraph">or wants to complain to you in some way, it would usually, if it&#8217;s smart,</p>



<p class="wp-block-paragraph">print the complaint to standard error.</p>



<p class="wp-block-paragraph">It may not actually use C error because maybe it&#8217;s not a C++ program,</p>



<p class="wp-block-paragraph">but it would print to pipe number two, file descriptor number two, standard error.</p>



<p class="wp-block-paragraph">And then that way, the program that&#8217;s launching it can just sort of ignore messages</p>



<p class="wp-block-paragraph">that happen on standard output because we can assume all of those messages</p>



<p class="wp-block-paragraph">are just normal info messages that a human might want to see.</p>



<p class="wp-block-paragraph">Or maybe you want to record to a log or something somewhere</p>



<p class="wp-block-paragraph">log or something somewhere and just kind of save it away.</p>



<p class="wp-block-paragraph">But the error messages are a little bit more important than the regular,</p>



<p class="wp-block-paragraph">you know, normal messages.</p>



<p class="wp-block-paragraph">So if you&#8217;re automating another program,</p>



<p class="wp-block-paragraph">then your program probably wants to take standard output and either ignore it or</p>



<p class="wp-block-paragraph">just kind of send it to a different file.</p>



<p class="wp-block-paragraph">And then it wants to take standard error and pay more attention to it.</p>



<p class="wp-block-paragraph">Write it to a log file, save it, maybe check that it&#8217;s actually blank.</p>



<p class="wp-block-paragraph">And if it&#8217;s not empty, then maybe alarm bells go off.</p>



<p class="wp-block-paragraph">Something went wrong.</p>



<p class="wp-block-paragraph">We have to alert someone or, you know, make a database entry, send an email, whatever.</p>



<p class="wp-block-paragraph">And yeah, just pipe one and pipe two is how you accomplish that.</p>



<p class="wp-block-paragraph">So this is what&#8217;s happening in C++ when you do that sort of thing.</p>



<p class="wp-block-paragraph">Okay, so now I would like to write a sample program that just kind of demonstrates this</p>



<p class="wp-block-paragraph">real fast.</p>



<p class="wp-block-paragraph">So please bear with me.</p>



<p class="wp-block-paragraph">I&#8217;m going to go really fast for the assembly portion because this is not an assembly video.</p>



<p class="wp-block-paragraph">to learn more about how to write assembly in the first place than see my other videos.</p>



<p class="wp-block-paragraph">For now, I&#8217;m just going to create a little blank file here.</p>



<p class="wp-block-paragraph">Let&#8217;s see where the heck is my window.</p>



<p class="wp-block-paragraph">I&#8217;m on a multi-window system here.</p>



<p class="wp-block-paragraph">Okay, so I&#8217;m just going to paste a little data section.</p>



<p class="wp-block-paragraph">This is Yasm assembly.</p>



<p class="wp-block-paragraph">A little data section.</p>



<p class="wp-block-paragraph">I&#8217;m just going to fill it up with strings.</p>



<p class="wp-block-paragraph">I&#8217;m going to make a string for the introduction.</p>



<p class="wp-block-paragraph">Hello, the module has started.</p>



<p class="wp-block-paragraph">A string announcing everything that we&#8217;re going to do.</p>



<p class="wp-block-paragraph">We&#8217;re going to begin printing to standard output and standard error,</p>



<p class="wp-block-paragraph">and then some messages that will go to each.</p>



<p class="wp-block-paragraph">And then some messages that will go to each and then a standard input string, which we&#8217;ll</p>



<p class="wp-block-paragraph">talk about after the standard output and standard error.</p>



<p class="wp-block-paragraph">So just a bunch of strings.</p>



<p class="wp-block-paragraph">I&#8217;m going to make a buffer size.</p>



<p class="wp-block-paragraph">I&#8217;m going to make system call codes for reading, writing and exiting.</p>



<p class="wp-block-paragraph">If you want to know more about system call codes, see my other videos and some file descriptors.</p>



<p class="wp-block-paragraph">This is exactly what I just talked about.</p>



<p class="wp-block-paragraph">The file descriptor for standard input is zero for standard output is one for standard</p>



<p class="wp-block-paragraph">for standard error is two.</p>



<p class="wp-block-paragraph">And then I&#8217;m going to do a system exit code of zero,</p>



<p class="wp-block-paragraph">which actually doesn&#8217;t matter that much,</p>



<p class="wp-block-paragraph">but I&#8217;m going to do it.</p>



<p class="wp-block-paragraph">So now I&#8217;m going to make a, let&#8217;s see,</p>



<p class="wp-block-paragraph">a global,</p>



<p class="wp-block-paragraph">hmm, make a global.</p>



<p class="wp-block-paragraph">Oh, did I already make the text section?</p>



<p class="wp-block-paragraph">Here we go.</p>



<p class="wp-block-paragraph">So there&#8217;s the text section.</p>



<p class="wp-block-paragraph">So the data section is over now.</p>



<p class="wp-block-paragraph">So data section is over now.</p>



<p class="wp-block-paragraph">I&#8217;m going to make the tech section.</p>



<p class="wp-block-paragraph">I&#8217;m going to make a global entry point called start.</p>



<p class="wp-block-paragraph">Again, if you want to know more about assembly programming in general,</p>



<p class="wp-block-paragraph">see my other videos.</p>



<p class="wp-block-paragraph">But so this is the entry point of our program.</p>



<p class="wp-block-paragraph">At the very end, we should probably just program that it exits with success</p>



<p class="wp-block-paragraph">and test it out real fast.</p>



<p class="wp-block-paragraph">So basically right now this program does nothing.</p>



<p class="wp-block-paragraph">Let me just double check.</p>



<p class="wp-block-paragraph">Clear and make run.</p>



<p class="wp-block-paragraph">I have a make file under the hood, but this is not a make file video.</p>



<p class="wp-block-paragraph">If you want to know more about make files, see my other videos.</p>



<p class="wp-block-paragraph">know more about make files see my other videos but basically it just starts running and then</p>



<p class="wp-block-paragraph">it just dies right away okay no problem let me actually can i i want to fix that make file</p>



<p class="wp-block-paragraph">because it&#8217;s it&#8217;s labeled after like a different project that i was doing let&#8217;s do</p>



<p class="wp-block-paragraph">there&#8217;s no need for me to even do this i&#8217;m just uh i just can&#8217;t help myself okay so there we go</p>



<p class="wp-block-paragraph">going back to the editor.</p>



<p class="wp-block-paragraph">We have a program that does nothing.</p>



<p class="wp-block-paragraph">I&#8217;m going to copy paste in a couple of useful functions that I use elsewhere.</p>



<p class="wp-block-paragraph">Again, this is not an assembly video.</p>



<p class="wp-block-paragraph">So, so you can look at my code if you want to, if you just kind of want to know how this</p>



<p class="wp-block-paragraph">works, but not the point of this video.</p>



<p class="wp-block-paragraph">So I&#8217;m not going to spend too much time.</p>



<p class="wp-block-paragraph">Maybe I&#8217;ll just briefly talk about what it does, but not the point of this video.</p>



<p class="wp-block-paragraph">So the first thing I&#8217;m doing is I&#8217;m adding a function called print null terminated string</p>



<p class="wp-block-paragraph">function called print null terminated string just you know it sweeps through a</p>



<p class="wp-block-paragraph">string or actually it asks another function I made to find out how long the</p>



<p class="wp-block-paragraph">string is and then it&#8217;ll print the string to some file handle that I gave</p>



<p class="wp-block-paragraph">it like standard output or standard error and you know it calls on this other</p>



<p class="wp-block-paragraph">function called string length which I just wrote in pure assembly for fun even</p>



<p class="wp-block-paragraph">though I didn&#8217;t need to and it just kind of sweeps through the string until it</p>



<p class="wp-block-paragraph">finds a zero and then it knows how long the string is and then CRLF just prints</p>



<p class="wp-block-paragraph">is and then crlf just prints a carriage return new line uh carriage return new line just um</p>



<p class="wp-block-paragraph">with the same idea with the print null terminated string function and you can see all my strings have</p>



<p class="wp-block-paragraph">null terminators that&#8217;s the dot zero at the very end of it okay so we got those helper functions</p>



<p class="wp-block-paragraph">uh the next thing that i need to add in here is</p>



<p class="wp-block-paragraph">do an intro like my growling i used to have a professor who would go</p>



<p class="wp-block-paragraph">and he would go oh god when something went wrong and i do that all the time even when things are</p>



<p class="wp-block-paragraph">going right okay so i&#8217;m going to paste a little function here called intro and this is not going</p>



<p class="wp-block-paragraph">to be anything important it&#8217;s just going to print a little hello message you know it just uses my</p>



<p class="wp-block-paragraph">intro string and then just prints it with those other functions i made so that means now my my</p>



<p class="wp-block-paragraph">I can call intro real fast and then it&#8217;ll return when it&#8217;s done.</p>



<p class="wp-block-paragraph">If I just sort of run the program again, you can see after all the build messages,</p>



<p class="wp-block-paragraph">it&#8217;s just printing that the module has started.</p>



<p class="wp-block-paragraph">Okay, so nothing super important yet.</p>



<p class="wp-block-paragraph">Now, what I&#8217;d like to do is capture some incoming arguments real quick because…</p>



<p class="wp-block-paragraph">Let&#8217;s see standard input.</p>



<p class="wp-block-paragraph">Well, that&#8217;s actually not going to work.</p>



<p class="wp-block-paragraph">Let&#8217;s see what I want to do here.</p>



<p class="wp-block-paragraph">No, I think that&#8217;s part of a different program.</p>



<p class="wp-block-paragraph">OK, I&#8217;m going to call a demo.</p>



<p class="wp-block-paragraph">I don&#8217;t think I need to add that one thing that I was just looking at.</p>



<p class="wp-block-paragraph">So I&#8217;m going to call a function that&#8217;s going to be our main demo.</p>



<p class="wp-block-paragraph">So it&#8217;s going to jump down somewhere.</p>



<p class="wp-block-paragraph">I&#8217;ll just create the function down later.</p>



<p class="wp-block-paragraph">So let&#8217;s see.</p>



<p class="wp-block-paragraph">Where is it?</p>



<p class="wp-block-paragraph">Standard input.</p>



<p class="wp-block-paragraph">I&#8217;m going to start off by saying this is my standard input function which is this and</p>



<p class="wp-block-paragraph">is this pop p and then pop r12 and then it returns if you don&#8217;t know what a prologue</p>



<p class="wp-block-paragraph">and epilogue are or why I&#8217;m doing pushes and pops just see my other videos but basically</p>



<p class="wp-block-paragraph">I&#8217;m responsible for preserving it.</p>



<p class="wp-block-paragraph">And I&#8217;m going to use the base pointer to help me remember where the stack started.</p>



<p class="wp-block-paragraph">I&#8217;m just going to choose to…</p>



<p class="wp-block-paragraph">What did I do?</p>



<p class="wp-block-paragraph">I started the wrong function.</p>



<p class="wp-block-paragraph">I&#8217;m going to do that one later.</p>



<p class="wp-block-paragraph">Okay, for now, let me go find where that other one is.</p>



<p class="wp-block-paragraph">Oh, there it is.</p>



<p class="wp-block-paragraph">Should have double checked.</p>



<p class="wp-block-paragraph">I&#8217;m going way too fast.</p>



<p class="wp-block-paragraph">I&#8217;ll just copy paste this whole thing from my solution.</p>



<p class="wp-block-paragraph">So I&#8217;m going to do standard.</p>



<p class="wp-block-paragraph">This video is a mess.</p>



<p class="wp-block-paragraph">Honestly, it&#8217;s a mess, but that&#8217;s okay.</p>



<p class="wp-block-paragraph">I&#8217;m going to try my best to explain it.</p>



<p class="wp-block-paragraph">So I have this function standard output standard error and I&#8217;m calling it here.</p>



<p class="wp-block-paragraph">So it should jump right down there as soon as the program starts.</p>



<p class="wp-block-paragraph">The standard input one is not getting called yet, but we&#8217;ll call it at the end of this</p>



<p class="wp-block-paragraph">video.</p>



<p class="wp-block-paragraph">print null terminated string function to print a message to standard output.</p>



<p class="wp-block-paragraph">Remember standard output was just you know pipe one. Standard error is going to</p>



<p class="wp-block-paragraph">be pipe two. So if I go back here and I say I want to print this matches to that</p>



<p class="wp-block-paragraph">pipe then it&#8217;ll go to standard output just like the echo program was doing</p>



<p class="wp-block-paragraph">when we looked at it a moment ago. And then next we&#8217;re going to print to</p>



<p class="wp-block-paragraph">Oh, that was just an announcement that we&#8217;re going to begin.</p>



<p class="wp-block-paragraph">So this is the real message that will say this is definitely going to standard output.</p>



<p class="wp-block-paragraph">And then this other message is going to go to standard error, which is when we when we</p>



<p class="wp-block-paragraph">looked at C error or pipe number two a moment ago.</p>



<p class="wp-block-paragraph">So basically, I&#8217;m just printing an announcement and then two important messages.</p>



<p class="wp-block-paragraph">One is going to pipe one and one is going to pipe two for standard output and standard</p>



<p class="wp-block-paragraph">error.</p>



<p class="wp-block-paragraph">OK, like really not very complicated at all.</p>



<p class="wp-block-paragraph">Right.</p>



<p class="wp-block-paragraph">So if I run this program now, hopefully I didn&#8217;t crash it by copy pasting out of order here.</p>



<p class="wp-block-paragraph">Yeah, there we go.</p>



<p class="wp-block-paragraph">Clear and make run.</p>



<p class="wp-block-paragraph">So notice how it says that the messages are going to be printed.</p>



<p class="wp-block-paragraph">And then notice that both of my messages actually show up on the terminal.</p>



<p class="wp-block-paragraph">The one that says this message will print to standard output, number one, pipe one.</p>



<p class="wp-block-paragraph">This message will print to standard error, pipe two.</p>



<p class="wp-block-paragraph">They both get printed to the terminal because by default, the terminal will just take both of those pipes.</p>



<p class="wp-block-paragraph">both of those pipes it&#8217;ll take one and two standard output and error but I can</p>



<p class="wp-block-paragraph">use those little redirection tricks to mute one or more of those pipes so I&#8217;m</p>



<p class="wp-block-paragraph">gonna say pipe one which is standard output I&#8217;m just gonna redirect that to</p>



<p class="wp-block-paragraph">dev null to say I don&#8217;t want to see standard output if I run it again</p>



<p class="wp-block-paragraph">notice how the only thing you can see on the string or on the screen is standard</p>



<p class="wp-block-paragraph">error pipe to file descriptor 2 on the other hand if I redirect file descriptor</p>



<p class="wp-block-paragraph">descriptor to pipe two to nothing then I should see all the normal messages and not see the error</p>



<p class="wp-block-paragraph">message notice right here it&#8217;s it prints all the regular you know make file stuff and then the</p>



<p class="wp-block-paragraph">welcome message and then here&#8217;s our message that says this is going to be printed to standard output</p>



<p class="wp-block-paragraph">so notice how the error message is missing so cool if I mute both of those I can do that I can</p>



<p class="wp-block-paragraph">then nothing gets printed at all because that&#8217;s all we really have is standard output and standard</p>



<p class="wp-block-paragraph">error all right not too bad right that&#8217;s the basic idea between redirecting and things you</p>



<p class="wp-block-paragraph">could also do things like this if I okay this is not part of my plan but suppose I wanted to take</p>



<p class="wp-block-paragraph">any error message and redirect it to instead of dev null I wanted to redirect it to some kind of</p>



<p class="wp-block-paragraph">standard error.txt.</p>



<p class="wp-block-paragraph">Notice how nothing seems to have shown up on the screen, but if I list the directory,</p>



<p class="wp-block-paragraph">now there&#8217;s a text file called standard error that contains the error message.</p>



<p class="wp-block-paragraph">So you can redirect pipes, you can reattach them if you&#8217;re like an elite hacker.</p>



<p class="wp-block-paragraph">You can do lots of things with them, but that&#8217;s as far as I&#8217;m going to take it right now.</p>



<p class="wp-block-paragraph">I&#8217;m going to remove that.</p>



<p class="wp-block-paragraph">Now let&#8217;s look at standard input.</p>



<p class="wp-block-paragraph">How do you send input to the program?</p>



<p class="wp-block-paragraph">Remember when programs call other programs, they can send each other standard input too.</p>



<p class="wp-block-paragraph">It&#8217;s just that when I launch something on the terminal, I&#8217;m just, you know, I&#8217;m the</p>



<p class="wp-block-paragraph">human and so whatever I type or, you know, what command I type is going to go into standard</p>



<p class="wp-block-paragraph">input if I do it the right way.</p>



<p class="wp-block-paragraph">So let&#8217;s go back to the program here.</p>



<p class="wp-block-paragraph">Okay, so let&#8217;s finish up standard input.</p>



<p class="wp-block-paragraph">And let&#8217;s see the pre-made code that I had here.</p>



<p class="wp-block-paragraph">I had the prolog and the epilog, right?</p>



<p class="wp-block-paragraph">Move the base pointer</p>



<p class="wp-block-paragraph">RBP and R12. Oh, I got to put the</p>



<p class="wp-block-paragraph">Base pointer back into the stack pointer. Let&#8217;s see move</p>



<p class="wp-block-paragraph">Again, this is not an assembly video. So just try to hang on here. So what I&#8217;m gonna do in this video</p>



<p class="wp-block-paragraph">I thought I was cute when I was making this plan. I know I&#8217;m not like that clever, but um, I</p>



<p class="wp-block-paragraph">Thought hey wouldn&#8217;t it be fun instead of having a global</p>



<p class="wp-block-paragraph">or the BSS section. What if I just made the stack a buffer? This is kind of what you do when you make</p>



<p class="wp-block-paragraph">a local array in C++. You&#8217;re making a buffer on the stack. So this is not a stack pointer video.</p>



<p class="wp-block-paragraph">So long story short, I&#8217;m just going to keep track of where the stack pointer started with this base</p>



<p class="wp-block-paragraph">pointer. That&#8217;s why I have to preserve it there. And then I&#8217;m just going to subtract my buffer size</p>



<p class="wp-block-paragraph">from the stack pointer. And what is the buffer size? I&#8217;ve chosen to do a buffer size of about</p>



<p class="wp-block-paragraph">So that means the user or me, I could send about eight kilobytes, maybe eight kilobytes</p>



<p class="wp-block-paragraph">or less into standard input and be sure that it&#8217;s all actually going to be received by</p>



<p class="wp-block-paragraph">the program.</p>



<p class="wp-block-paragraph">And then I&#8217;m just going to use R12 to remember where the start of the buffer is, which is</p>



<p class="wp-block-paragraph">just wherever the stack pointer started.</p>



<p class="wp-block-paragraph">Because if we subtract and then the data that increases is actually increasing in memory,</p>



<p class="wp-block-paragraph">but making room on the stack decreased, it&#8217;s just the way it works.</p>



<p class="wp-block-paragraph">There&#8217;s going to be another stack video out there.</p>



<p class="wp-block-paragraph">stack video out there anyway for now I just create a buffer on the stack and</p>



<p class="wp-block-paragraph">then I&#8217;m gonna print a little hello message so I&#8217;m gonna print this so just</p>



<p class="wp-block-paragraph">my message saying hey we&#8217;re about to do something from standard input and then</p>



<p class="wp-block-paragraph">I&#8217;m gonna send that to a standard output so the message is gonna go to standard</p>



<p class="wp-block-paragraph">output but I&#8217;m announcing that we&#8217;re about to read from standard input</p>



<p class="wp-block-paragraph">assuming I actually cleaned up correctly let me double check this this should</p>



<p class="wp-block-paragraph">It should just simply say that it&#8217;s going to without crashing.</p>



<p class="wp-block-paragraph">Okay, looks good.</p>



<p class="wp-block-paragraph">So then now I&#8217;m ready to actually read from standard input.</p>



<p class="wp-block-paragraph">We&#8217;re going to use a system call from this.</p>



<p class="wp-block-paragraph">If you want more information on system calls, see my other videos.</p>



<p class="wp-block-paragraph">But basically you just go to the system call codes table,</p>



<p class="wp-block-paragraph">look up appendix area of whatever textbook you&#8217;re using.</p>



<p class="wp-block-paragraph">And you say, what&#8217;s the code to read?</p>



<p class="wp-block-paragraph">I want the system to read.</p>



<p class="wp-block-paragraph">what you know i want the system to read so i define that as system read and if you look up</p>



<p class="wp-block-paragraph">here in my program it&#8217;s just call code zero so sys call code zero is to read from somewhere</p>



<p class="wp-block-paragraph">and then uh where do i want to read from that&#8217;s the second argument for the standard</p>



<p class="wp-block-paragraph">or for the system call i want to read from standard input that&#8217;s going to be the number zero</p>



<p class="wp-block-paragraph">if you recall and then here is a pointer to the first character of wherever i want it to</p>



<p class="wp-block-paragraph">read into. So it&#8217;s going to read from that pipe, but it has to, it has to write the data that it</p>



<p class="wp-block-paragraph">read somewhere so that I can save it and access it. So R12 is basically going to be a bunch of</p>



<p class="wp-block-paragraph">free bytes that I created on the stack. So I like, you know, I&#8217;m, I like made the stack bigger,</p>



<p class="wp-block-paragraph">but it&#8217;s mostly empty or with junk data. And R12 is just pointing to the first byte that I have</p>



<p class="wp-block-paragraph">reserved. So, you know, you could imagine maybe you make a global variable in the BSS section up</p>



<p class="wp-block-paragraph">up at the top, you know, like an eight kilobyte array of bytes, and then just sort of point</p>



<p class="wp-block-paragraph">it to that. But in my case, I&#8217;m just using the stack because I think it&#8217;s cooler. So</p>



<p class="wp-block-paragraph">I tell it, Hey, that&#8217;s the first bite on the stack that you want that I want you to start</p>



<p class="wp-block-paragraph">reading from. And then I give it the buffer size, which we just looked at. And then I</p>



<p class="wp-block-paragraph">do a system call and then the system now should do all the hard work for me. It&#8217;ll look at</p>



<p class="wp-block-paragraph">the pipe for standard input. It&#8217;ll grab all of it. And then it will only grab, you know,</p>



<p class="wp-block-paragraph">it&#8217;ll stop if the input ends before that and then when I&#8217;m done I should be able</p>



<p class="wp-block-paragraph">to actually read from the buffer which is sitting at R12 and print it to the</p>



<p class="wp-block-paragraph">screen so the next thing I&#8217;m gonna copy paste in there is I&#8217;m gonna print what</p>



<p class="wp-block-paragraph">I just read from standard input so this is another call to my function my little</p>



<p class="wp-block-paragraph">doggy wants to go pee even though he&#8217;s completely lying he just went pee so at</p>



<p class="wp-block-paragraph">wants to go outside and lift his leg and do nothing and then come back in and demand a treat.</p>



<p class="wp-block-paragraph">I&#8217;ll let him do it in a few minutes just in case but trust me he&#8217;s lying he&#8217;s laid like five times</p>



<p class="wp-block-paragraph">today. Anyway I sometimes I regret teaching him to growl at me. It&#8217;s so cute but like it&#8217;s not</p>



<p class="wp-block-paragraph">cute right now. I don&#8217;t know maybe it is. Let me know in the comments. So basically I&#8217;m going to</p>



<p class="wp-block-paragraph">take that R12 buffer that I just wrote to and I&#8217;m going to print that directly to standard output</p>



<p class="wp-block-paragraph">output and this is not really the important part of the video.</p>



<p class="wp-block-paragraph">So I&#8217;m going to do that and then I&#8217;m going to kind of clean up here at the end of the</p>



<p class="wp-block-paragraph">function.</p>



<p class="wp-block-paragraph">And then maybe I&#8217;ll say goodbye.</p>



<p class="wp-block-paragraph">I think I just added a string for that.</p>



<p class="wp-block-paragraph">So maybe I&#8217;ll say goodbye.</p>



<p class="wp-block-paragraph">I&#8217;ll say goodbye before we end the function and then I&#8217;ll actually return.</p>



<p class="wp-block-paragraph">So let me go here and run the program.</p>



<p class="wp-block-paragraph">Let&#8217;s see, begin.</p>



<p class="wp-block-paragraph">printed because we didn&#8217;t send anything and we also didn&#8217;t call that let me call</p>



<p class="wp-block-paragraph">standard input call stdin and so now it&#8217;s actually gonna print basically</p>



<p class="wp-block-paragraph">nothing oh I didn&#8217;t send it anything so it&#8217;s just kind of hanging you probably</p>



<p class="wp-block-paragraph">want to check this sort of situation but that&#8217;s that&#8217;s not the point of this</p>



<p class="wp-block-paragraph">video let me show you how to pipe some some stuff into standard input real fast</p>



<p class="wp-block-paragraph">hello and then just put a little or bar in the shell this will take the output</p>



<p class="wp-block-paragraph">of echo and instead of printing it to the terminal it&#8217;ll attach its standard</p>



<p class="wp-block-paragraph">output into the standard input of make run pretty cool shell trick so now we</p>



<p class="wp-block-paragraph">should see the word hello the word hello printed and that&#8217;s what it does we have</p>



<p class="wp-block-paragraph">detected the following stdin and it says like here&#8217;s begin that&#8217;s just a string</p>



<p class="wp-block-paragraph">that I had that I print every time and then here&#8217;s the string that it actually</p>



<p class="wp-block-paragraph">And then it ends.</p>



<p class="wp-block-paragraph">Pretty nice.</p>



<p class="wp-block-paragraph">I think maybe we could probably do the empty thing if I just started typing here.</p>



<p class="wp-block-paragraph">And then maybe I hit control D to detach the buffer.</p>



<p class="wp-block-paragraph">And yeah, that&#8217;s what it does.</p>



<p class="wp-block-paragraph">It sort of prints here and then it ends there.</p>



<p class="wp-block-paragraph">Didn&#8217;t do a new line.</p>



<p class="wp-block-paragraph">I think it probably doubled it for some reason because I…</p>



<p class="wp-block-paragraph">Let&#8217;s see.</p>



<p class="wp-block-paragraph">I didn&#8217;t plan for this.</p>



<p class="wp-block-paragraph">Let me see.</p>



<p class="wp-block-paragraph">plan for this let me see it printed oh because I did I did not null terminate the string so</p>



<p class="wp-block-paragraph">actually what it did is it uh let&#8217;s see if we can do that real fast one more time I&#8217;m going to go</p>



<p class="wp-block-paragraph">one two three four five then I&#8217;m going to just disconnect the standard input buffer because the</p>



<p class="wp-block-paragraph">printing function needs a null terminator to know when to stop there&#8217;s not going to be a null</p>



<p class="wp-block-paragraph">terminator because I just typed and disconnected the uh the input so it&#8217;s actually going to just</p>



<p class="wp-block-paragraph">until it randomly finds a zero and then it&#8217;ll stop so if I disconnect it it</p>



<p class="wp-block-paragraph">that explanation was bunk let me try that one more time I&#8217;m gonna go a bunch</p>



<p class="wp-block-paragraph">of H&#8217;s I guess there is a null terminator I disconnect it no no see how</p>



<p class="wp-block-paragraph">yeah these little symbols there so it does kind of print until it finds a</p>



<p class="wp-block-paragraph">null terminator but I guess I was confused because it seemed like it</p>



<p class="wp-block-paragraph">like it printed it twice what&#8217;s actually happening is when i type then it&#8217;s getting sent to the</p>



<p class="wp-block-paragraph">terminal which and that&#8217;s not part of the program that we just wrote then when i disconnect standard</p>



<p class="wp-block-paragraph">input then the program finally prints everything that i actually typed until it hits a null</p>



<p class="wp-block-paragraph">terminator in this case it looks like it seems to have worked but uh if i just do like a couple</p>



<p class="wp-block-paragraph">sevens and then disconnect probably have to do this a bunch of times before we&#8217;ll see those weird</p>



<p class="wp-block-paragraph">What did I do? Hit enter. That seems to have worked. My dog is stressing me out</p>



<p class="wp-block-paragraph">but I love him. Alright anyway just trust me on this sometimes it&#8217;s hitting the</p>



<p class="wp-block-paragraph">null terminator in time sometimes it&#8217;s not. But I hope by now you understand the</p>



<p class="wp-block-paragraph">difference between standard input standard output and standard error. Thank</p>



<p class="wp-block-paragraph">you so much for watching this video that I&#8217;m recording and I hope you learned a</p>



<p class="wp-block-paragraph">little bit of stuff and had a little bit of fun. I&#8217;m gonna let my dog lie to me</p>



<p class="wp-block-paragraph">I&#8217;m gonna let my dog lie to me for a second and I&#8217;ll see you in the next video.</p>



<p class="wp-block-paragraph">Hey everybody, thanks for watching this video again from the bottom of my heart.</p>



<p class="wp-block-paragraph">I really appreciate it.</p>



<p class="wp-block-paragraph">I do hope you did learn something and have some fun.</p>



<p class="wp-block-paragraph">If you could do me a please, a small little favor, could you please subscribe and follow</p>



<p class="wp-block-paragraph">this channel or these videos or whatever it is you do on the current social media website</p>



<p class="wp-block-paragraph">that you&#8217;re looking at right now.</p>



<p class="wp-block-paragraph">It would really mean the world to me and it&#8217;ll help make more videos and grow this community.</p>



<p class="wp-block-paragraph">and grow this community so we&#8217;ll be able to do more videos, longer videos, better videos,</p>



<p class="wp-block-paragraph">or just I&#8217;ll be able to keep making videos in general. So please do me a kindness and subscribe.</p>



<p class="wp-block-paragraph">You know, sometimes I&#8217;m sleeping in the middle of the night and I just wake up because I know</p>



<p class="wp-block-paragraph">somebody subscribed or followed. It just wakes me up and I get filled with joy. That&#8217;s exactly what</p>



<p class="wp-block-paragraph">happens every single time. So you could do it as a nice favor to me or you could troll me if you</p>



<p class="wp-block-paragraph">want to just wake me up in the middle of the night, just subscribe and then I&#8217;ll just wake up.</p>



<p class="wp-block-paragraph">wake up I promise that&#8217;s what will happen also if you look at the middle of</p>



<p class="wp-block-paragraph">the screen right now you should see a QR code which you can scan in order to go</p>



<p class="wp-block-paragraph">to the website which I think is also named somewhere at the bottom of this</p>



<p class="wp-block-paragraph">video and it&#8217;ll take you to my main website where you can just kind of like</p>



<p class="wp-block-paragraph">see all the videos I published and the services and tutorials and things that I</p>



<p class="wp-block-paragraph">offer and all that good stuff and if you have a suggestion for clarifications or</p>



<p class="wp-block-paragraph">or errata or just future videos that you want to see please leave a comment or if you just want to</p>



<p class="wp-block-paragraph">say hey what&#8217;s up what&#8217;s going on you know just send me a comment whatever i also wake up for</p>



<p class="wp-block-paragraph">those in the middle of the night i get i wake up in a cold sweat and i&#8217;m like it would really it</p>



<p class="wp-block-paragraph">really mean the world to me i would really appreciate it so again thank you so much for</p>



<p class="wp-block-paragraph">watching this video and um enjoy the cool music as as i fade into the darkness which is coming for us</p>



<p class="wp-block-paragraph">Thank you.</p>
<p>The post <a href="https://www.NeuralLantern.com/mastering-standard-input-output-and-error-stdin-stdout-stderr-in-linux-with-yasm-assembly-examples/">Mastering Standard Input, Output, and Error (STDIN, STDOUT, STDERR) in Linux with Yasm Assembly Examples</a> appeared first on <a href="https://www.NeuralLantern.com">NeuralLantern.com</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.NeuralLantern.com/mastering-standard-input-output-and-error-stdin-stdout-stderr-in-linux-with-yasm-assembly-examples/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Raspberry Pi Headless Setup: Boot Without a Monitor in Minutes!</title>
		<link>https://www.NeuralLantern.com/raspberry-pi-headless-setup-boot-without-a-monitor-in-minutes/</link>
					<comments>https://www.NeuralLantern.com/raspberry-pi-headless-setup-boot-without-a-monitor-in-minutes/#respond</comments>
		
		<dc:creator><![CDATA[mike]]></dc:creator>
		<pubDate>Tue, 12 Aug 2025 02:48:14 +0000</pubDate>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[Videos]]></category>
		<category><![CDATA[beginner tech]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[DIY electronics]]></category>
		<category><![CDATA[headless setup]]></category>
		<category><![CDATA[Linux tutorial]]></category>
		<category><![CDATA[Pi server]]></category>
		<category><![CDATA[Raspberry Pi 4]]></category>
		<category><![CDATA[Raspberry Pi 5]]></category>
		<category><![CDATA[Raspberry Pi OS]]></category>
		<category><![CDATA[Raspberry Pi projects]]></category>
		<category><![CDATA[remote access]]></category>
		<category><![CDATA[SD card flashing]]></category>
		<category><![CDATA[SSH setup]]></category>
		<category><![CDATA[static IP]]></category>
		<guid isPermaLink="false">https://www.NeuralLantern.com/?p=202</guid>

					<description><![CDATA[<p>Learn how to set up a Raspberry Pi headless without a monitor. This step-by-step guide covers OS installation, SSH setup, and remote access in minutes.</p>
<p>The post <a href="https://www.NeuralLantern.com/raspberry-pi-headless-setup-boot-without-a-monitor-in-minutes/">Raspberry Pi Headless Setup: Boot Without a Monitor in Minutes!</a> appeared first on <a href="https://www.NeuralLantern.com">NeuralLantern.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Raspberry Pi Headless Setup: Boot Without a Monitor in Minutes!" width="1380" height="776" src="https://www.youtube.com/embed/GkQ0DaMIIng?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">Want to set up a Raspberry Pi without plugging in a monitor? This headless setup guide is for you! Follow along as we download the Raspberry Pi OS, flash it to an SD card, enable SSH, set a static IP, and connect remotely—all in minutes. Ideal for servers, experiments, or anyone who hates extra cables. No desktop needed, just a Pi, SD card, and Ethernet. Check out my other videos for SSH key setup and Linux tips. Subscribe and join the community for more Raspberry Pi projects!</p>



<h1 class="wp-block-heading">RaspberryPi #HeadlessSetup #PiProjects #TechTutorials #Linux #SSH #DIYTech #RaspberryPiOS #RemoteAccess #TechForBeginners #PiServer #Electronics #MakerCommunity #RaspberryPi4 #RaspberryPi5</h1>



<p class="wp-block-paragraph">Introduction to Headless Setup 00:00:00<br>Why Headless Setup 00:00:06<br>Equipment Needed 00:00:28<br>Downloading Raspberry Pi OS 00:01:24<br>Choosing the OS Version 00:02:05<br>Unzipping the Image File 00:03:52<br>Writing Image to SD Card 00:04:12<br>Handling Auto-Mount Issues 00:05:02<br>Checking Disks with Parted 00:05:36<br>Unmounting SD Card 00:06:49<br>Using DD Command 00:08:02<br>Enabling SSH on Boot 00:12:07<br>Setting Static IP Address 00:12:33<br>Configuring SSH Keys 00:14:54<br>Setting File Permissions 00:16:36<br>Unmounting and Final Setup 00:18:55<br>Connecting to Pi via SSH 00:20:04<br>Verifying Connection 00:21:23<br>Conclusion and Next Steps 00:22:04<br>Call to Subscribe 00:22:52</p>



<p class="wp-block-paragraph">Thanks for watching!</p>



<p class="wp-block-paragraph">Find us on other social media here:</p>



<ul class="wp-block-list">
<li>https://www.NeuralLantern.com/social</li>
</ul>



<p class="wp-block-paragraph">Please help support us!</p>



<ul class="wp-block-list">
<li>Subscribing + Sharing on Social Media</li>



<li>Leaving a comment or suggestion</li>



<li>Subscribing to our Blog</li>



<li>Watching the main &#8220;pinned&#8221; video of this channel for offers and extras</li>
</ul>



<p class="wp-block-paragraph">Hey there! Let&#8217;s talk about how to install your Raspberry Pi from scratch and get to first boot</p>



<p class="wp-block-paragraph">and first login without actually having to plug in a monitor at all. This is a pure headless</p>



<p class="wp-block-paragraph">setup because for me personally, I hate walking over to like a TV or a monitor or something</p>



<p class="wp-block-paragraph">and plugging the Pi in or getting my portable monitor out. It&#8217;s just a pain in the butt.</p>



<p class="wp-block-paragraph">card, get it all installed, and then connect to it and configure it right away. Of course this video</p>



<p class="wp-block-paragraph">assumes that you&#8217;re not going to use your Pi with a desktop or a monitor at all because if you are</p>



<p class="wp-block-paragraph">you might as well just start doing that. But for me you know a lot of my Pi&#8217;s are just headless</p>



<p class="wp-block-paragraph">they&#8217;re servers or they&#8217;re fun experiments or whatever. So the first thing that we should do</p>



<p class="wp-block-paragraph">obviously you need an SD card and you need an SD card reader so if you&#8217;re on this video you</p>



<p class="wp-block-paragraph">card and an SD card reader. This is like a super old reader where you can stick a card in there.</p>



<p class="wp-block-paragraph">I got a slightly newer one plugged into the computer right now and if you bought an SD card</p>



<p class="wp-block-paragraph">or a micro SD card with the Pi you probably had a little adapter that came with it, a regular SD</p>



<p class="wp-block-paragraph">card adapter. So you can stick the tiny little card into the adapter but if you&#8217;re lucky and</p>



<p class="wp-block-paragraph">your card reader has a slot for micro SD you probably just need that. So the first thing that</p>



<p class="wp-block-paragraph">is go over to raspberrypi.com their foundation has a common org i think org is more for the</p>



<p class="wp-block-paragraph">community but go to raspberrypi.com and then click on software and download the raspberry</p>



<p class="wp-block-paragraph">pi operating system so i&#8217;m going to do this the manual way i&#8217;m just going to write an image if</p>



<p class="wp-block-paragraph">you want to do this with an imager or if you have like something else that you already know how to</p>



<p class="wp-block-paragraph">do that&#8217;s totally fine go ahead and do it i really just want you to put the operating system onto</p>



<p class="wp-block-paragraph">because I&#8217;ll be posting about how to do this with Windows and other stuff.</p>



<p class="wp-block-paragraph">I guess you don&#8217;t need that if you&#8217;re going to use the imager,</p>



<p class="wp-block-paragraph">but it&#8217;s more fun to do it manually.</p>



<p class="wp-block-paragraph">All right, so notice how it says manually install an operating system.</p>



<p class="wp-block-paragraph">I&#8217;m going to click on the download options.</p>



<p class="wp-block-paragraph">Select the operating system so modern Pis can use the 64-bit OS.</p>



<p class="wp-block-paragraph">That&#8217;s what I&#8217;m going to do.</p>



<p class="wp-block-paragraph">If you have, I think, like a Pi 1 or 2,</p>



<p class="wp-block-paragraph">you might be stuck using the legacy, like the 32-bit.</p>



<p class="wp-block-paragraph">like the 32-bit what&#8217;s the difference between those two 32-bit oh don&#8217;t do legacy I think that&#8217;s</p>



<p class="wp-block-paragraph">like really old I don&#8217;t know maybe it depends on how old your Pi is but just hover the mouse and</p>



<p class="wp-block-paragraph">notice how one of them says 32-bit that&#8217;s what you would use if you&#8217;re if your board is not 32 but</p>



<p class="wp-block-paragraph">as far as I understand I mean definitely the Pi 4 and the Pi 5 for me they worked with 64 bits</p>



<p class="wp-block-paragraph">I think my Pi 3 worked with 64 bits although I&#8217;m not 100 sure everything was okay after install</p>



<p class="wp-block-paragraph">was okay after install so just basically click on that then it&#8217;ll ask you all right what what</p>



<p class="wp-block-paragraph">version of the 64-bit do you want to download uh if you&#8217;re going to be installing a desktop you</p>



<p class="wp-block-paragraph">don&#8217;t really need this video so i&#8217;m just going to assume you don&#8217;t need a desktop you want this to</p>



<p class="wp-block-paragraph">be totally headless so that means the desktop is too much it&#8217;s too much to download it&#8217;s kind of a</p>



<p class="wp-block-paragraph">waste same thing for desktop with recommended software instead i&#8217;m going to click on the light</p>



<p class="wp-block-paragraph">version because that&#8217;s the fastest to download and it&#8217;s all we need so i&#8217;m going to click on that and</p>



<p class="wp-block-paragraph">So I&#8217;m gonna click on that and it&#8217;ll download.</p>



<p class="wp-block-paragraph">And you could probably pause the video right now</p>



<p class="wp-block-paragraph">because I already downloaded this.</p>



<p class="wp-block-paragraph">So pause the video and then wait for your download to finish</p>



<p class="wp-block-paragraph">and then come back with me.</p>



<p class="wp-block-paragraph">This is where I chose to save my image file.</p>



<p class="wp-block-paragraph">You probably actually don&#8217;t have a.image file.</p>



<p class="wp-block-paragraph">You probably have an image that ends in the XZ extension.</p>



<p class="wp-block-paragraph">If we look at the website again,</p>



<p class="wp-block-paragraph">at least as of the time I made this video,</p>



<p class="wp-block-paragraph">at the very bottom of that says.xz at the end.</p>



<p class="wp-block-paragraph">That just means it&#8217;s a zipped image</p>



<p class="wp-block-paragraph">so that it&#8217;s faster to download.</p>



<p class="wp-block-paragraph">So in order to unzip that and make it a regular image,</p>



<p class="wp-block-paragraph">you basically say unxz and then type the name of the file.</p>



<p class="wp-block-paragraph">Actually, it would probably end in xz if you had it.</p>



<p class="wp-block-paragraph">So you just kind of wait a little while for that to unzip</p>



<p class="wp-block-paragraph">and then when you&#8217;re done,</p>



<p class="wp-block-paragraph">it&#8217;ll show the image file like I have.</p>



<p class="wp-block-paragraph">Okay, anyway, so now that we&#8217;ve downloaded the image file,</p>



<p class="wp-block-paragraph">file the next thing we need to do is actually write to the SD card so I&#8217;m</p>



<p class="wp-block-paragraph">going to take the SD card right now and stick it into the card reader.</p>



<p class="wp-block-paragraph">Oh um this is going to be awkward.</p>



<p class="wp-block-paragraph">Awkward!</p>



<p class="wp-block-paragraph">My giant fingers aren&#8217;t working.</p>



<p class="wp-block-paragraph">Oh I almost did it. I almost got it.</p>



<p class="wp-block-paragraph">Oh man, welcome to my life.</p>



<p class="wp-block-paragraph">Bro, I need a flashlight or something.</p>



<p class="wp-block-paragraph">Oh my god, finally, finally, finally.</p>



<p class="wp-block-paragraph">Okay, I am kind of in a dark room and it&#8217;s like upside down and my hands are big and</p>



<p class="wp-block-paragraph">it&#8217;s like way over there.</p>



<p class="wp-block-paragraph">It&#8217;s already plugged in.</p>



<p class="wp-block-paragraph">already plugged in. I didn&#8217;t want to unplug the card reader because sometimes they don&#8217;t show up</p>



<p class="wp-block-paragraph">again if you plug them back in and you have to like reset the USB root hub. I really didn&#8217;t want</p>



<p class="wp-block-paragraph">to do that. So let&#8217;s see. The first thing that you probably should have done actually before</p>



<p class="wp-block-paragraph">plugging in the SD card, so maybe unplug your SD card real fast just to check, is just take note</p>



<p class="wp-block-paragraph">of what&#8217;s already plugged into your computer. I already know so it&#8217;s fine for me, but for you,</p>



<p class="wp-block-paragraph">program called parted which is short for partition editor it&#8217;ll just show you what</p>



<p class="wp-block-paragraph">disks and partitions and stuff you have in your system so i&#8217;m going to run it if you don&#8217;t have</p>



<p class="wp-block-paragraph">it it&#8217;s probably for you sudo apt install parted i&#8217;m going to do print uh devices and</p>



<p class="wp-block-paragraph">oh okay i&#8217;m on a host machine right now i got to send that usb into the guest so i guess it</p>



<p class="wp-block-paragraph">all worked out notice how it&#8217;s telling me this is the only disk that&#8217;s present it&#8217;s like my</p>



<p class="wp-block-paragraph">machine disk so then i&#8217;m going to tell my host machine to give that card reader to the guest</p>



<p class="wp-block-paragraph">machine usb host device card reader finish hopefully the video didn&#8217;t skip or do anything</p>



<p class="wp-block-paragraph">weird and then if i do print devices again now another thing showed up and uh i&#8217;m able to access</p>



<p class="wp-block-paragraph">it i know for sure this is dev sd god damn it i know this is dev sdb because that&#8217;s what just</p>



<p class="wp-block-paragraph">just showed up so remember that that&#8217;s very important you don&#8217;t want to get that wrong</p>



<p class="wp-block-paragraph">and notice these annoying pop-ups that happen that&#8217;s because there was already a file system</p>



<p class="wp-block-paragraph">on the card because you know i play around with these things and it&#8217;s not erased right now so</p>



<p class="wp-block-paragraph">that&#8217;s okay you can just close these little pop-ups if you&#8217;re if you&#8217;re linux auto mounts</p>



<p class="wp-block-paragraph">or anything like that but you have to unmount before you start writing to the card because if</p>



<p class="wp-block-paragraph">you write to a card or a drive or anything that&#8217;s already mounted somewhere like then you&#8217;re probably</p>



<p class="wp-block-paragraph">your data. So I&#8217;m going to do mount just to check what the mounts are and I&#8217;m going to search for</p>



<p class="wp-block-paragraph">SDB since I know that&#8217;s the device that just showed up. So it&#8217;s telling me that it&#8217;s mounted</p>



<p class="wp-block-paragraph">on those two folders which we recognize at this point because we just saw them pop up. So I&#8217;m</p>



<p class="wp-block-paragraph">just going to unmount them real fast to make sure that I don&#8217;t screw anything up.</p>



<p class="wp-block-paragraph">Okay all right and then one more time mount pattern matching with grep against SDB. Now</p>



<p class="wp-block-paragraph">grip against sdb now they&#8217;re gone so it&#8217;s probably safe to write to the sd card now</p>



<p class="wp-block-paragraph">so um the first thing that i&#8217;ll do is i&#8217;ll say sudo actually let me just list real fast the</p>



<p class="wp-block-paragraph">image okay so we&#8217;re gonna write the image to the sd card using that card reader and</p>



<p class="wp-block-paragraph">i should probably also point out that if you don&#8217;t understand what i&#8217;m doing on the command line</p>



<p class="wp-block-paragraph">you could just follow along but i have other videos that are you know fairly decent tutorials</p>



<p class="wp-block-paragraph">command line and connecting to machines over the remote and making ssh keys and stuff like that so</p>



<p class="wp-block-paragraph">i&#8217;m going to go ahead and use a command called dd which writes directly to some drive or block</p>



<p class="wp-block-paragraph">device it&#8217;s very very dangerous so be careful you could destroy your whole computer this way</p>



<p class="wp-block-paragraph">i actually did this once a long time ago i didn&#8217;t check what the output specification was</p>



<p class="wp-block-paragraph">and i watched my computer totally erase itself and a little tear went down on my cheek so we&#8217;ll</p>



<p class="wp-block-paragraph">on my cheek. So we&#8217;ll specify the in file, if equals, and that&#8217;s pretty easy. I just have to</p>



<p class="wp-block-paragraph">specify the image I just downloaded. Make sure you unzip yours before you do this. Then the out</p>



<p class="wp-block-paragraph">file is going to be the block device that just showed up. devsdb. If you see other tutorials on</p>



<p class="wp-block-paragraph">the internet with like, you know, sdb1 and 2, those numbers after the sdb or the block device,</p>



<p class="wp-block-paragraph">those usually are just partitions. So you want to write the whole entire card, or sorry, the whole</p>



<p class="wp-block-paragraph">the whole entire image to the whole entire card you don&#8217;t want to specify a partition</p>



<p class="wp-block-paragraph">i&#8217;m also going to specify conv equals fsync for me it&#8217;s a little bit safer i don&#8217;t know if this</p>



<p class="wp-block-paragraph">is needed on sd cards but for usb thumb drives they&#8217;ll sometimes lie to you and say that data</p>



<p class="wp-block-paragraph">has been written even though it has not in order to appear faster than they really are so if you</p>



<p class="wp-block-paragraph">do conv fsync it makes that safe again because you don&#8217;t want to you don&#8217;t want the command to</p>



<p class="wp-block-paragraph">you unplug the device and then whoops you have corrupted data now because it didn&#8217;t finish</p>



<p class="wp-block-paragraph">and then i&#8217;m going to do status equals progress just so i can see what&#8217;s happening</p>



<p class="wp-block-paragraph">okay so uh at this point now we&#8217;re just waiting i&#8217;m going to watch the progress for myself very</p>



<p class="wp-block-paragraph">carefully and then i&#8217;m going to uh i guess i&#8217;m going to pause the video and i&#8217;ll come back when</p>



<p class="wp-block-paragraph">So you should just probably pause the video right now and then when your card is finished</p>



<p class="wp-block-paragraph">writing then come back and resume with me.</p>



<p class="wp-block-paragraph">We&#8217;ll do an initial IP address and we&#8217;ll connect to it.</p>



<p class="wp-block-paragraph">We&#8217;ll set up the SD card and all that stuff without ever plugging in a monitor.</p>



<p class="wp-block-paragraph">Totally headless.</p>



<p class="wp-block-paragraph">It&#8217;s pretty sweet.</p>



<p class="wp-block-paragraph">Okay, I&#8217;m going to pause.</p>



<p class="wp-block-paragraph">Okay, I&#8217;m back.</p>



<p class="wp-block-paragraph">So I had an issue that I want to share with you real fast.</p>



<p class="wp-block-paragraph">the auto mounting service just came up and produced a folder and I get I got kind of scared and then</p>



<p class="wp-block-paragraph">when I went to go into the files I started getting read write errors so I think I actually corrupted</p>



<p class="wp-block-paragraph">my card I ended up disabling the service that auto mounts and then writing the card again from</p>



<p class="wp-block-paragraph">scratch so just for you the command that you would probably need if you have the auto mounting</p>



<p class="wp-block-paragraph">stop udisk2.service.</p>



<p class="wp-block-paragraph">You don&#8217;t want to disable it</p>



<p class="wp-block-paragraph">because you probably want it running</p>



<p class="wp-block-paragraph">after you&#8217;re done doing all your installs,</p>



<p class="wp-block-paragraph">but you want to do stop so that it stops right now</p>



<p class="wp-block-paragraph">and then start the SD card writing</p>



<p class="wp-block-paragraph">all over again from scratch.</p>



<p class="wp-block-paragraph">So with that in mind, let&#8217;s see.</p>



<p class="wp-block-paragraph">Hopefully this is going to show up now.</p>



<p class="wp-block-paragraph">Pseudo parted.</p>



<p class="wp-block-paragraph">And then I&#8217;ll do print devices again to see what&#8217;s up.</p>



<p class="wp-block-paragraph">Okay, so it&#8217;s in there.</p>



<p class="wp-block-paragraph">Now let&#8217;s see if we have read write errors</p>



<p class="wp-block-paragraph">let&#8217;s see if we have read write errors or if it&#8217;s actually going to work this time.</p>



<p class="wp-block-paragraph">So I turned off the auto mounting service, which means I have to mount it from scratch probably.</p>



<p class="wp-block-paragraph">So let&#8217;s just double check to make sure it didn&#8217;t actually mount media mic. Okay. So nothing&#8217;s in</p>



<p class="wp-block-paragraph">there. So that&#8217;s good. So now I am going to go into the temp folder and then the pie folder</p>



<p class="wp-block-paragraph">and then the boot folder and the root are just going to be mounted. So I&#8217;m going to say sudo</p>



<p class="wp-block-paragraph">is that what I just saw? I forgot. SDB, yeah. SDB1 goes to boot.</p>



<p class="wp-block-paragraph">And then SDB2 goes to root. Now we have access, hopefully, to the file system. So I&#8217;m going to go</p>



<p class="wp-block-paragraph">into the boot file system. So this is the boot partition that your Pi will have when it&#8217;s running</p>



<p class="wp-block-paragraph">and stuff. So first thing we need to do is tell the Pi that we want its SSH server to be enabled</p>



<p class="wp-block-paragraph">at boot. There&#8217;s not really that much that we have to do here. We&#8217;ll just</p>



<p class="wp-block-paragraph">basically create an empty file with the touch command. So I&#8217;m going to say touch</p>



<p class="wp-block-paragraph">SSH and now if you look there&#8217;s an SSH file it&#8217;s totally empty but that lets</p>



<p class="wp-block-paragraph">the pi know that we want the SSH server to run whenever it boots. Then we have to</p>



<p class="wp-block-paragraph">modify the command line so that we can set a fixed IP in advanced. So you know</p>



<p class="wp-block-paragraph">sudo nano command line or vim or whatever you like to use. What you&#8217;re</p>



<p class="wp-block-paragraph">like to use what you&#8217;re looking for here is root weight right after that you have to put the</p>



<p class="wp-block-paragraph">specification for the ip address that you want so you probably should know what your ip address sub</p>



<p class="wp-block-paragraph">what your ip subnet is before you start we&#8217;re not going to do ipv6 in this video but you know because</p>



<p class="wp-block-paragraph">we just need ipv4 to get into the pi and then from that point you can configure it however you feel</p>



<p class="wp-block-paragraph">or sometimes dot zero dot one whatever yours is you have to figure it out you have to go find out</p>



<p class="wp-block-paragraph">what your router&#8217;s ip is your subnet is probably just the first three numbers because most routers</p>



<p class="wp-block-paragraph">consumer routers default to a 24 block which just basically means the first 24 bits have to stay</p>



<p class="wp-block-paragraph">fixed and the last eight bits can change for an ip address to be considered in the same subnet as</p>



<p class="wp-block-paragraph">some other so for me i know mine is a dot one dot something so i&#8217;m going to assign 123 to my pi&#8217;s</p>



<p class="wp-block-paragraph">ethernet adapter because that&#8217;s just what I want. You have to choose a number that&#8217;s available on</p>



<p class="wp-block-paragraph">your network. If you don&#8217;t really know then it probably won&#8217;t matter too much because if you</p>



<p class="wp-block-paragraph">fix a number that&#8217;s already in use the other computer will probably get kicked off the network</p>



<p class="wp-block-paragraph">and then try to rejoin and then it&#8217;ll end up using a different number. Most DHCP servers that I&#8217;ve</p>



<p class="wp-block-paragraph">seen on consumer routers will kind of stop at high numbers like they&#8217;ll go from 2 to 99 or something</p>



<p class="wp-block-paragraph">So if you want to be like a little bit on the safer side, you could choose a higher number.</p>



<p class="wp-block-paragraph">But it&#8217;s fine.</p>



<p class="wp-block-paragraph">So right after root weight, IP equals, and then the IP address that you&#8217;ve chosen.</p>



<p class="wp-block-paragraph">So that&#8217;s it for the boot partition.</p>



<p class="wp-block-paragraph">Let&#8217;s go into the root partition now.</p>



<p class="wp-block-paragraph">So the root partition is just like the root of the file system.</p>



<p class="wp-block-paragraph">It&#8217;s got the actual root folder.</p>



<p class="wp-block-paragraph">So that&#8217;s the home directory for the root account.</p>



<p class="wp-block-paragraph">We could go in there and modify that if we wanted to.</p>



<p class="wp-block-paragraph">every PI by default with these OS installs,</p>



<p class="wp-block-paragraph">it comes with an account called PI</p>



<p class="wp-block-paragraph">and it&#8217;s also an admin.</p>



<p class="wp-block-paragraph">So it&#8217;s home folder is gonna be</p>



<p class="wp-block-paragraph">the root of the file system slash home slash PI.</p>



<p class="wp-block-paragraph">But for this particular mount, you know,</p>



<p class="wp-block-paragraph">it starts at root.</p>



<p class="wp-block-paragraph">So we have to go CD into home and then CD into PI.</p>



<p class="wp-block-paragraph">So from your PI&#8217;s perspective,</p>



<p class="wp-block-paragraph">it&#8217;s just gonna be this folder right here,</p>



<p class="wp-block-paragraph">slash home slash PI.</p>



<p class="wp-block-paragraph">I&#8217;ve mounted it so I see a different path.</p>



<p class="wp-block-paragraph">If I list it, you can see some starter files for the PI.</p>



<p class="wp-block-paragraph">for the pi. So I&#8217;m going to create a directory. I can do make directory and call it dot SSH,</p>



<p class="wp-block-paragraph">a special folder where all your SSH configuration is. Again, if you don&#8217;t understand SSH or keys or</p>



<p class="wp-block-paragraph">anything like that, see my other videos. I&#8217;ll talk about how to make SSH keys and connect from</p>



<p class="wp-block-paragraph">Windows and connect from Linux and all that stuff. But it&#8217;s not too bad. You can just kind of follow</p>



<p class="wp-block-paragraph">along with me. If you don&#8217;t have a key, by the way, on your host machine. So let&#8217;s let me go up</p>



<p class="wp-block-paragraph">So let me go up here on the host machine.</p>



<p class="wp-block-paragraph">You can do something like ssh-keygen type ed25519 and then just hit enter a bunch of times.</p>



<p class="wp-block-paragraph">And you should be able to get your ssh key created.</p>



<p class="wp-block-paragraph">You probably want to eventually learn how to put a password on it, you know, but that&#8217;s okay for now.</p>



<p class="wp-block-paragraph">So I&#8217;m going to go into the ssh folder.</p>



<p class="wp-block-paragraph">And I want to create a special file called authorized keys.</p>



<p class="wp-block-paragraph">some SSH keys that will be allowed to connect into the Pi. So for my host machine, I&#8217;m going to</p>



<p class="wp-block-paragraph">print out my public key, at least for this.</p>



<p class="wp-block-paragraph">Oh, ID, right? I got to do IDED.hub. So this is just like a useless key. I mean,</p>



<p class="wp-block-paragraph">the public keys are always okay to share on the internet. It&#8217;s fine. But like,</p>



<p class="wp-block-paragraph">I feel better about this because it&#8217;s just my VM for videos. It doesn&#8217;t actually run most of the</p>



<p class="wp-block-paragraph">Okay, something happened</p>



<p class="wp-block-paragraph">Okay, so basically you just take this key the whole entire public key get the pub not the one that doesn&#8217;t have pub and just paste it into</p>



<p class="wp-block-paragraph">Authorized keys file</p>



<p class="wp-block-paragraph">So then we have to set permissions</p>



<p class="wp-block-paragraph">The authorized key file we&#8217;re gonna go to mod. I think it&#8217;s supposed to be like six or seven oh</p>



<p class="wp-block-paragraph">But basically the system probably doesn&#8217;t want any other user to have permission. So that&#8217;s why we do</p>



<p class="wp-block-paragraph">we do something zero, zero, either six or seven. I think six might be it, but I&#8217;m just going to</p>



<p class="wp-block-paragraph">stick with seven just to help this video go along a little bit faster. Make sure it&#8217;s owned by the</p>



<p class="wp-block-paragraph">same user as the pi. In this case, the pi user is just sort of like the first user that was created.</p>



<p class="wp-block-paragraph">So it&#8217;ll end up having the same user as you if on your host machine, you are also the first user.</p>



<p class="wp-block-paragraph">user owner or maybe just do the root account instead maybe I&#8217;ll show you that real fast</p>



<p class="wp-block-paragraph">so then we go up one level and the system probably also does not want the SSH key to be you know or</p>



<p class="wp-block-paragraph">SSH folder to be browsable by other users it&#8217;s also kind of a bad idea so I&#8217;m just going to go</p>



<p class="wp-block-paragraph">Chamod we&#8217;ll do like another 700 SSH it definitely has to be 700 instead of 600 if you don&#8217;t know</p>



<p class="wp-block-paragraph">by the way then just see my other videos otherwise trust me but long story short</p>



<p class="wp-block-paragraph">not a good idea to be able to let other users into your SSH folder so that&#8217;s why</p>



<p class="wp-block-paragraph">I&#8217;m doing that at this point we&#8217;re probably done authenticating we can</p>



<p class="wp-block-paragraph">probably jump into the pie but let me just show you real fast if we go into</p>



<p class="wp-block-paragraph">the root folder permission denied okay sudo su root and then go into the root</p>



<p class="wp-block-paragraph">tempPyRoot, that&#8217;s the root partition.</p>



<p class="wp-block-paragraph">So really from the Pys perspective,</p>



<p class="wp-block-paragraph">we&#8217;re trying to edit a file called slash root</p>



<p class="wp-block-paragraph">because that&#8217;s the home folder for the root account</p>



<p class="wp-block-paragraph">on the Pi.</p>



<p class="wp-block-paragraph">It&#8217;s basically the same thing.</p>



<p class="wp-block-paragraph">There&#8217;s like an SSH folder in there</p>



<p class="wp-block-paragraph">and you can add an authorized keys file</p>



<p class="wp-block-paragraph">if you wanna be able to log into the root account</p>



<p class="wp-block-paragraph">on your Pi.</p>



<p class="wp-block-paragraph">Otherwise it doesn&#8217;t really matter.</p>



<p class="wp-block-paragraph">And I think we&#8217;re probably done.</p>



<p class="wp-block-paragraph">Let me just double check my notes real fast here.</p>



<p class="wp-block-paragraph">Oh no, I forgot to look at my notes.</p>



<p class="wp-block-paragraph">I forgot to look at my notes first connection.</p>



<p class="wp-block-paragraph">Did I forget anything?</p>



<p class="wp-block-paragraph">I probably forgot a bunch of stuff.</p>



<p class="wp-block-paragraph">Authorized keys.</p>



<p class="wp-block-paragraph">All right, let&#8217;s see if it actually works.</p>



<p class="wp-block-paragraph">So I&#8217;m going to now unmount.</p>



<p class="wp-block-paragraph">Got to do that.</p>



<p class="wp-block-paragraph">Don&#8217;t forget to unmount.</p>



<p class="wp-block-paragraph">So I&#8217;m going to go sudo umount boot, sudo umount root.</p>



<p class="wp-block-paragraph">If either of those say the device is busy, you probably are still in that directory</p>



<p class="wp-block-paragraph">directory in like a different terminal tab or account or something.</p>



<p class="wp-block-paragraph">You know, one of the mistakes I always make is I go sudo su root.</p>



<p class="wp-block-paragraph">And then I forget that the regular user is actually still in that same folder,</p>



<p class="wp-block-paragraph">even if I navigate to somewhere else in the root account.</p>



<p class="wp-block-paragraph">So just make sure everything&#8217;s okay. Uh, and then you can,</p>



<p class="wp-block-paragraph">if you want to double check, you can say mount, mount points, um,</p>



<p class="wp-block-paragraph">boots and mount points roots.</p>



<p class="wp-block-paragraph">And it&#8217;ll tell you that they&#8217;re not mount points. So at this point,</p>



<p class="wp-block-paragraph">probably okay to remove the card from the card reader, remove the micro SD card, stick it into the Pi</p>



<p class="wp-block-paragraph">and then I&#8217;m going to plug the Pi into ethernet because that&#8217;s the IP address that I just set up</p>



<p class="wp-block-paragraph">so I&#8217;m plugging it into the ethernet real fast. You can&#8217;t see it&#8217;s off camera, I have a short cable</p>



<p class="wp-block-paragraph">and then I&#8217;m going to plug it into its power. So now my Pi is totally on and I&#8217;m going to start</p>



<p class="wp-block-paragraph">And I&#8217;m going to start trying to ping that IP address as fast as I can.</p>



<p class="wp-block-paragraph">I should have started pinging before anything happened.</p>



<p class="wp-block-paragraph">Because it&#8217;s more fun to see when the pings begin.</p>



<p class="wp-block-paragraph">Would you agree?</p>



<p class="wp-block-paragraph">No?</p>



<p class="wp-block-paragraph">Okay.</p>



<p class="wp-block-paragraph">Let&#8217;s see what&#8217;s happening.</p>



<p class="wp-block-paragraph">I see some flashing on the Ethernet cable and the power lights.</p>



<p class="wp-block-paragraph">I always get nervous that I&#8217;ve done something wrong when I&#8217;m being recorded.</p>



<p class="wp-block-paragraph">Because, you know, in regular life, I do stuff wrong all the time.</p>



<p class="wp-block-paragraph">And it&#8217;s fine.</p>



<p class="wp-block-paragraph">And it&#8217;s fine. Nobody remembers.</p>



<p class="wp-block-paragraph">I just have to, like, quickly catch myself and correct my mistakes.</p>



<p class="wp-block-paragraph">Awkward.</p>



<p class="wp-block-paragraph">This small amount of time has turned into a huge amount of time.</p>



<p class="wp-block-paragraph">In my mind.</p>



<p class="wp-block-paragraph">Wait, what am I doing? What am I doing?</p>



<p class="wp-block-paragraph">Oh, that&#8217;s what happened! Oh, a huge mistake!</p>



<p class="wp-block-paragraph">I forgot to put an extra number there.</p>



<p class="wp-block-paragraph">For some reason, it filled in the zero.</p>



<p class="wp-block-paragraph">For some reason it filled in the zero.</p>



<p class="wp-block-paragraph">I was too rushed.</p>



<p class="wp-block-paragraph">Okay, so the Pi probably came on a long time ago.</p>



<p class="wp-block-paragraph">You&#8217;re welcome for the laugh.</p>



<p class="wp-block-paragraph">So now that the Pi is online,</p>



<p class="wp-block-paragraph">I can try to SSH into it and just hope</p>



<p class="wp-block-paragraph">that my authentication works.</p>



<p class="wp-block-paragraph">So I&#8217;m gonna do Pi at,</p>



<p class="wp-block-paragraph">because I didn&#8217;t make a user account that matched Mike.</p>



<p class="wp-block-paragraph">I just made a Pi user account.</p>



<p class="wp-block-paragraph">So I&#8217;m gonna do that.</p>



<p class="wp-block-paragraph">And host verification has failed.</p>



<p class="wp-block-paragraph">So that just is because I&#8217;ve been using that same IP address</p>



<p class="wp-block-paragraph">using that same IP address for different videos today. So I have to remove that from the memory</p>



<p class="wp-block-paragraph">of my SSH client. So I&#8217;m going to go SSH keygen R. This is a good security feature. Basically,</p>



<p class="wp-block-paragraph">it&#8217;s saying that your system remembers connecting to a totally different machine at that same IP.</p>



<p class="wp-block-paragraph">So it thinks somebody is being hacked. So I&#8217;m just going to remove the record and then try to</p>



<p class="wp-block-paragraph">connect again. Now it&#8217;s going to say, all right, do you want to connect? Do you trust this? I guess</p>



<p class="wp-block-paragraph">And here we are, we&#8217;re inside of a Raspberry Pi now.</p>



<p class="wp-block-paragraph">This is basically the end of the video because you can kind of do whatever you want now.</p>



<p class="wp-block-paragraph">Notice how I never plugged in HDMI.</p>



<p class="wp-block-paragraph">I didn&#8217;t have to look at a desktop.</p>



<p class="wp-block-paragraph">I didn&#8217;t have to do anything except just connect to the Pi over the network.</p>



<p class="wp-block-paragraph">For me, this is really convenient.</p>



<p class="wp-block-paragraph">You just write the SD card, modify a couple of things, plug into Ethernet, and then boom,</p>



<p class="wp-block-paragraph">you can configure it.</p>



<p class="wp-block-paragraph">So you can go into, you know, Network Manager and like look at the connections and modify them,</p>



<p class="wp-block-paragraph">and modify them, set the IP addresses however you want, set any other</p>



<p class="wp-block-paragraph">configuration any way you want, harden the security. So the point of this video</p>



<p class="wp-block-paragraph">is just how to get in without really plugging into a monitor. So thank you so</p>



<p class="wp-block-paragraph">much for watching I hope you learned a little bit of stuff and had a little bit</p>



<p class="wp-block-paragraph">of fun. I suppose I will see you in the next video.</p>



<p class="wp-block-paragraph">Hey everybody, thanks for watching this video again from the bottom of my heart.</p>



<p class="wp-block-paragraph">I really appreciate it.</p>



<p class="wp-block-paragraph">I do hope you did learn something and have some fun.</p>



<p class="wp-block-paragraph">If you could do me a please, a small little favor, could you please subscribe and follow</p>



<p class="wp-block-paragraph">this channel or these videos or whatever it is you do on the current social media website</p>



<p class="wp-block-paragraph">that you&#8217;re looking at right now.</p>



<p class="wp-block-paragraph">It would really mean the world to me and it&#8217;ll help make more videos and grow this community.</p>



<p class="wp-block-paragraph">So we&#8217;ll be able to do more videos, longer videos, better videos, or just I&#8217;ll be able</p>



<p class="wp-block-paragraph">or just I&#8217;ll be able to keep making videos in general.</p>



<p class="wp-block-paragraph">So please do me a kindness and subscribe.</p>



<p class="wp-block-paragraph">You know, sometimes I&#8217;m sleeping in the middle of the night</p>



<p class="wp-block-paragraph">and I just wake up because I know somebody subscribed or followed.</p>



<p class="wp-block-paragraph">It just wakes me up and I get filled with joy.</p>



<p class="wp-block-paragraph">That&#8217;s exactly what happens every single time.</p>



<p class="wp-block-paragraph">So you could do it as a nice favor to me</p>



<p class="wp-block-paragraph">or you could troll me if you want to just wake me up in the middle of the night.</p>



<p class="wp-block-paragraph">Just subscribe and then I&#8217;ll just wake up.</p>



<p class="wp-block-paragraph">I promise that&#8217;s what will happen.</p>



<p class="wp-block-paragraph">Also, if you look at the middle of the screen right now,</p>



<p class="wp-block-paragraph">the middle of the screen right now you should see a qr code which you can scan in order to go to the</p>



<p class="wp-block-paragraph">website which i think is also named somewhere at the bottom of this video and it&#8217;ll take you to my</p>



<p class="wp-block-paragraph">main website where you can just kind of like see all the videos i published and the services and</p>



<p class="wp-block-paragraph">tutorials and things that i offer and all that good stuff and uh if you have a suggestion for uh</p>



<p class="wp-block-paragraph">clarifications or errata or just future videos that you want to see please leave a comment or if you</p>



<p class="wp-block-paragraph">hey what&#8217;s up what&#8217;s going on you know just send me a comment whatever i also wake up for those in</p>



<p class="wp-block-paragraph">the middle of the night i get i wake up in a cold sweat and i&#8217;m like it would really it really mean</p>



<p class="wp-block-paragraph">the world to me i would really appreciate it so again thank you so much for watching this video</p>



<p class="wp-block-paragraph">and um enjoy the cool music as as i fade into the darkness which is coming for us all</p>



<p class="wp-block-paragraph">Thank you.</p>



<p class="wp-block-paragraph">Okay.</p>



<p class="wp-block-paragraph">Hey there, let&#8217;s talk about how to boot your Raspberry Pi or part on yourself.</p>
<p>The post <a href="https://www.NeuralLantern.com/raspberry-pi-headless-setup-boot-without-a-monitor-in-minutes/">Raspberry Pi Headless Setup: Boot Without a Monitor in Minutes!</a> appeared first on <a href="https://www.NeuralLantern.com">NeuralLantern.com</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.NeuralLantern.com/raspberry-pi-headless-setup-boot-without-a-monitor-in-minutes/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Ultimate Beginner&#8217;s Guide to Linux Command Line: Ubuntu Terminal Basics &#038; More</title>
		<link>https://www.NeuralLantern.com/ultimate-beginners-guide-to-linux-command-line-ubuntu-terminal-basics-more/</link>
					<comments>https://www.NeuralLantern.com/ultimate-beginners-guide-to-linux-command-line-ubuntu-terminal-basics-more/#respond</comments>
		
		<dc:creator><![CDATA[mike]]></dc:creator>
		<pubDate>Sun, 18 May 2025 05:18:19 +0000</pubDate>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Conversions]]></category>
		<category><![CDATA[Videos]]></category>
		<category><![CDATA[APT package manager]]></category>
		<category><![CDATA[C++ programming]]></category>
		<category><![CDATA[command line basics]]></category>
		<category><![CDATA[GCC compiler]]></category>
		<category><![CDATA[Linux desktop environment]]></category>
		<category><![CDATA[Linux file navigation]]></category>
		<category><![CDATA[Linux for beginners]]></category>
		<category><![CDATA[Linux tutorial]]></category>
		<category><![CDATA[Nano editor]]></category>
		<category><![CDATA[open source tools]]></category>
		<category><![CDATA[sudo command]]></category>
		<category><![CDATA[terminal commands]]></category>
		<category><![CDATA[terminal emulator]]></category>
		<category><![CDATA[Ubuntu terminal]]></category>
		<category><![CDATA[Vim tutorial]]></category>
		<guid isPermaLink="false">https://www.NeuralLantern.com/?p=107</guid>

					<description><![CDATA[<p>Master Linux command line basics on Ubuntu! Learn terminal commands, file navigation, and more in this fun beginner guide.</p>
<p>The post <a href="https://www.NeuralLantern.com/ultimate-beginners-guide-to-linux-command-line-ubuntu-terminal-basics-more/">Ultimate Beginner&#8217;s Guide to Linux Command Line: Ubuntu Terminal Basics &amp; More</a> appeared first on <a href="https://www.NeuralLantern.com">NeuralLantern.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Ultimate Beginner?s Guide to Linux Command Line: Ubuntu Terminal Basics &amp; More" width="1380" height="776" src="https://www.youtube.com/embed/2bhhH2ykaiE?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">Hey there, Linux newbies! Ready to unlock the power of the Linux command line? In this fun and approachable guide, we dive into the Ubuntu terminal to teach you the essentials of command-line magic. Perfect for beginners, this video covers everything from launching a terminal (like the awesome Terminator emulator) to mastering commands like ls, cd, mkdir, and rm. You’ll learn how to navigate the file system, create and delete files, edit code with Nano (sorry, Vim fans!), and even compile C++ programs with GCC. Plus, we’ll show you how to install cool programs like GIMP using apt and wield sudo like a pro. Whether you’re switching from a GUI or just curious about the terminal’s hacker vibes, this video is your gateway to a whole new world of open-source tools. Stick around till the end for a quick peek at graphical editing and a heartfelt call to join our community! Hit that subscribe button, scan the QR code to check out more tutorials, and let’s keep exploring Linux together. Drop a comment with your favorite command or what you want to learn next! #Linux #CommandLine #Ubuntu</p>



<p class="wp-block-paragraph">Introduction to Linux Command Line 00:00:00<br>Ubuntu Linux Terminal 00:00:04<br>Benefits of Terminal Usage 00:00:09<br>Desktop Environments (XFCE vs. GNOME) 00:01:07<br>Launching the Terminal 00:01:55<br>Terminal Emulator (Terminator) 00:02:06<br>Understanding the Shell (Bash) 00:04:00<br>Echo Command and Variables 00:04:06<br>Clear Command 00:07:34<br>Navigating File System (PWD) 00:08:21<br>Listing Directory Contents (LS) 00:08:56<br>Using Man Pages 00:10:37<br>Changing Directories (CD) 00:13:15<br>Creating Directories (MKDIR) 00:14:51<br>Going Up Directory Levels 00:15:57<br>Creating and Deleting Files (Touch, RM) 00:19:03<br>Editing Files with Nano 00:21:00<br>Editing Files with Vim 00:26:24<br>Installing Programs with APT 00:28:06<br>Using Sudo for Root Access 00:32:29<br>Updating and Upgrading System 00:34:54<br>Graphical File Editing 00:36:05<br>Compiling C++ Programs (GCC, G++) 00:39:53<br>Executing Programs 00:40:57<br>Conclusion and Subscription Call 00:43:04</p>



<p class="wp-block-paragraph">Thanks for watching!</p>



<p class="wp-block-paragraph">Find us on other social media here:</p>



<ul class="wp-block-list">
<li>https://www.NeuralLantern.com/social</li>
</ul>



<p class="wp-block-paragraph">Please help support us!</p>



<ul class="wp-block-list">
<li>Subscribing + Sharing on Social Media</li>



<li>Leaving a comment or suggestion</li>



<li>Subscribing to our Blog</li>



<li>Watching the main &#8220;pinned&#8221; video of this channel for offers and extras</li>
</ul>



<p class="wp-block-paragraph">Hello there. Today I&#8217;d like to show you a little bit about the Linux command line</p>



<p class="wp-block-paragraph">inside of a terminal. More specifically I&#8217;m going to be doing this on Ubuntu Linux.</p>



<p class="wp-block-paragraph">This is great for beginners to start to get to know how to issue commands and do</p>



<p class="wp-block-paragraph">things like that and if you&#8217;re used to doing everything in a GUI in a graphical</p>



<p class="wp-block-paragraph">user interface then you probably have no idea how much fun it is to actually</p>



<p class="wp-block-paragraph">work inside of a terminal. There are tons and tons of programs that you can gain</p>



<p class="wp-block-paragraph">can gain access to once you start getting more comfortable with the terminal.</p>



<p class="wp-block-paragraph">When you look around at the open source world and all the wonderful tools that people make,</p>



<p class="wp-block-paragraph">you&#8217;ll find out pretty quickly that a lot of programmers just write tools that only</p>



<p class="wp-block-paragraph">work with the command line.</p>



<p class="wp-block-paragraph">And you know, maybe later if someone else comes along and wants to add a graphical</p>



<p class="wp-block-paragraph">interface for it, then they do.</p>



<p class="wp-block-paragraph">But lots of times that doesn&#8217;t actually ever happen.</p>



<p class="wp-block-paragraph">And so you sort of open up a whole new world for yourself when you learn to use the terminal.</p>



<p class="wp-block-paragraph">when you learn to use the terminal.</p>



<p class="wp-block-paragraph">Anyway, and then you also look really cool like a hacker.</p>



<p class="wp-block-paragraph">So I&#8217;m on a desktop engine called XFCE</p>



<p class="wp-block-paragraph">or a desktop environment called XFCE.</p>



<p class="wp-block-paragraph">Most new Linux users who are on Ubuntu</p>



<p class="wp-block-paragraph">are probably looking at the GNOME desktop.</p>



<p class="wp-block-paragraph">So let me just say real fast,</p>



<p class="wp-block-paragraph">if you have a desktop that looks nothing like this</p>



<p class="wp-block-paragraph">and you think you&#8217;re on GNOME because you just installed vanilla Ubuntu or something,</p>



<p class="wp-block-paragraph">then you probably want to take a look at the top left corner of the screen</p>



<p class="wp-block-paragraph">for a little button called Activities,</p>



<p class="wp-block-paragraph">or at the bottom left of the screen for a button that I think is like nine dots.</p>



<p class="wp-block-paragraph">Both of those buttons will allow you to search for programs on the system.</p>



<p class="wp-block-paragraph">What you should do is basically click one of those buttons</p>



<p class="wp-block-paragraph">and then start typing in the word Terminal</p>



<p class="wp-block-paragraph">until you see a terminal pop up and then you can click on it</p>



<p class="wp-block-paragraph">and then you can launch it.</p>



<p class="wp-block-paragraph">and then you can, you can launch it. Okay. So for me though,</p>



<p class="wp-block-paragraph">I already have this set up on my desktop.</p>



<p class="wp-block-paragraph">So I&#8217;m going to click on my little terminal icon and I&#8217;m going to launch a</p>



<p class="wp-block-paragraph">terminal. For those of you who don&#8217;t know what terminal I&#8217;m using right now,</p>



<p class="wp-block-paragraph">this is called terminator. I think it&#8217;s really cool.</p>



<p class="wp-block-paragraph">I&#8217;m personally a huge fan of this terminal. Uh,</p>



<p class="wp-block-paragraph">the main reason is that it&#8217;s really easy and fast to split the panes.</p>



<p class="wp-block-paragraph">So you can do multiple, uh, sessions.</p>



<p class="wp-block-paragraph">If you&#8217;re connected to multiple remote machines at the same time, um,</p>



<p class="wp-block-paragraph">machines at the same time, you know, later in your career. It&#8217;s really convenient. It&#8217;s actually</p>



<p class="wp-block-paragraph">kind of broken right now a little bit, but not too bad. I still love it. Okay, so I open up a</p>



<p class="wp-block-paragraph">terminal. Technically, this is called a terminal emulator. The real terminal would just be like a</p>



<p class="wp-block-paragraph">completely black screen, and you wouldn&#8217;t be able to see anything else graphical. So this is sort of</p>



<p class="wp-block-paragraph">like a windowed program that runs another program under the hood that helps this program talk with</p>



<p class="wp-block-paragraph">talk with the operating system and it sort of performs two-way communication and shows you</p>



<p class="wp-block-paragraph">what the operating system is saying to you and doing and things like that. So,</p>



<p class="wp-block-paragraph">but for all intent and purpose, this is a, this is a terminal. I always call this a terminal.</p>



<p class="wp-block-paragraph">Okay. Let&#8217;s see. Maybe I need to increase the font size real fast. Um,</p>



<p class="wp-block-paragraph">I got a profiles out if I do mono space and I just do it like a little bit, a little bit bigger</p>



<p class="wp-block-paragraph">bigger than the default so it&#8217;s easier to watch on a video. Okay how about that is that better?</p>



<p class="wp-block-paragraph">I think that&#8217;s probably better. Okay so for starters uh you&#8217;re looking at a command line</p>



<p class="wp-block-paragraph">interface you&#8217;re looking at a terminal this is a terminal emulator program uh we have like a</p>



<p class="wp-block-paragraph">blinking cursor you can enter commands and stuff like that it&#8217;s important to understand at first</p>



<p class="wp-block-paragraph">that um you&#8217;re actually already inside of a program remember I said that the terminal emulator is a</p>



<p class="wp-block-paragraph">and it helps go between you and the operating system.</p>



<p class="wp-block-paragraph">There&#8217;s also another program that sort of interprets the things that you&#8217;re saying</p>



<p class="wp-block-paragraph">before sending that off to the operating system.</p>



<p class="wp-block-paragraph">The program is different depending on what environment you&#8217;re using,</p>



<p class="wp-block-paragraph">but in Ubuntu, it usually defaults to bash.</p>



<p class="wp-block-paragraph">So I&#8217;m going to type a quick command.</p>



<p class="wp-block-paragraph">We&#8217;ll explain what these commands do in a second.</p>



<p class="wp-block-paragraph">And I&#8217;m going to type echo shell,</p>



<p class="wp-block-paragraph">and that&#8217;s going to tell me what interpreter we&#8217;re using.</p>



<p class="wp-block-paragraph">So by default, we&#8217;re using an interpreter called bash.</p>



<p class="wp-block-paragraph">So if you hear anybody say, hey, I&#8217;m in bash or I got a bash script.</p>



<p class="wp-block-paragraph">Well, this is what it is.</p>



<p class="wp-block-paragraph">It&#8217;s a program that will be understood by bash.</p>



<p class="wp-block-paragraph">Okay, so what did I just type?</p>



<p class="wp-block-paragraph">I typed echo and then I typed a dollar sign and then I typed shell.</p>



<p class="wp-block-paragraph">So on the terminal, you know, you can type any command you want.</p>



<p class="wp-block-paragraph">It may not actually work, but you know, you can type.</p>



<p class="wp-block-paragraph">The way that your command is usually interpreted is if you type just one thing,</p>



<p class="wp-block-paragraph">then that&#8217;s considered the program that you want to execute.</p>



<p class="wp-block-paragraph">the program that you want to execute so if i type the word echo by itself and hit enter</p>



<p class="wp-block-paragraph">then bash or i&#8217;ll just say you know the shell or the terminal is going to look for a program named</p>



<p class="wp-block-paragraph">echo and if it finds it it&#8217;ll execute it um there&#8217;s a there&#8217;s a special way that it searches</p>



<p class="wp-block-paragraph">for programs like uh the the program echo for example it has to it has to go somewhere in the</p>



<p class="wp-block-paragraph">operating system right there has to be a path so if you type which echo you can see exactly where</p>



<p class="wp-block-paragraph">system so slash user slash bin slash echo so that&#8217;s where it is but i can just type echo by</p>



<p class="wp-block-paragraph">itself because the system knows how to go search through special system paths looking for the echo</p>



<p class="wp-block-paragraph">program that you typed so it can find the real location anyway so i type echo and this program</p>



<p class="wp-block-paragraph">launches and it doesn&#8217;t really do anything the thing about the echo program is if you just type</p>



<p class="wp-block-paragraph">actually receive what you typed after after the echo program executable name</p>



<p class="wp-block-paragraph">and it&#8217;ll just print it back to you.</p>



<p class="wp-block-paragraph">So what&#8217;s happening here is the bash interpreter, the shell,</p>



<p class="wp-block-paragraph">it&#8217;ll always take the first argument.</p>



<p class="wp-block-paragraph">We call these arguments, words or symbols separated by spaces.</p>



<p class="wp-block-paragraph">The first argument is echo.</p>



<p class="wp-block-paragraph">That&#8217;s considered the program that you want to run.</p>



<p class="wp-block-paragraph">And every argument after that is actually just sent into the program that you launch.</p>



<p class="wp-block-paragraph">thing that&#8217;s actually launching here is the echo program and then hello is a string that gets sent</p>



<p class="wp-block-paragraph">into the echo program you can do as many arguments as you want actually i don&#8217;t know if there&#8217;s like</p>



<p class="wp-block-paragraph">a huge limit huge limit you can probably type a lot of these before you run out and so i&#8217;ve typed</p>



<p class="wp-block-paragraph">three arguments technically the echo program is is argument zero the first argument but um i&#8217;ve</p>



<p class="wp-block-paragraph">typed out three arguments that will get sent into the echo program and you can see that echo received</p>



<p class="wp-block-paragraph">three of them and just printed them out and that&#8217;s it so it&#8217;s the echo program is pretty simple but</p>



<p class="wp-block-paragraph">if i if i type a dollar sign and i like actually let me just type shell by itself if i say echo</p>



<p class="wp-block-paragraph">shell it just prints the word shell because that&#8217;s interpreted as just like a regular string but if i</p>



<p class="wp-block-paragraph">put a dollar sign in front of it then bash considers that to be a variable and so what it&#8217;ll do is it&#8217;ll</p>



<p class="wp-block-paragraph">go into memory wherever the variables are stored and it&#8217;ll try to find a variable named shell</p>



<p class="wp-block-paragraph">variable named shell and if there is one it&#8217;ll take the value that&#8217;s inside of shell which in</p>



<p class="wp-block-paragraph">this case is just you know bash and it&#8217;ll convert the symbol dollar sign shell into</p>



<p class="wp-block-paragraph">the actual variable value and then it&#8217;ll print that it&#8217;ll send that into the echo command</p>



<p class="wp-block-paragraph">so if i say echo shell step one it looks for variable name shell step two it grabs bin bash</p>



<p class="wp-block-paragraph">and replaces that where the dollar sign shell was written and then it sends that into the echo program</p>



<p class="wp-block-paragraph">into the echo program.</p>



<p class="wp-block-paragraph">So now you know how to launch a program.</p>



<p class="wp-block-paragraph">Here&#8217;s another program.</p>



<p class="wp-block-paragraph">It&#8217;s called clear.</p>



<p class="wp-block-paragraph">If you just type the, you know, the command clear, then a program called clear gets launched.</p>



<p class="wp-block-paragraph">And all it does is just to help you clear the terminal.</p>



<p class="wp-block-paragraph">If you want to keep things a little clean, just to prove to you that this is a program,</p>



<p class="wp-block-paragraph">we can type which clear and notice how it actually has a path in your operating system.</p>



<p class="wp-block-paragraph">User bin clear.</p>



<p class="wp-block-paragraph">This will be different if you&#8217;re on a different operating system than mine, but it&#8217;s all okay.</p>



<p class="wp-block-paragraph">It&#8217;s all okay.</p>



<p class="wp-block-paragraph">All right.</p>



<p class="wp-block-paragraph">So where am I?</p>



<p class="wp-block-paragraph">Because you can see that I&#8217;m at some sort of a location.</p>



<p class="wp-block-paragraph">It says Mike at lectures.</p>



<p class="wp-block-paragraph">That sounds like the name of my computer and the name of my profile.</p>



<p class="wp-block-paragraph">But where am I in the file system?</p>



<p class="wp-block-paragraph">Because your computer is like, you know, a big file system.</p>



<p class="wp-block-paragraph">There&#8217;s lots of files and folders all over the place.</p>



<p class="wp-block-paragraph">Where is the terminal sitting?</p>



<p class="wp-block-paragraph">Is it sitting anywhere in the file system?</p>



<p class="wp-block-paragraph">It actually is.</p>



<p class="wp-block-paragraph">It&#8217;s sitting in your home directory by default, unless you&#8217;ve made some customizations.</p>



<p class="wp-block-paragraph">unless you&#8217;ve made some customizations, I can access the current working directory</p>



<p class="wp-block-paragraph">by typing the command PWD, print working directory.</p>



<p class="wp-block-paragraph">And again, this is a program and its whole job is just to print</p>



<p class="wp-block-paragraph">where the working directory currently is.</p>



<p class="wp-block-paragraph">So the working directory means where you&#8217;re currently at,</p>



<p class="wp-block-paragraph">where you&#8217;re situated, where you&#8217;re looking at.</p>



<p class="wp-block-paragraph">And it&#8217;s saying that I&#8217;m in my home folder.</p>



<p class="wp-block-paragraph">In Linux, the home folders are usually slash home slash your username.</p>



<p class="wp-block-paragraph">So if I want to see what&#8217;s inside of my home folder,</p>



<p class="wp-block-paragraph">I can use another program called LS, which just lists the contents of a folder.</p>



<p class="wp-block-paragraph">So I&#8217;m going to type LS and it tells me I&#8217;ve got all these folders,</p>



<p class="wp-block-paragraph">desktop documents, downloads and so forth.</p>



<p class="wp-block-paragraph">LS takes arguments.</p>



<p class="wp-block-paragraph">Remember, we have arguments like if we did echo hello,</p>



<p class="wp-block-paragraph">then it&#8217;ll print the word hello, but we can give the LS command some arguments too.</p>



<p class="wp-block-paragraph">We can say LS, I&#8217;d like you to do, you know, some stuff.</p>



<p class="wp-block-paragraph">So what do we want it to do?</p>



<p class="wp-block-paragraph">Let&#8217;s make it print all the files and folders,</p>



<p class="wp-block-paragraph">even those that might be hidden because they,</p>



<p class="wp-block-paragraph">on Linux, if a file or folder starts with a period</p>



<p class="wp-block-paragraph">in the name, it&#8217;ll usually be hidden by default.</p>



<p class="wp-block-paragraph">So if we want to print everything, we can say dash a.</p>



<p class="wp-block-paragraph">And if I want to print in a vertical list style,</p>



<p class="wp-block-paragraph">I can put an L in front of there.</p>



<p class="wp-block-paragraph">So I can say LS, which is the program</p>



<p class="wp-block-paragraph">and then dash LA is the arguments I give it.</p>



<p class="wp-block-paragraph">And that&#8217;s going to tell it to print my directory</p>



<p class="wp-block-paragraph">with all hidden files and folders shown.</p>



<p class="wp-block-paragraph">Notice how all this stuff showed up</p>



<p class="wp-block-paragraph">that wasn&#8217;t there before,</p>



<p class="wp-block-paragraph">like bash history.</p>



<p class="wp-block-paragraph">I have a cache folder.</p>



<p class="wp-block-paragraph">But then there was also some stuff</p>



<p class="wp-block-paragraph">that was there before,</p>



<p class="wp-block-paragraph">like the documents folder,</p>



<p class="wp-block-paragraph">the music and the pictures folder,</p>



<p class="wp-block-paragraph">and so forth.</p>



<p class="wp-block-paragraph">So you saw these things before.</p>



<p class="wp-block-paragraph">Like, let me just at least highlight one.</p>



<p class="wp-block-paragraph">So you saw the videos folder there before.</p>



<p class="wp-block-paragraph">You just didn&#8217;t see all those other hidden ones</p>



<p class="wp-block-paragraph">because they had dots</p>



<p class="wp-block-paragraph">in front of their file name.</p>



<p class="wp-block-paragraph">in front of their file name or folder name depending on what they are okay and</p>



<p class="wp-block-paragraph">then of course you can see that this is a vertical list and you&#8217;re getting a</p>



<p class="wp-block-paragraph">little bit better now at giving arguments to programs so how did we know</p>



<p class="wp-block-paragraph">that ls takes dash la as an argument or as some arguments you could search on</p>



<p class="wp-block-paragraph">the internet which is pretty fast usually you can also use a program</p>



<p class="wp-block-paragraph">called man the man program will give you information on another program most</p>



<p class="wp-block-paragraph">programs have MAN entries so when you install the program there there will be</p>



<p class="wp-block-paragraph">like a new manual page that shows up in the MAN program so I&#8217;m going to type MAN</p>



<p class="wp-block-paragraph">LS and hit enter I&#8217;m basically going to launch the MAN program and I&#8217;m going to</p>



<p class="wp-block-paragraph">tell it that I want information on the LS program so I hit enter and then it</p>



<p class="wp-block-paragraph">sort of shows me like a big you know little instruction thing a little sheet</p>



<p class="wp-block-paragraph">a little well it&#8217;s actually not little depending on the program this could be</p>



<p class="wp-block-paragraph">tells you all the things that we can do with this program. So right here you can see the</p>



<p class="wp-block-paragraph">dash LA part that we did earlier. Whoops, what did I do wrong? The dash LA part that we did earlier.</p>



<p class="wp-block-paragraph">That&#8217;s the dash A. And we could also instead have just said dash dash all.</p>



<p class="wp-block-paragraph">That&#8217;s what the manual is telling us. Where&#8217;s that dash L, the listing? Let&#8217;s see, it&#8217;s somewhere in</p>



<p class="wp-block-paragraph">here. H I J K L, maybe I should do a page down.</p>



<p class="wp-block-paragraph">Maybe I should do a page down.</p>



<p class="wp-block-paragraph">Yeah, there we go.</p>



<p class="wp-block-paragraph">So, well, there&#8217;s no dash dash list.</p>



<p class="wp-block-paragraph">I was hoping that there would be a dash dash list,</p>



<p class="wp-block-paragraph">but this tells you at least that you can say dash L to use a listing format.</p>



<p class="wp-block-paragraph">And there&#8217;s tons of other options that you can learn and read about</p>



<p class="wp-block-paragraph">if you just take some time to explore the man page.</p>



<p class="wp-block-paragraph">Kind of cool, right?</p>



<p class="wp-block-paragraph">Okay, so how do you get out of this?</p>



<p class="wp-block-paragraph">By the way, how do you search for stuff?</p>



<p class="wp-block-paragraph">I&#8217;m going to search by using the slash key.</p>



<p class="wp-block-paragraph">key so like you know the the web slash key I&#8217;m gonna hit slash and then I&#8217;m</p>



<p class="wp-block-paragraph">gonna type something I&#8217;m gonna say maybe block and then hit enter and notice how</p>



<p class="wp-block-paragraph">it highlights on the first match I can do a regular end to go down to the next</p>



<p class="wp-block-paragraph">match or I can do shift in like a capital N to go backwards up to the</p>



<p class="wp-block-paragraph">previous match so this helps you you know kind of search through man pages and</p>



<p class="wp-block-paragraph">things like that and the cool thing about what the man page is using right</p>



<p class="wp-block-paragraph">It&#8217;s using a way to display itself.</p>



<p class="wp-block-paragraph">I think it&#8217;s either using a program called less or it&#8217;s using a program that works very</p>



<p class="wp-block-paragraph">similarly to a program called less.</p>



<p class="wp-block-paragraph">So the program less, it&#8217;s just, it loads up a document for you and it lets you do things</p>



<p class="wp-block-paragraph">like this, scroll up and down, search for things, go to a line number, you know, and</p>



<p class="wp-block-paragraph">just, you know, it&#8217;s, it&#8217;s, it&#8217;s very convenient, right?</p>



<p class="wp-block-paragraph">Like it pages in the terminal.</p>



<p class="wp-block-paragraph">If you want to exit this, you just got to hit Q.</p>



<p class="wp-block-paragraph">So I hit Q right now.</p>



<p class="wp-block-paragraph">So I&#8217;m going to do man LS again, hit Q, and then I get out.</p>



<p class="wp-block-paragraph">So now we know a few commands.</p>



<p class="wp-block-paragraph">We know how to see where we&#8217;re at in the file system and list directories and things like that.</p>



<p class="wp-block-paragraph">Let&#8217;s go into the documents directory with a special command called CD.</p>



<p class="wp-block-paragraph">So CD stands for change directory.</p>



<p class="wp-block-paragraph">And if I just say documents and hit enter, now the shell itself is inside of a different folder.</p>



<p class="wp-block-paragraph">It was in my home folder before.</p>



<p class="wp-block-paragraph">Now it&#8217;s in my documents folder.</p>



<p class="wp-block-paragraph">If you&#8217;re ever unsure of where you are, use the PWD command again to figure out what&#8217;s going on.</p>



<p class="wp-block-paragraph">Okay. Oh, look, I am inside of my documents folder.</p>



<p class="wp-block-paragraph">If you ever find yourself in some sort of a deep, deep subfolder, let&#8217;s see.</p>



<p class="wp-block-paragraph">I don&#8217;t even let&#8217;s do like user live live.</p>



<p class="wp-block-paragraph">LiveX32.</p>



<p class="wp-block-paragraph">Oops.</p>



<p class="wp-block-paragraph">What am I doing?</p>



<p class="wp-block-paragraph">There we go.</p>



<p class="wp-block-paragraph">What about this library?</p>



<p class="wp-block-paragraph">I&#8217;m just going into a random folder right now just to show you that we can go pretty</p>



<p class="wp-block-paragraph">deep.</p>



<p class="wp-block-paragraph">So I think that I&#8217;ve reached the end of that.</p>



<p class="wp-block-paragraph">Okay.</p>



<p class="wp-block-paragraph">So suppose I&#8217;m navigating around and I&#8217;m in some, some kind of a folder and I&#8217;m at,</p>



<p class="wp-block-paragraph">I do PWD and it says, oh no, you&#8217;re like way deep in some other folder.</p>



<p class="wp-block-paragraph">How do I get back to my home folder?</p>



<p class="wp-block-paragraph">Well, you could type out the whole home folder if you wanted to, but the easiest way to get</p>



<p class="wp-block-paragraph">pwd with no arguments.</p>



<p class="wp-block-paragraph">Once you hit enter, it&#8217;ll drop back down to your home folder.</p>



<p class="wp-block-paragraph">And if you&#8217;re not sure, then use the pwd command.</p>



<p class="wp-block-paragraph">Okay, so we&#8217;re doing pretty well.</p>



<p class="wp-block-paragraph">We&#8217;re kind of like navigating in here.</p>



<p class="wp-block-paragraph">Let&#8217;s make a directory.</p>



<p class="wp-block-paragraph">I&#8217;m going to go into my documents folder again.</p>



<p class="wp-block-paragraph">And let&#8217;s see.</p>



<p class="wp-block-paragraph">So right here I&#8217;ve got like, whoops, I&#8217;ve got some documents.</p>



<p class="wp-block-paragraph">Let me make a directory called temp with the command make directory.</p>



<p class="wp-block-paragraph">so uh well mkdir is the name of the program the first argument i gave it was temp and so it just</p>



<p class="wp-block-paragraph">created a folder for me called temp so if i say cd temp i can now go into the folder that i just</p>



<p class="wp-block-paragraph">created if i list the contents of that directory again it&#8217;s empty because i just made it pwd lets</p>



<p class="wp-block-paragraph">me know where i am just to make sure when you&#8217;re new to the terminal you actually i still use this</p>



<p class="wp-block-paragraph">customize my terminal so it doesn&#8217;t print the full the full path there it just prints the current</p>



<p class="wp-block-paragraph">directory name so i kind of get lost sometimes so you just use the pwd command to figure out where</p>



<p class="wp-block-paragraph">you are and by the way just as a reminder we could always do man and the name of a program so i&#8217;m</p>



<p class="wp-block-paragraph">going to say man make dir and there&#8217;s options even for making a directory i&#8217;m not going to go over</p>



<p class="wp-block-paragraph">those but just to let you know there&#8217;s a lot to explore okay so now i&#8217;m inside of the temp directory</p>



<p class="wp-block-paragraph">I&#8217;ve made a folder. What if I want to go one level up? What if I don&#8217;t exactly want to drop</p>



<p class="wp-block-paragraph">to the home directory, but maybe I went one level too deep and I want to go back up one level.</p>



<p class="wp-block-paragraph">Well, again, I could type out the whole thing. I could say go home and I could say documents</p>



<p class="wp-block-paragraph">and whatever. But by the way, I&#8217;m hitting control C when you see that care at C that usually tries</p>



<p class="wp-block-paragraph">to get the current program to stop. But when you&#8217;re inside of bash, it&#8217;ll just sort of like</p>



<p class="wp-block-paragraph">abort the current command and go to another line.</p>



<p class="wp-block-paragraph">Okay, so how do I go up one level?</p>



<p class="wp-block-paragraph">Well, in Linux, there are two special directories</p>



<p class="wp-block-paragraph">that have periods in the name, well, they are periods.</p>



<p class="wp-block-paragraph">The directory known as period,</p>



<p class="wp-block-paragraph">actually, let me show you the full,</p>



<p class="wp-block-paragraph">yeah, okay, well, the empty directory listing,</p>



<p class="wp-block-paragraph">notice how it actually does show me two things.</p>



<p class="wp-block-paragraph">It doesn&#8217;t show me nothing,</p>



<p class="wp-block-paragraph">it shows me these two directories right here,</p>



<p class="wp-block-paragraph">that&#8217;s not a mistake.</p>



<p class="wp-block-paragraph">So this directory, the one with just one period, that always represents the current directory</p>



<p class="wp-block-paragraph">that you&#8217;re in.</p>



<p class="wp-block-paragraph">So if I use just a period to go into a directory or to do something to a directory, that period</p>



<p class="wp-block-paragraph">will represent something different based on where I am.</p>



<p class="wp-block-paragraph">Am I in my home folder?</p>



<p class="wp-block-paragraph">Am I in the desktop?</p>



<p class="wp-block-paragraph">Am I somewhere else?</p>



<p class="wp-block-paragraph">The period changes based on where you are.</p>



<p class="wp-block-paragraph">dot it always means i&#8217;m getting used to this new pen setup it always means it always means there we</p>



<p class="wp-block-paragraph">go it looks like a emo guy with his hair like to the side um it always means the parent directory</p>



<p class="wp-block-paragraph">so remember before we could type we could type cd and then some directory name right to go into a</p>



<p class="wp-block-paragraph">directory uh now we can type cd dot dot and that&#8217;s basically saying we would like to change directories</p>



<p class="wp-block-paragraph">change directories, we would like to go to the documents directory.</p>



<p class="wp-block-paragraph">Why?</p>



<p class="wp-block-paragraph">Because the documents directory is the parent directory of the temp directory.</p>



<p class="wp-block-paragraph">So if I say cd dot dot, notice how it goes up one level.</p>



<p class="wp-block-paragraph">Let&#8217;s do that again just to be sure.</p>



<p class="wp-block-paragraph">So I&#8217;m going to say pwd, and if I say cd dot dot, and then pwd again,</p>



<p class="wp-block-paragraph">notice how we were in temp, and as soon as we went up one level,</p>



<p class="wp-block-paragraph">it went to documents.</p>



<p class="wp-block-paragraph">So it&#8217;s just kind of a quick way.</p>



<p class="wp-block-paragraph">you know, use a bunch of directory names separated by slashes.</p>



<p class="wp-block-paragraph">You can also put dot dot in any directory that you want.</p>



<p class="wp-block-paragraph">So like imagine I&#8217;m in the temp directory again.</p>



<p class="wp-block-paragraph">I could say let&#8217;s go up one directory and then a slash and then up another directory</p>



<p class="wp-block-paragraph">and then a slash and then up another directory.</p>



<p class="wp-block-paragraph">And I should end up in the home folder.</p>



<p class="wp-block-paragraph">Isn&#8217;t that kind of funny, right?</p>



<p class="wp-block-paragraph">So I&#8217;m saying like give me the parent directory of the current directory</p>



<p class="wp-block-paragraph">and then give me its parent directory and then give me its parent directory.</p>



<p class="wp-block-paragraph">So I went up three levels.</p>



<p class="wp-block-paragraph">its parent directory. So I went up three levels.</p>



<p class="wp-block-paragraph">So let me drop to my home folder and go back into documents and go back into</p>



<p class="wp-block-paragraph">temp. Whoops.</p>



<p class="wp-block-paragraph">I forgot to do CD.</p>



<p class="wp-block-paragraph">Now we&#8217;re getting pretty good at navigating. Let me make another directory.</p>



<p class="wp-block-paragraph">I&#8217;ll call it delete me because I intend to delete this directory.</p>



<p class="wp-block-paragraph">There&#8217;s a program called RM remove that lets you delete stuff.</p>



<p class="wp-block-paragraph">Actually first, before we delete that, let&#8217;s use a program called touch.</p>



<p class="wp-block-paragraph">and the program touch just sort of like creates a blank file.</p>



<p class="wp-block-paragraph">I think if the file already exists, it won&#8217;t mess with the contents,</p>



<p class="wp-block-paragraph">but let&#8217;s do an experiment in a moment.</p>



<p class="wp-block-paragraph">So I&#8217;m going to say touch blank file.</p>



<p class="wp-block-paragraph">It should create a file for me called blank file.</p>



<p class="wp-block-paragraph">So now I&#8217;ve got a directory and a file called blank file.</p>



<p class="wp-block-paragraph">Now I can remove the blank file with the RM command.</p>



<p class="wp-block-paragraph">So just RM and then give it the name of the file.</p>



<p class="wp-block-paragraph">Be careful with RM.</p>



<p class="wp-block-paragraph">He&#8217;ll destroy your file system if you&#8217;re not careful.</p>



<p class="wp-block-paragraph">and now let&#8217;s remove the delete me folder when you try to remove folders you have to tell the</p>



<p class="wp-block-paragraph">remove command that you intend to delete a folder by specifying also the dash r command which means</p>



<p class="wp-block-paragraph">this is a folder i would like you to recursively delete it so let me just type it without that</p>



<p class="wp-block-paragraph">real fast and it says hey i can&#8217;t do it it&#8217;s a directory so i&#8217;m going to say all right now</p>



<p class="wp-block-paragraph">And it did it.</p>



<p class="wp-block-paragraph">Some other useful flags you might want in the future.</p>



<p class="wp-block-paragraph">The first one that I like is V for Verbo.</p>



<p class="wp-block-paragraph">So it&#8217;ll print everything that it deletes.</p>



<p class="wp-block-paragraph">And F for Force.</p>



<p class="wp-block-paragraph">If you&#8217;re absolutely sure that you know exactly what you&#8217;re about to delete,</p>



<p class="wp-block-paragraph">then Force will make it so that this program won&#8217;t start asking you,</p>



<p class="wp-block-paragraph">are you sure? Are you sure? Are you sure?</p>



<p class="wp-block-paragraph">So it&#8217;s kind of dangerous, but it&#8217;s also pretty convenient.</p>



<p class="wp-block-paragraph">Imagine that.</p>



<p class="wp-block-paragraph">Anyway, so let&#8217;s see what else can I when I talk about here, we know how to like touch to create a blank file and create a folder and navigate all around. Let&#8217;s edit a file. Let&#8217;s actually edit a file in the terminal. So there&#8217;s kind of like an age old argument between the Vim people, or the V people, and the nano people. And so I just want to say that if you were a Vim person, don&#8217;t ever talk to me again for the rest of your life.</p>



<p class="wp-block-paragraph">again for the rest of your life just kidding you&#8217;re okay we can sort of be</p>



<p class="wp-block-paragraph">friends but I&#8217;m personally a nano person so what am I talking about nano is just</p>



<p class="wp-block-paragraph">another program it may or may not be on your system I think on a boon to it</p>



<p class="wp-block-paragraph">should be there by default let me just double check yeah it should be there by</p>



<p class="wp-block-paragraph">default we&#8217;ll talk about how to install programs in a second I&#8217;ll go sudo apt</p>



<p class="wp-block-paragraph">install just to remind myself but so you type nano to execute the nano program</p>



<p class="wp-block-paragraph">of a file that you want to edit.</p>



<p class="wp-block-paragraph">So let&#8217;s edit a file called my program.</p>



<p class="wp-block-paragraph">Whoops, program.cpp, just if you&#8217;re writing some code.</p>



<p class="wp-block-paragraph">And this tells the nano program that you would like</p>



<p class="wp-block-paragraph">to edit this file named my program.cpp.</p>



<p class="wp-block-paragraph">You hit enter and you have like a nice little editor</p>



<p class="wp-block-paragraph">that shows up.</p>



<p class="wp-block-paragraph">Notice at the bottom,</p>



<p class="wp-block-paragraph">you have a bunch of little shortcuts, right?</p>



<p class="wp-block-paragraph">So if you do, actually let&#8217;s look at this one</p>



<p class="wp-block-paragraph">Actually, let&#8217;s look at this one over here first.</p>



<p class="wp-block-paragraph">If you hit control O, that means save the file, write it out.</p>



<p class="wp-block-paragraph">If you hit control X, that means you&#8217;d like to exit the editor.</p>



<p class="wp-block-paragraph">So if I want to get rid of the editor and just like, you know, go back to the terminal,</p>



<p class="wp-block-paragraph">the normal command line, I&#8217;ll do control X.</p>



<p class="wp-block-paragraph">There&#8217;s a bunch of other stuff you can do.</p>



<p class="wp-block-paragraph">And there&#8217;s like a big help menu.</p>



<p class="wp-block-paragraph">alt n to see line numbers in nano so that makes it a lot more convenient for coding so i&#8217;m going</p>



<p class="wp-block-paragraph">to do alt n to get those lines off let me just type the word hello real fast hello</p>



<p class="wp-block-paragraph">okay so now i want to save this let&#8217;s do uh we can do control o to just save it but we&#8217;ll stay</p>



<p class="wp-block-paragraph">inside of the editor or we can do control x to save it and then exit the editor so i think i&#8217;m</p>



<p class="wp-block-paragraph">going to exit them say control x notice how at the bottom it asks me do i want to save the modified</p>



<p class="wp-block-paragraph">That just means I&#8217;ve been editing inside of this like, you know, temporary area.</p>



<p class="wp-block-paragraph">Do I want to actually save it?</p>



<p class="wp-block-paragraph">So I&#8217;m going to hit Y for yes.</p>



<p class="wp-block-paragraph">Then it asks me, you know, what&#8217;s the name of the file that you want to save?</p>



<p class="wp-block-paragraph">Well, since I specified my program when I launched Nano, it already knows what I want to do.</p>



<p class="wp-block-paragraph">If you didn&#8217;t specify the name of a file, then you could provide it here.</p>



<p class="wp-block-paragraph">So I&#8217;m just going to hit enter.</p>



<p class="wp-block-paragraph">And now the program exits.</p>



<p class="wp-block-paragraph">If I list the contents of the directory, I can see that I now have</p>



<p class="wp-block-paragraph">the world&#8217;s worst C++ program ever because it&#8217;s just hello that&#8217;s not going</p>



<p class="wp-block-paragraph">to compile so how do I see the contents of a file with the terminal well for</p>



<p class="wp-block-paragraph">starters obviously you could just type the name of the program again for nano</p>



<p class="wp-block-paragraph">and it&#8217;ll show you there it is I&#8217;m gonna hit ctrl X to exit out of it but</p>



<p class="wp-block-paragraph">there&#8217;s another popular command that people like to use called cat cat</p>



<p class="wp-block-paragraph">basically will go to a file load it into memory and spill it onto the terminal</p>



<p class="wp-block-paragraph">to the terminal for you. I mean really what it does is it prints to something called standard</p>



<p class="wp-block-paragraph">output and then the shell interpreter grabs standard output and it you know renders it to</p>



<p class="wp-block-paragraph">the terminal but we&#8217;ll just say that this prints it to the terminal. So if I say cat and the name</p>



<p class="wp-block-paragraph">of my program then it prints it to the terminal so you can check any program this way. Do yourself</p>



<p class="wp-block-paragraph">a favor well do me a favor and do cat at the following path etc os release. The etc</p>



<p class="wp-block-paragraph">The etc directory off of the root of the file system in Linux is usually where all of the</p>



<p class="wp-block-paragraph">configuration files get stored.</p>



<p class="wp-block-paragraph">At least the ones that are system wide.</p>



<p class="wp-block-paragraph">So like system wide programs, their configurations are usually in the etc folder.</p>



<p class="wp-block-paragraph">So there&#8217;s a special file in many operating systems, definitely Ubuntu, called OS release,</p>



<p class="wp-block-paragraph">which just describes the operating system to you.</p>



<p class="wp-block-paragraph">So here, if you&#8217;re not sure what operating system you&#8217;re using, or if you just want to</p>



<p class="wp-block-paragraph">and kind of see information on it.</p>



<p class="wp-block-paragraph">Well, you can say cat, etc.</p>



<p class="wp-block-paragraph">OS release and see your OS.</p>



<p class="wp-block-paragraph">So there it is, all this stuff.</p>



<p class="wp-block-paragraph">Pretty fun.</p>



<p class="wp-block-paragraph">Okay, so we did my program.</p>



<p class="wp-block-paragraph">Let&#8217;s edit my program real fast.</p>



<p class="wp-block-paragraph">I&#8217;m going to go myprogram.cvp.</p>



<p class="wp-block-paragraph">And if I want to just say, I don&#8217;t know,</p>



<p class="wp-block-paragraph">maybe I want to make this look a little bit more like a program.</p>



<p class="wp-block-paragraph">So I can say integer main and we&#8217;ll just pretend that we&#8217;re not going to do any arguments.</p>



<p class="wp-block-paragraph">Return zero.</p>



<p class="wp-block-paragraph">So this probably would compile.</p>



<p class="wp-block-paragraph">I think this would compile.</p>



<p class="wp-block-paragraph">If not, then you might have to go into the number of arguments and then…</p>



<p class="wp-block-paragraph">Don&#8217;t worry about this.</p>



<p class="wp-block-paragraph">This is not a programming video.</p>



<p class="wp-block-paragraph">A character pointer.</p>



<p class="wp-block-paragraph">I can never remember if the brackets go before or after the variable name.</p>



<p class="wp-block-paragraph">a new program i usually compile it both ways and see which one works um okay so oh i did it too</p>



<p class="wp-block-paragraph">fast okay so i edited and uh if i want to just save my changes i&#8217;m going to say control o</p>



<p class="wp-block-paragraph">notice how it asked me again at the bottom do you want to save it under the same name i just say</p>



<p class="wp-block-paragraph">enter to say yes if i uh wanted to instead just exit the program i do control x and then</p>



<p class="wp-block-paragraph">inside a weird area where you can&#8217;t really hit keys and you can&#8217;t exit very</p>



<p class="wp-block-paragraph">well you might be inside of Vim some some operating system use Vim as the</p>



<p class="wp-block-paragraph">default or some some programs so I&#8217;m gonna just enter Vim manually whoops</p>



<p class="wp-block-paragraph">what am I doing is it Vim or V so I&#8217;m not a Vim user okay there we go so Vim is</p>



<p class="wp-block-paragraph">like you know it&#8217;s very complicated some people say it&#8217;s lightning fast and it&#8217;s</p>



<p class="wp-block-paragraph">By the time you need so many features,</p>



<p class="wp-block-paragraph">you might as well just mount the remote file system</p>



<p class="wp-block-paragraph">and use an actual graphical editor.</p>



<p class="wp-block-paragraph">I&#8217;m just not a fan.</p>



<p class="wp-block-paragraph">Don&#8217;t hate me.</p>



<p class="wp-block-paragraph">You know, we can still be friends.</p>



<p class="wp-block-paragraph">So if you&#8217;re inside of Vim, you hit the insert key</p>



<p class="wp-block-paragraph">and then you can kind of like type and stuff like that.</p>



<p class="wp-block-paragraph">So it&#8217;s whatever, but what?</p>



<p class="wp-block-paragraph">Insert?</p>



<p class="wp-block-paragraph">Okay.</p>



<p class="wp-block-paragraph">I&#8217;m getting lost already inside of Vim.</p>



<p class="wp-block-paragraph">I&#8217;m just going to delete this stuff that I created and so if you want to exit from</p>



<p class="wp-block-paragraph">Vim hit the escape key first to make sure you&#8217;re not inside of insert mode or any</p>



<p class="wp-block-paragraph">special mode and then say shift holen to enter command mode you&#8217;ll know you&#8217;re in</p>



<p class="wp-block-paragraph">command mode because you see this little colon here next to your prompt or next</p>



<p class="wp-block-paragraph">to a prompt and then I&#8217;m gonna say write quit write quit means save the file and</p>



<p class="wp-block-paragraph">and then quit if you want to quit without saving the file you can just put q but uh vim will</p>



<p class="wp-block-paragraph">complain if you&#8217;ve actually changed something and you&#8217;re refusing to save the changes so if you are</p>



<p class="wp-block-paragraph">absolutely sure you want to discard the changes just say yes i want to quit with an exclamation</p>



<p class="wp-block-paragraph">point so q exclamation hit enter now you&#8217;re out of vim hopefully you&#8217;ll never go back for the rest</p>



<p class="wp-block-paragraph">of your life sorry okay so now we know you know a lot of a lot of stuff that we can do in the</p>



<p class="wp-block-paragraph">Maybe we should learn how to install programs real fast or search for programs.</p>



<p class="wp-block-paragraph">And then we&#8217;ll do a little bit of some graphical stuff.</p>



<p class="wp-block-paragraph">Alright, so here&#8217;s the command that I wanted to remind myself of.</p>



<p class="wp-block-paragraph">So how do we search for programs?</p>



<p class="wp-block-paragraph">If you didn&#8217;t know this already, almost every single Linux distribution has a repository</p>



<p class="wp-block-paragraph">of pre-compiled programs that are open source that you can use for free.</p>



<p class="wp-block-paragraph">better and a lot safer than the old Windows method of just sort of like going</p>



<p class="wp-block-paragraph">to random websites online and downloading programs and just kind of crossing your</p>



<p class="wp-block-paragraph">fingers that you didn&#8217;t just download a virus.</p>



<p class="wp-block-paragraph">What happens is the people who run the operating system, they&#8217;ll take the source</p>



<p class="wp-block-paragraph">code for popular programs and packages.</p>



<p class="wp-block-paragraph">They&#8217;ll compile it for you.</p>



<p class="wp-block-paragraph">They&#8217;ll store the binaries, which are just the compiled executable files.</p>



<p class="wp-block-paragraph">And then you can use certain command line tools to install those programs one by one.</p>



<p class="wp-block-paragraph">those programs one by one there&#8217;s so many available that it wouldn&#8217;t make sense to install them all</p>



<p class="wp-block-paragraph">by default because you&#8217;ll probably never use the vast majority but so we have a nice package</p>



<p class="wp-block-paragraph">manager in ubuntu called apt it&#8217;s the apt package manager if you want to see more information about</p>



<p class="wp-block-paragraph">it let&#8217;s see is it called aptitude or just apt we can say man apt yeah it&#8217;s just a command line</p>



<p class="wp-block-paragraph">interface this actually i think this talks to d package under the hood but you know it&#8217;s just a</p>



<p class="wp-block-paragraph">the package manager one of the sub commands for apt is search so we can say uh launch the apt</p>



<p class="wp-block-paragraph">program with apt then we could say apt i would like you to search and what would you like app</p>



<p class="wp-block-paragraph">to search for i don&#8217;t know how about a program called mousepad it&#8217;s one of my favorite text</p>



<p class="wp-block-paragraph">editors on linux so what it does is it searches the ubuntu repositories and it tries to find you</p>



<p class="wp-block-paragraph">know a package or a program that matches and if it does it&#8217;ll show you the listing okay so what do i</p>



<p class="wp-block-paragraph">listing. Okay, so what do I have here? Mousepad is already installed on this system. Yeah,</p>



<p class="wp-block-paragraph">that makes sense because I think I was just using it. And, you know, some other stuff that</p>



<p class="wp-block-paragraph">you could find. So you can just kind of search for for anything like do you want a free accounting</p>



<p class="wp-block-paragraph">program that you don&#8217;t have to pay for? It&#8217;s not necessarily going to be the best, you know,</p>



<p class="wp-block-paragraph">but it&#8217;s free and it works and it&#8217;s good and a lot of people swear by it. Well, you can search</p>



<p class="wp-block-paragraph">and there it is i don&#8217;t have it installed on this machine but new cache free accounting software</p>



<p class="wp-block-paragraph">do you want to learn to make memes against your enemies well there&#8217;s a program for that called</p>



<p class="wp-block-paragraph">gimp it&#8217;s basically it&#8217;s kind of like at this point i think an old school photoshop clone</p>



<p class="wp-block-paragraph">not clone but alternative it&#8217;s really good for memes and there are actually a lot of very</p>



<p class="wp-block-paragraph">talented people who use gimp to do like very artistic things so there it is right there gimp</p>



<p class="wp-block-paragraph">and it&#8217;s GIMP because it&#8217;s the GNU image manipulation program.</p>



<p class="wp-block-paragraph">There&#8217;s also another one that&#8217;s a little bit more artistic, I think.</p>



<p class="wp-block-paragraph">I haven&#8217;t used it.</p>



<p class="wp-block-paragraph">I think I used it once.</p>



<p class="wp-block-paragraph">It&#8217;s called Krita.</p>



<p class="wp-block-paragraph">Oops, sorry, not apt-Krita, apt-search-Krita.</p>



<p class="wp-block-paragraph">And there it is.</p>



<p class="wp-block-paragraph">So there&#8217;s like a bunch of different choices for any idea that you could have.</p>



<p class="wp-block-paragraph">Just think of what you want.</p>



<p class="wp-block-paragraph">You want another browser, another image editor.</p>



<p class="wp-block-paragraph">You want accounting software.</p>



<p class="wp-block-paragraph">accounting software you want an audio let&#8217;s see is there I think there&#8217;s one called our door let</p>



<p class="wp-block-paragraph">me see apt search you want to like mix music at home so I want to type the name of the program</p>



<p class="wp-block-paragraph">our door but I want to see if I can find it by just searching for a music term let&#8217;s say a</p>



<p class="wp-block-paragraph">DAW digital audio workstation let me scroll up a little bit yeah there it is okay so I searched</p>



<p class="wp-block-paragraph">program that came up right here it&#8217;s like a very very very popular free and open source</p>



<p class="wp-block-paragraph">digital audio workstation with like so many tracks that you can mix and and effects and</p>



<p class="wp-block-paragraph">you can record with it and do all these crazy things um so i&#8217;m just trying to show you that</p>



<p class="wp-block-paragraph">linux is not just for you know coding and and boring stuff there&#8217;s there&#8217;s a lot of fun stuff</p>



<p class="wp-block-paragraph">on linux that you can access for free uh through these repositories okay so let&#8217;s actually install</p>



<p class="wp-block-paragraph">Suppose I&#8217;m ready to make memes against my enemies.</p>



<p class="wp-block-paragraph">So I&#8217;m going to say sudo apt install instead of search install.</p>



<p class="wp-block-paragraph">And I&#8217;m just going to type the name of the program GIMP.</p>



<p class="wp-block-paragraph">Oh wait, hang on.</p>



<p class="wp-block-paragraph">I&#8217;m not supposed to show you sudo just yet.</p>



<p class="wp-block-paragraph">So let&#8217;s do sudo, let&#8217;s do apt install GIMP.</p>



<p class="wp-block-paragraph">By the way, sudo is supposedly outdated and people are saying you should use something</p>



<p class="wp-block-paragraph">else, but I don&#8217;t know.</p>



<p class="wp-block-paragraph">Old habits die hard.</p>



<p class="wp-block-paragraph">apt install GIMP, the system is telling me that I don&#8217;t have permission to install a program</p>



<p class="wp-block-paragraph">on this machine. And that makes sense. That&#8217;s probably a good thing, right? You don&#8217;t want to</p>



<p class="wp-block-paragraph">just let any user totally, you know, redo your system. So it&#8217;s saying, you know, could not open</p>



<p class="wp-block-paragraph">the lock file permission denied. Oh, no. Unable to acquire the d package front end lock. Are you</p>



<p class="wp-block-paragraph">root? Oh, okay. So what this is basically saying is that in order for us to do root level activities,</p>



<p class="wp-block-paragraph">like install a program on the system, we need to elevate the command line to root.</p>



<p class="wp-block-paragraph">And how we do that is we pretty much just say sudo, which is the name of a program that</p>



<p class="wp-block-paragraph">helps us quickly elevate. It also actually does like a lot of other stuff, but</p>



<p class="wp-block-paragraph">for now, we&#8217;re just going to use it to elevate the command up to root.</p>



<p class="wp-block-paragraph">So if I say sudo apt install gimp, what&#8217;s happening is the sudo program gets invoked,</p>



<p class="wp-block-paragraph">and then it just executes apt install GIMP as root.</p>



<p class="wp-block-paragraph">Let me just prove to you that sudo will elevate a command.</p>



<p class="wp-block-paragraph">So if I go, who am I?</p>



<p class="wp-block-paragraph">It&#8217;ll tell you the name of the current user.</p>



<p class="wp-block-paragraph">If I say sudo who am I,</p>



<p class="wp-block-paragraph">then sudo will launch who am I as the root user.</p>



<p class="wp-block-paragraph">And then who am I should tell us,</p>



<p class="wp-block-paragraph">whoops, got to enter the sudo password.</p>



<p class="wp-block-paragraph">You actually have to be an admin to use sudo, just FYI.</p>



<p class="wp-block-paragraph">So if I say sudo who am I, notice how it prints root.</p>



<p class="wp-block-paragraph">So if I say sudo apt install gimp, it&#8217;s really just going to invoke apt install gimp as the</p>



<p class="wp-block-paragraph">root user and it should allow me to install that program.</p>



<p class="wp-block-paragraph">Gimp is already installed.</p>



<p class="wp-block-paragraph">Okay, I guess I was making memes earlier and I forgot about it.</p>



<p class="wp-block-paragraph">Well we could remove it.</p>



<p class="wp-block-paragraph">Gimp.</p>



<p class="wp-block-paragraph">Then it removes it.</p>



<p class="wp-block-paragraph">Yes.</p>



<p class="wp-block-paragraph">I don&#8217;t think I was making memes on this machine.</p>



<p class="wp-block-paragraph">I think something funny is going on here.</p>



<p class="wp-block-paragraph">And now that it&#8217;s removed, I could install it again if I wanted to.</p>



<p class="wp-block-paragraph">I could say sudo apt install Gimp, and then it might ask you to push yes and enter.</p>



<p class="wp-block-paragraph">And then it just kind of finishes.</p>



<p class="wp-block-paragraph">Also if when you&#8217;re trying to install things, you get a message that says, repository could</p>



<p class="wp-block-paragraph">like a 404 error cannot be connected to not found your repos out of date you know whatever that</p>



<p class="wp-block-paragraph">might just mean you need to update your system so i&#8217;m going to say sudo apt update telling apt that</p>



<p class="wp-block-paragraph">i would like to update its idea of all the packages and then sudo apt upgrade</p>



<p class="wp-block-paragraph">so update just contacts the server and gets an idea of what packages there are and their versions</p>



<p class="wp-block-paragraph">the system or it actually upgrades the system when you&#8217;re done with that you</p>



<p class="wp-block-paragraph">usually want to do auto remove to just kind of get rid of any junk that&#8217;s left</p>



<p class="wp-block-paragraph">over if you happen to remove things recently this stuff up here this is sort</p>



<p class="wp-block-paragraph">of like a corporate upsell you can probably ignore that at least for now</p>



<p class="wp-block-paragraph">but yeah so we know how to like do lots of stuff in the terminal just just to</p>



<p class="wp-block-paragraph">open up the let&#8217;s see we&#8217;re inside of the temp folder okay so I have the temp</p>



<p class="wp-block-paragraph">folder inside the terminal I&#8217;m gonna open up my file system here and I&#8217;m gonna</p>



<p class="wp-block-paragraph">go into the same path so we were inside of let me just show you again with PWD</p>



<p class="wp-block-paragraph">we were inside of home mic documents temp so let me go inside of the home</p>



<p class="wp-block-paragraph">folder it&#8217;s not downloads documents temp and notice how I have the same file</p>



<p class="wp-block-paragraph">I can right click on this or even double click on it and I can open it up with</p>



<p class="wp-block-paragraph">Mousepad or even this nifty little code editor called genie if you&#8217;re interested in genie</p>



<p class="wp-block-paragraph">It&#8217;s actually pretty nice pseudo apt install genie and it&#8217;ll tell me that this program is already installed</p>



<p class="wp-block-paragraph">I like to use it because you know vs code and other IDEs. They&#8217;re great for productivity</p>



<p class="wp-block-paragraph">But they kind of help you a lot and if you&#8217;re trying to learn, you know coding or whatever</p>



<p class="wp-block-paragraph">or whatever sometimes it&#8217;s a little bit better if you just use something kind of plain because</p>



<p class="wp-block-paragraph">then you&#8217;ll learn more it&#8217;s harder uh you know that&#8217;s up to you anyway so i&#8217;m gonna right click</p>



<p class="wp-block-paragraph">on this and i&#8217;m gonna say let&#8217;s open this up with the how about mousepad i guess</p>



<p class="wp-block-paragraph">now i am graphically editing uh this file because maybe maybe you want to you know edit everything</p>



<p class="wp-block-paragraph">in nano maybe you don&#8217;t maybe you only want to use the terminal when you have to but uh well</p>



<p class="wp-block-paragraph">have to but well here you are let me do a cat command let&#8217;s see my program cat</p>



<p class="wp-block-paragraph">notice how it&#8217;s the same exact file I can I don&#8217;t know maybe put some empty</p>



<p class="wp-block-paragraph">comments up above the function name for fun and save the document and then just</p>



<p class="wp-block-paragraph">kind of do the cat command again and you can see that my changes have been</p>



<p class="wp-block-paragraph">updated so you can delete in the regular file system here in XFCE the file</p>



<p class="wp-block-paragraph">thunar and there should be a symbol somewhere or if you just kind of hit the start menu let&#8217;s see</p>



<p class="wp-block-paragraph">how about office where is thunar usually oh it&#8217;s in accessories okay and then if you&#8217;re on a gnome</p>



<p class="wp-block-paragraph">uh it&#8217;s probably just called files or i forget what the name of the file system is but you know</p>



<p class="wp-block-paragraph">something that just looks like a folder um so we&#8217;ve edited that we&#8217;ve got all the basics here</p>



<p class="wp-block-paragraph">we know how to navigate we know how to get to our home folder we&#8217;re like making directories</p>



<p class="wp-block-paragraph">deleting directories removing files touching files editing files we&#8217;re doing a lot and just to let</p>



<p class="wp-block-paragraph">you know there&#8217;s like so much more you can do on the terminal for instance you can let&#8217;s see do we</p>



<p class="wp-block-paragraph">have gcc on this computer no gcc is what people use to code in c plus plus right so i&#8217;m gonna say</p>



<p class="wp-block-paragraph">package on Ubuntu called build essential.</p>



<p class="wp-block-paragraph">I think it&#8217;s singular, not plural.</p>



<p class="wp-block-paragraph">And this is sort of like a meta package, which means it&#8217;s like a dummy package</p>



<p class="wp-block-paragraph">that installs a bunch of other packages.</p>



<p class="wp-block-paragraph">So build essential.</p>



<p class="wp-block-paragraph">It&#8217;ll grab all these other programs for you for like,</p>



<p class="wp-block-paragraph">it looks like a bunch of C++ stuff and there should be like GNU Mac in there</p>



<p class="wp-block-paragraph">and some Perl stuff, I guess.</p>



<p class="wp-block-paragraph">Yeah, I&#8217;ve never actually looked at this.</p>



<p class="wp-block-paragraph">That&#8217;s not a lot of stuff that I use.</p>



<p class="wp-block-paragraph">There&#8217;s just a few things that I use in there.</p>



<p class="wp-block-paragraph">But anyway, you install that and then you&#8217;ll get GCC,</p>



<p class="wp-block-paragraph">which will help you code in C++.</p>



<p class="wp-block-paragraph">You can also do sudo apt install,</p>



<p class="wp-block-paragraph">Yasm to install your assembler.</p>



<p class="wp-block-paragraph">What else?</p>



<p class="wp-block-paragraph">So GCC and G++ and Yasm and make and an editor.</p>



<p class="wp-block-paragraph">I think that&#8217;s kind of like almost all you need.</p>



<p class="wp-block-paragraph">Well, you can install a debugger,</p>



<p class="wp-block-paragraph">Well, you can install a debugger sudo apt install</p>



<p class="wp-block-paragraph">GDB to install your GNU debugger, which is already installed.</p>



<p class="wp-block-paragraph">Okay.</p>



<p class="wp-block-paragraph">Anyway, well, just to let you know, we can do GCC to compile some programs.</p>



<p class="wp-block-paragraph">It&#8217;ll complain.</p>



<p class="wp-block-paragraph">We don&#8217;t have anything.</p>



<p class="wp-block-paragraph">Let&#8217;s see.</p>



<p class="wp-block-paragraph">Actually, let me go in there.</p>



<p class="wp-block-paragraph">Let me go to documents temp.</p>



<p class="wp-block-paragraph">Let&#8217;s see if it&#8217;ll compile this just as is GCC my program output.</p>



<p class="wp-block-paragraph">And I&#8217;ll just say that we want a program called main.</p>



<p class="wp-block-paragraph">It&#8217;s going to work.</p>



<p class="wp-block-paragraph">main is this going to work did it actually work oh my gosh i got it right on the first try even</p>



<p class="wp-block-paragraph">though it was an empty program doesn&#8217;t really do anything oh by the way um in linux or in the</p>



<p class="wp-block-paragraph">command line you probably will see a lot of people do this sort of thing where it&#8217;s like dot</p>



<p class="wp-block-paragraph">slash in the name of a program the thing is in order to execute a program uh i&#8217;ll tell you about</p>



<p class="wp-block-paragraph">permissions in a second first it needs permission to execute but then you need to provide a path</p>



<p class="wp-block-paragraph">path to the program. You can&#8217;t just type main as is because the system, you know, the shell is going</p>



<p class="wp-block-paragraph">to think that you&#8217;re talking about a system program somewhere. So it&#8217;s going to look in all the system</p>



<p class="wp-block-paragraph">areas and it doesn&#8217;t find a program named main. So you have to give it a path to your custom</p>



<p class="wp-block-paragraph">programs to run. So I&#8217;m going to say dot slash main. And basically remember the dot was a special</p>



<p class="wp-block-paragraph">directory that meant the current directory. So if I type dot main, it&#8217;s actually kind of the same</p>



<p class="wp-block-paragraph">home mic documents temp main.</p>



<p class="wp-block-paragraph">So if I just type this whole path right here, it runs the program</p>



<p class="wp-block-paragraph">or I can do, you know, dot slash main.</p>



<p class="wp-block-paragraph">It also runs the program.</p>



<p class="wp-block-paragraph">In both cases, it works.</p>



<p class="wp-block-paragraph">Let me edit this real fast to see if I can just get something exciting going on here.</p>



<p class="wp-block-paragraph">I&#8217;ll stream and then I&#8217;m just going to go.</p>



<p class="wp-block-paragraph">Okay, so I&#8217;m just going to like do that.</p>



<p class="wp-block-paragraph">just gonna like do that let me try to compile again gcc my program output to</p>



<p class="wp-block-paragraph">execute what called me oh what did I do wrong oh gcc is for just regular C</p>



<p class="wp-block-paragraph">programs you&#8217;re not supposed to do that I want to use G plus plus and then I&#8217;m</p>



<p class="wp-block-paragraph">gonna say standard library I don&#8217;t know C plus 21 or something std what did I do</p>



<p class="wp-block-paragraph">Is 21 not a valid year?</p>



<p class="wp-block-paragraph">I don&#8217;t even remember.</p>



<p class="wp-block-paragraph">I&#8217;ve been using C++17 forever.</p>



<p class="wp-block-paragraph">What did I do wrong?</p>



<p class="wp-block-paragraph">STD equals C++.</p>



<p class="wp-block-paragraph">Okay, 17 I know definitely works.</p>



<p class="wp-block-paragraph">What am I doing wrong here?</p>



<p class="wp-block-paragraph">Okay, so 17, I guess 19 wasn&#8217;t a thing.</p>



<p class="wp-block-paragraph">Been using 17 for a long time.</p>



<p class="wp-block-paragraph">Okay, so I just compiled the program again with the C++17.</p>



<p class="wp-block-paragraph">Well, then what the heck was I doing yesterday?</p>



<p class="wp-block-paragraph">Was I using 23?</p>



<p class="wp-block-paragraph">Hang on, sorry.</p>



<p class="wp-block-paragraph">I forgot what standard I was on yesterday.</p>



<p class="wp-block-paragraph">Okay.</p>



<p class="wp-block-paragraph">So then if we run the program again, it prints a message.</p>



<p class="wp-block-paragraph">So maybe I should retitle this video, your first C++ program, because that&#8217;s literally</p>



<p class="wp-block-paragraph">what we just did.</p>



<p class="wp-block-paragraph">You know, I&#8217;ll make another video.</p>



<p class="wp-block-paragraph">the basics of the Linux command line.</p>



<p class="wp-block-paragraph">And well, you&#8217;re off.</p>



<p class="wp-block-paragraph">Well, I hope you enjoyed this video and you learned a little bit of stuff.</p>



<p class="wp-block-paragraph">Keep watching all the other videos and I&#8217;ll see you in the next one.</p>



<p class="wp-block-paragraph">Hey, everybody.</p>



<p class="wp-block-paragraph">Thanks for watching this video again from the bottom of my heart.</p>



<p class="wp-block-paragraph">I really appreciate it.</p>



<p class="wp-block-paragraph">I do hope you did learn something and have some fun.</p>



<p class="wp-block-paragraph">If you could do me a please, a small little favor, could you please subscribe and follow this channel or these videos or whatever it is you do on the current social media website that you&#8217;re looking at right now.</p>



<p class="wp-block-paragraph">It would really mean the world to me and it&#8217;ll help make more videos and grow this community.</p>



<p class="wp-block-paragraph">So we&#8217;ll be able to do more videos, longer videos, better videos, or just I&#8217;ll be able to keep making videos in general.</p>



<p class="wp-block-paragraph">So please do me a kindness and subscribe.</p>



<p class="wp-block-paragraph">the middle of the night and I just wake up because I know somebody subscribed or followed.</p>



<p class="wp-block-paragraph">It just wakes me up and I get filled with joy. That&#8217;s exactly what happens every single time.</p>



<p class="wp-block-paragraph">So you could do it as a nice favor to me or you could troll me if you want to just wake me up in</p>



<p class="wp-block-paragraph">the middle of the night. Just subscribe and then I&#8217;ll just wake up. I promise that&#8217;s what will</p>



<p class="wp-block-paragraph">happen. Also, if you look at the middle of the screen right now, you should see a QR code which</p>



<p class="wp-block-paragraph">you can scan in order to go to the website, which I think is also named somewhere at the bottom of</p>



<p class="wp-block-paragraph">to my main website where you can just kind of like see all the videos i published and the services</p>



<p class="wp-block-paragraph">and tutorials and things that i offer and all that good stuff and uh if you have a suggestion</p>



<p class="wp-block-paragraph">for uh uh clarifications or errata or just future videos that you want to see please leave a comment</p>



<p class="wp-block-paragraph">or if you just want to say hey what&#8217;s up what&#8217;s going on you know just send me a comment whatever</p>



<p class="wp-block-paragraph">i also wake up for those in the middle of the night i get i wake up in a cold sweat and i&#8217;m like</p>



<p class="wp-block-paragraph">it would really mean the world to me. I would really appreciate it. So again,</p>



<p class="wp-block-paragraph">thank you so much for watching this video and enjoy the cool music as I fade into the darkness,</p>



<p class="wp-block-paragraph">which is coming for us all.</p>



<p class="wp-block-paragraph">Thank you.</p>
<p>The post <a href="https://www.NeuralLantern.com/ultimate-beginners-guide-to-linux-command-line-ubuntu-terminal-basics-more/">Ultimate Beginner&#8217;s Guide to Linux Command Line: Ubuntu Terminal Basics &amp; More</a> appeared first on <a href="https://www.NeuralLantern.com">NeuralLantern.com</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.NeuralLantern.com/ultimate-beginners-guide-to-linux-command-line-ubuntu-terminal-basics-more/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
