Files
Lee Hanken 7c8efd2228 Initial commit: HPR Knowledge Base MCP Server
- MCP server with stdio transport for local use
- Search episodes, transcripts, hosts, and series
- 4,511 episodes with metadata and transcripts
- Data loader with in-memory JSON storage

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 10:54:13 +00:00

352 lines
23 KiB
Plaintext

Episode: 4206
Title: HPR4206: New to GNU/Linux resources.
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr4206/hpr4206.mp3
Transcribed: 2025-10-25 21:23:21
---
This is Hacker Public Radio Episode 4200 and 6 from Monday the 16th of September 2024.
Today's show is entitled New to New Linux Resources.
It is hosted by some guy on the internet and is about 28 minutes long.
It carries a clean flag.
The summary is, Scotty talks about resources for new Linux users.
Hello and welcome to another episode of Hacker Public Radio.
I'm your host, some guy on the internet.
Today I want to be talking to you guys about two resources that I think are just excellent
for new to Linux users.
Now new to Linux, how I'm using it here does not mean new to computers.
If you're new to computers, I am not equipped to assist you.
The people I have in mind here are, people who may have built their own PC, their Windows
users or maybe even Mac users, have been using computers for a long time, they're not afraid
to tinker with their systems.
And maybe due to frustration of their current system, you know, Windows 10, remember when
Windows 8 switched to Windows 10, the frustration that caused, that's one of the reasons why
I came to Linux just terrible.
Same thing now, Windows 10 going to Windows 11, then I'm trying to build in language models
directly into the operating system, just, I mean blatantly making clear that they're
going to drill down and spy on every single aspect of what you the user has, again, I'm
going to untangle.
Let me not for whatever reason, for whatever reason you may have for wanting to try Linux.
I feel like the people who are willing to go get a thumb drive, grab a piece of software
that allows them to make that thumb drive into a bootable media and then try out or install
a different operating system, you know, a completely new environment.
Those people are ready for everything I'm going to introduce here today.
So kid gloves are off, we will be talking about terminal resources as well, I recommend
the terminal for new to Linux users, I understand that some others that speak about new to
Linux users, they recommend things like Ubuntu as a operating system and then they'll include
with that how you do not necessarily need to use the terminal whenever using Ubuntu.
I'm going to skip that 100% because you came to Linux for a reason, you understand,
you came to the links because you either felt for me, I did not feel like I was the administrator
of my own computer, right, I built my computer, I feel like I, I provide the warranty, I
provide the guarantee, I provide the final say so, but for whatever reason Microsoft took
all of that away from me.
So I came to Linux to get that back, the final say so, and I'm willing to put in work
to have that, I believe the same of you, and I'm going to treat you like that.
So I'm going to give you some resources that will help you feel like you have the final
say so, first up, the Linux command line where it all begins, I definitely recommend this
as your first resource when learning Linux because the command line is super powerful
and this is going to teach you how to safely navigate and maneuver using the command line.
So we're going to start off with the simplest thing like what is the shell, your terminal
emulators, right, very, very basic stuff.
Before you know it, you're going to be navigating around, you know, CDing around, changing
directories all the way up to manipulating files, copying and removing files and things
of that nature all in a safe environment.
So you don't have to worry about doing this with your own files where you might accidentally
delete and remove something important.
Again, it teaches you how to do it in a very safe way.
Another thing about this resource, it doesn't bog you down with a lot of the internet arguments.
Sometimes when seeking information online, users may be a bit more passionate about the
software that they're using and the insert certain biases with the information that
they provide.
This will usually start some kind of an argument and the user asking a question attempting
to learn does not benefit from any of the argument.
So for me personally, I like books and documentation as a distraction free environment for learning.
Another good thing about this resource is not just for the new users, like I've been
using Linux for a little while now, and I love coming back to read this document again.
It's a wonderful reference.
So even after you feel as though you know what you're doing and you can use the terminal
daily to get most of your work done, you'll still love having this book just to, you
know, hop back in there, refresh yourself.
Maybe there's some terms and things you don't really remember because you hadn't used
them in a while.
You could just hop right back in here and refresh yourself without going online because
it's an offline document as well.
There's no DRM, no ads, no subscriptions and all kinds of stuff.
I bought the book a few times because I buy humble bundles and this book was a part of
multiple humble bundles that I've purchased in the past.
So I've already paid for it multiple times.
But it is available as a at no cost to you download online link in the show notes.
Now for just a few quick mentions about the book before going forward.
This is based on my own experience, but file permissions is something that I believe
you really, really need to spend some time on for security sake.
And just because if you, you can sometimes create headaches for yourself when working
in different directories owned by other users, you may get confused as to why, why things
are not happening as you believe they should file permissions is just a wonderful thing to
keep in mind.
So the book does an excellent job helping you understand file permissions, giving you
lots, it's motorcycle season.
So I apologize for all of the noise you can hear out there.
I got the door and the windows open, letting some of the wonderful fresh air in.
So along with the fresh air, there's going to be a bit of the environment as I was saying,
the permissions section of the book does an excellent job.
It gives you just enough information to help you understand how permissions work.
What all the symbols mean, you know, you'll see our WX and you'll see it multiple times
along side certain files whenever you do an LS with the long flag followed by something
like the A flag or whatever, it'll fill in all the blanks for you.
I believe the book also does a really good job explaining quoting.
So with time, if you decide to embark in bash scripting, you will have questions about
quoting, double quotes, single quotes, that kind of thing.
The book does an excellent job sort of introducing you to it, but time and experimentation will
help fill in the rest of the gaps.
Now for a couple of cons really quickly.
The book does introduce you to RegX, which is great.
If you don't know what RegX is, it's pattern matching.
You're looking for a pattern and you may wish to either remove that pattern or substitute
it with a different pattern.
So changing A, B, C with D, F. Funny story about that.
When I joined open source and started reading a lot of the online documentation scattered
all over the web, a lot of examples use something called Foo and Bar.
And I thought these were some sort of system variables that were like super important because
my experience with the word Foo bar, it was spelled differently and it had a meaning
that I will not mention here.
I had no idea that they were, what they were doing with their version of Foo, which is
Foo and Bar, B-A-R, but yeah, in open source, because there is no sort of company behind
a lot of it.
At times you will learn that there's no adult in the room.
I'll just tell you that from now.
So there are certain projects out there that may be great projects, but they have names
that are just not for everyone.
So I'll also create issues because, say for instance, right now if I ask you to spell
engine X, what you might spell will be completely different from the package engine X.
There's a lot of play on words, so documentation means a lot.
You're going to get a lot of correct pronunciation and spelling of these different packages because
having someone just tell you, hey, yeah, I use engine X, you're going to go actually running
out there, type in what you know of as an English speaker, engine and X, and it's not going
to be what you think it is.
Another thing about that for me, when I was on Reddit looking for different communities,
especially adding all of the different desktop environments, that's another thing in Linux,
they're going to eventually come across.
This is an interesting one.
I was adding the different ones, so X, F, C, E, I, at the time, I called X, F, C, E, X,
face.
So I didn't know that it was just called X, F, C, E, to me, it looks like the word X and
face.
And then, you know, KDE and all the other ones, I'm adding them to my Reddit logs, so
I can follow the projects, see what users are saying about the different desktop environments.
And I was trying to find Cinnamon, because at the time I was using Linux meant with the
Cinnamon Desktop environment, well on Reddit, there is another community called Cinnamon,
and it is not the Cinnamon Desktop environment.
I'm going to give you a warning about that right now.
If you are looking for the Cinnamon Desktop environment, you have to type Cinnamon, DE, for
Cinnamon Desktop environment, yeah.
So someone else already had to name Cinnamon, it is a 18 plus community, not say for work,
giving you a heads up about that now, and if you want to start, you know, joining the
different communities again, you just got to be careful with spelling and open source
and other things.
But back to Rejects, a lot of people have a hard time wrapping their head around Rejects,
because when you get to using it, depending on the technology that you're using, GRIP,
SAID, ARC, the different languages that implement their own versions of Rejects, wrapping your
head around it can be difficult, because a lot of times you're going to have to put your
own understanding aside and adopt the understanding of the tool that you're using, and you're going
to have to be able to toggle that, you know, turn it on and off based on what you're
doing at the time.
And that's where the difficulty will come in.
In the book, what I do not appreciate as much is that they use examples that are kind
of just, you know, this is, this is kind of when, when you're learning from in, from a
gray beard in the Linux community, they accidentally introduce confusion in the learning process.
So for instance, they're teaching you about SAID and using Rejects with SAID.
A good thing to do that with is just plain English, like some regular writing or something,
you can just, you know, do substitutions on writing.
And if you want to do anything that's kind of formatted, XML would be a little bit easier
to work with.
But just basic writing or work just fine.
I would even say mark down, even though people may not recognize the formatting as mark
down, just regular bullet pointing or whatever, that's a lot easier to build your examples
around because when I came in open source, I didn't know what mark down was, it didn't
take me long to find out.
And then adopting it also didn't take too long, you know, just for regular vanilla mark
down, now when you want to start doing complicated things, like setting up table tables and
things of that nature, and you start dealing with the different flavors of mark down, you
know, you can, you can spend some time on it if you'd like, but it's still not a difficult
thing to understand.
Regardless, they decided to use something called graph and in variance of graph, which
are like spin offs of raw off and when you're learning, you know, in Linux, you're going
to find out that some of the learning resources introduced complexities that are just beyond
what a new to Linux user should have in front of them at the time.
So you now have to research what the heck is a graph so that you can understand the
syntax that you're looking at and separate it from the syntax that you're attempting
to learn.
So you're going to be constantly peeling back the onion, attempting to separate the graph
from the, from the said, and how all of this ties in with you learning Linux, you know,
it, for me, in my own learning journey, I considered this to be a bad example using a
graph with said, it was, it was not well done in my opinion.
One other thing that I'll mention about the book before we move on to the next resource,
the book, they spelled them wrong when, yeah, you know, them is, it's, it's a text editor
called them V I M. And for some reason, they ended up spelling it in a N O. I don't know
what was that with that, but, you know, wink, wink, all right, all right, enough fooling
around.
That was a joke, by the way, if you're new and you're listening to this, I'm joking.
Nano is a perfectly good text editor.
And a lot of people start out using it because it really does remove a lot of mystery.
I'm not going to say complexity because none of the text editors that I have used in
the terminal, you know, them nano micro, they, they were not complex, however, because
you need to stop and learn what you're doing before you touch them, except for nano nano
is a little bit easier.
You can actually just play around in an old before you do a lot because the controls are
kind of listed at the bottom of the screen.
And if you're not new to computers, like if you're a savvy Windows user, I was going to
give some examples there, but there's no need.
You'll figure it out.
It's, it's very simple stuff.
And again, documentation is king for everything.
Whenever someone recommends a new project, the very first thing you need to do is ask about
the documentation.
If they start holding, humming, hand waving about the documentation, skip it, just forget
about it.
All right.
Or if they try to tell you, here is a list of different forms that you can dance around
trying to build your understanding, forget about it.
Most projects today do have decent documentation.
The word get may arrive in front of you at some point.
I'm going to avoid it here.
And if there is someone with far better understanding on get and can actually recommend it, I would
greatly appreciate it.
I have some books on it.
I mess around with it, but I cannot in any way give justice to the project in recommendations.
So I'll leave that up for my betters.
I'll leave that up to my betters to recommend that project.
I can't possibly do you any justice by recommending it.
All right.
Now, for the next resource that I want to bring to the table, it's a specific man page.
It's the bash man page.
Now understand, you may not know a lot about the man pages and looking at them.
At first, the man pages are not going to make a lot of sense to you.
If I could put in the words my own confusion, it felt like the man pages were just a high
elevation top down reference for the creators of whatever technology you a new Linux user
are attempting to learn.
So in many cases, it felt like it did you no justice to even look at a man page because
it only benefited the creator of said technology.
The reason why I'm recommending the bash man page here, when I learned bash or when I began
because I don't think the learning ever stopped freely, but when I began to learn bash,
I learned from a bunch of scattered online forms, documents, videos, just people all over
the internet and I appreciate them all for what they've taught me.
However, my growth was always stunted in that most of the examples and things that I come
across did not include show grammar and the show grammar gives you depth in your learning.
So you may learn how to mimic a certain process, for instance, in the F statement.
If you're already a developer, F statements are probably not going to be that difficult
for you.
However, if you're new to Linux and you're not already a developer and you really do want
to use the terminal, you know, you're eventually going to find fascination in bash scripts and
there's something called an F statement.
If this thing is true, then do something for me.
That's the base, basics of it.
Shell grammar is going to introduce things like definitions.
You're going to learn that in the shell word means something, name means something.
You're going to learn about things like control operators and you see when you're on these
forms, they may demonstrate how to use a control operator, but they never tell you what
it is, like what it's called.
So when you're trying to explain your confusion, because you're basically just mimicking what
you saw someone else do with a control operator, but you can't tell a more knowledgeable individual
about your confusion, because so much of the depth is lost through these tutorials that
you're going to encounter, you're going to be able to understand arithmetic evaluation
through expressions, as well as conditional expressions.
That's another big one right there, like, you know, especially me bringing up F statements
and things of that nature, again, understanding the shell grammar and the definitions behind
each of these different terms will benefit you greatly.
It'll take some time, obviously, you know, you're learning something new that doesn't immediately
make it difficult.
It makes it tedious at times, but if you're interested in learning, I think this is going
to be just a very, very valuable resource for you, the bash man page.
And there's another one I'm not going to bring it up here, or maybe I should, because
I don't like the tease, but it's the bash built ends.
They don't have an online for it, but if you tighten the same way you do man bash in
your terminal to pull up the bash man page, man stands for manual, by the way, you can
do man built ends.
That's all one word built ends plural built ends.
You can do a tab complete once you type built and it'll you can hit tab and it'll complete
the rest of the word.
So that way you are doing that with a syntax error.
This is going to help you also understand that there are certain tools that bash your
shell comes equipped with that are different from your system.
And you'll find that your system also comes with some of the same tools and you can, you
can depend if you want to switch between the tools.
So a good example of that is in bash, they have a built-in echo that you can use and your
system also comes with echo, which is located if you're using an Ubuntu based system.
It's going to be in your USR bin bash or not bash, excuse me, USR bin is the directory
in the root directory.
You're going to find echo down in there as a binary, but it's also a bash built in as
well.
By learning these differences, right, you're going to be, you're going to really fill in
a lot of gaps.
Expansion is another big one.
I mentioned quoting earlier from the Linux command line, when you're dealing with expansion
and quoting, if you're new to Linux right now, hearing me just say expansion doesn't mean
anything to you.
And I'm not going to attempt to give you some half-witted explanation of it.
I would much rather you read the resource, go to the bash, man page, that's where you
need to get your understanding from.
And then from there, ask questions, right, because that's another thing about the community.
And you mention that you are reading the man page and you still have questions and you
are able to express yourself a little clear using the language or the grammar of the
shell or whatever technology that you're using.
People are more willing to help you because they can see that you're also trying to help
yourself.
But if you're just sure, hey, how do I do a thing?
Well, it's not going to work out well for you all the time.
Some people will try to help you, but you may not be well received.
Finally, a fun one that I enjoy using all the time.
Job control.
Oh, man.
Once you become a little bit more fluent in using Linux systems, job control is great.
Because, for instance, I use tar from my backup solution.
So I'll jump in and I'm just giving an example here.
I'll have say my shows directory where I create my HPR shows on.
Let's just say that's like 50 gigabytes, whereas the shows, right, I'll throw a tar on
that baby.
And I'm not going to wait for tar to completely archive that 50 gigabytes, right?
So with job control, I can send that job to the background while I continue reading
my notes or doing whatever I'm doing and say a them session or whatever.
And as another example here as well, let's say, for instance, I accidentally tarred
the wrong directory, right?
Maybe I made some changes, but those changes were in a sub directory somewhere.
And that's the directory I actually should have used tar on, not the parent directory.
Well, I could have a choice here.
I could kill the current job, you know, the first tar job that I set up there.
I could kill that and then start a new one or, you know what?
It's not going to hurt anything.
I'll leave that running and then just start a new tar job, send it to the background
as well.
So they'll all be running consecutively.
And I'll be there just, you know, again, still reading my notes, documentation, whatever
in them while both of those tar jobs are running in the background.
And I don't need multiple terminals all over the, but you're going to eventually run
into Unix porn or you'll be on YouTube and you'll see people using things like tolling
window managers.
And they'll have like five or six terminals scattered all over the screen, demonstrating
the flexibility of a tiling window manager.
The first thing I'm going to tell you is learn how to manage your jobs.
All you really need is one terminal window open when you know how to manage your jobs.
One window open and full screen and a few jobs in the background.
Why do I need multiple of them scattered all over the screen?
But when I need to go back and check on a job, I can.
But it depends on how you like to work as well.
So I don't, I don't mean to speak light of those other tools.
They're great tools and they may benefit you more than I could possibly understand.
I'm just giving you examples of what is possible.
So that's all I'm going to leave you with now.
Just those two resources.
The book known as the Linux command line and the bash man page.
If you use those two, you know, because I do believe in documentation and I think these
two will be great for a new to Linux users documentation.
That's all I have time for.
I'll catch you guys in the next show.
Take it easy.
You have been listening to Hecker Public Radio at HeckerPublicRadio.org.
Today's show was contributed by a HPR listener like yourself.
If you ever thought of recording podcasts, you click on our contribute link to find out
how easy it really is.
Hosting for HPR has been kindly provided by an honesthost.com, the internet archive and
our sings.net.
On this advice status, today's show is released under Creative Commons, Attribution 4.0 International
License.