Dear Fedi friends,The normalization of "vibe coding" in certain environments is pushing me in the exact opposite direction
-
@joel Thank you Joel! Indeed I had edited my message yesterday to say that I probably dreamed of becoming a proficient sysadmin... who can understand some basic programming...
-
@elena If you're TRULY new to the CLI then you could always start with Veronica Explains Li'l Linux Lessons
She's also on PeerTube at @vkc but not all the lessons are migrated over. (A good follow for upcoming videos, though.)
https://www.youtube.com/watch?v=uL7KvRskeog&list=PLjie1qS4xnWhsfRJ5nWL_6S7I-kKf49bf
@mausmalone @vkc oooh I know Veronica and I've already learned so much from her excellent videos. I suppose I should have clarified in my message that I have one year of experience managing two servers... but I'd like to become a more knowledgeable sysadmin that can do some basic coding...
-
@elena Oh! I meant to say, an advantage of starting with Scratch is that you can learn it with your child!
@jonathanhogg yes! I would love to! Looking into Scratch now
-
@elena Sounds like you're well on your way. A little effort to at least skim the man page for the commands you use, or finding a readable explanation for the commands will set you up well. Maybe a paper notebook to write down what you learn. (The effort of handwriting makes it stick in your head better.)
CLI knowledge is a spectrum - nobody knows every corner, it's just a case of gradually increasing your repertoire.

@ottaross thanks! I typically save my favorite commands in a document so I can copy and paste them
-
CLI is basically just a way to do things, it’s something you’ll learn by usage. CLI makes it easy to automate things: someone proficient with CLI will often create small (or big) shell script to automate or facilitate daily tasks.
You can think of CLI as being a one-line shell script.
May be start with what you want / need to do, and try from the CLI.rsync can be tested on small directories, just to make sure you got it right before creating a full backup. Being able to use it with the confidence and reliability you need from a backup process is a different story and needs some shell script competences.
I have some rsync backup scripts that I can share.It’s the most ambitious item on your list. You might want to start with some core principles:
- stay up to date
- read the documentation
- defend with layers (firewall, ACLs, service config, isolation, least privilege, etc.)
You’ll get tons of info from some of those guides: https://messervices.cyber.gouv.fr/catalogue/#guides
If you have many nights to spare, you can also look at https://www.cisecurity.org/cis-benchmarks Those documents are quite exhaustive but even if you don’t apply their recommendations, it’s filed with knowledge.
FreeBSD has a great handbook (HTML / PDF) https://docs.freebsd.org/en/books/handbook/ even though you might want to disregard everything about GUI (X11, Xorg, Wayland…).
@patpro thank you for all the great advice and resources!
-
@elena@aseachange.com I am not fit to assess its difficulty in general. It certainly requires more tinkering than other distros, that's true. Or at least it did for a while.
Unless you wanna challenge yourself, I wouldn't recommend it as your first distro. It's certainly doable, but might be a bit steep depending on one's approach and current skills. Though setting up an Arch PC at some point in your learning journey might be a neat exercise.
What I wanted to say is that its wiki is quite extensive and some of the explanations there can prove to be at least useful starting points for other similar systems, as many of the underlying tools are quite similar between linux distros. Not sure about FreeBSD, but there's probably some similarity.@flesh I'm probably gonna save the arch linux experiment to my year 2 or 3 after learning basics
-
@elena I'd suggest taking Harvard's CS50 as your first step. It's excellent, free, and online. It won't just teach you a language, it'll teach you the *how* of programming.
@jcnotwit thank you! Will definitely do this either before or after MIT's missing semester
-
Ruby on Rails is not really the hot language it was 20 years ago, but Michael Hartl's Ruby on Rails tutorial, available online, is a very good tutorial for learning to code.
If you are completely new, Learn to Program by Chris Pine is a good start.
No Starch Press has good books on the Linux CLI and on Bash Scripts
https://www.learnenough.com/ruby-on-rails-8th-edition-tutorial/beginning
@SeanPLynch thank you Sean!
-
@elena@aseachange.com you can also find "bash cookbook: 2nd edition" from O'Reilly's edition as a pdf to download from the internet
@nathan ooooh great to know, thank you!
-
@elena follow your heart
️
️ i am still learning sysadmin and, like a lot of comments suggest here, I learn by doing! I am mostly experienced in web dev tho.think of a small project that you would use in your life! start out simple and learn by doing! you will be motivated to make this thing because you will use it!
I also recommend checking out https://pangolin.net/
which is a super cool self-hosting solution that allows you to publicly host local resources on the public net securely!@sillybird92 thanks!
-
-
@jpmens thank you JP!
-
@jpmens oooooh SUPERB advice, thank you! exactly what I was looking for
-
I'll throw in two additional resources:
- MIT's Missing Semester https://missing.csail.mit.edu/
- Learn Linux The Hard Way https://archive.is/AkjauOther than that, I always tell students to run their own services. Get a VPS, a domain, set up a web server, ... - that forces you to keep up to date and learn by doing.
And good for you to want to dive in when others seek shallow answers! :- )
-
@elena Hey there, here are some remote learning courses you may like:
@JulianOliver thank you Julian!
-
-
@elena loooong ago before LLM booming I started with collecting small oneliners to master new skills it might be still useful https://github.com/Hellseher/cix
@sharlatan thank you!
-
I was going to suggest manual pages and manuals myself, because that was my own learning path, but since you beat me to it, I'll second it.
@elena@aseachange.com, it's also important to set out to use the CLI. one important thing to have in mind is that while it's suited for very efficient use, it's not exactly suited for discoverability, in that it doesn't have offer menus for you to pick from, you sort of have to know what you're looking for to even know which manual to read.
though there are clusters of commands that are often available together, such as the shell builtins, and the commands in GNU coreutils and the likes, there will be plenty of variation across systems depending on distro defaults, package selections and whatnot.
so don't worry about mastering everything (it's a neverending task), and focus on learning about the tools you find yourself wanting to use at first (you mentioned rsync; it has a very decent manual); you may also want to skim the GNU bash manual page, particularly the builtin commands, and the GNU coreutils manual (whether info, pdf, or html). There is plenty of stuff that probably won't click at first, but you'll most certainly also find things that you will be able to experiment with to start building your knowledge about how to use command shells, how to compound commands with pipelines, and soon you'll be writing scripts to automate tasks and wishing you'd learned this stuff sooner
when you get to FreeBSD, you may find that some of the details will be different, but the acquired knowledge will be useful there too
have a joyous and useful journey!@lxo thank you for the explanation / advice

-
@elena Great! If anything doesn't make sense there, feel free to drop a comment or email me. Good luck!
-
B bettina@mastodon.nu shared this topic