No.68063
I always played around with it in a very disengaged, uncommitted manner. Well, on September 2nd, just a few days ago, I decided to really learn Linux to the point I could truthfully add to my resume to help me find a position somewhere. For that reason, I picked Ubuntu, possibly the most popular, all-purpose Linux distribution out there. I began doing the edx's version of the Linux Foundation's Introduction to Linux course because of the bells and whistles they have there in terms of exercises and whatnot. Unfortunately, they peppered the whole course with unbelievably idiotic mini videos geared towards morons. Imagery of douchebags with designer haircuts typing away at a laptop with some coolcorp background and annoying music.
So I said fuck it, and instead I decided to read the Linux Bible. But then I found out there's an Ubuntu Linux Bible by the same author, and so that's what I'm reading now. Straight to the point, concise, has exercises, not as many as I would like, but I can come up with variations on my own. Today is the third day I'm following the book, and I intend to make a daily post, briefly talking about the stuff I've learned on that day.
The first day was pretty much just going through the fluff. What Linux is, history of Linux, Unix, GNU, what open source is, etc. That's the first 20 pages of the book's 718 pages.
The second day I read about the X Window System, desktop environments, GNOME desktop, Nautilus file manager, and ways to run Linux (live medium, permanent install, etc.). The exercises consist of messing around with the GUI pretty much, something you would naturally do in a fresh install of an OS. I also had to install Ubuntu because I was running Windows. I got lucky because Ubuntu 24.04.1 came with some broken packages for Nvidia drives, and that of course fucked my shit up, which was a very excellent opportunity to do some tinkering and learning. I got it to work, it only took me an hour or so. I read people saying this is the most broken Ubuntu update in years, which I take as a good sign for my timing. And then I broke Light Locker while changing to Xfce as my desktop environment.
Anyway, third day, today, I finally reach the meat of the book and begin messing around with the shell, trying different commands, pretty simple stuff, whoami, pwd, ls, cd, command syntax, hyphenated options for command's behavior, locating commands, and really, just getting comfortable to mess around in the terminal. Also did some expanding commands like | sort | less and other basic nice stuff. There's a chapter talking about other Shell environments, but since Bash is the most common, I'm sticking to it. I just stopped on page 66, right at 'Creating and using aliases.' I skipped ahead a little bit and tried the exercises, and I'm happy to say I managed to do all of them. Of course, checking history helped quite a lot. Tomorrow I'll be looking at this whole alias thing and messing around with Bash config files.
Linux thread btw I guess.
No.68064
>>68063I don't know bro, I switched to Linux 3 years ago to avoid spyware and also why not, and I didn't read those gay books or whatever, since to me Linux was my new OS, not some gay toy OS. Just like most Windows users never read a book on how to use Windows. I figured stuff by myself or looked it up when I stumbled upon it. Though it makes sense to formally "learn" Linux if you're a wagie and need it on your "resume".
No.68068
So today I began by creating and using a few aliases, small stuff only for the educational value like making an alias for date, alias d='date' and a prompt for rm with rm='rm -i'. Then I read about the bashrc and other Bash configuration files, learned about setting your prompt, and adding some environment variables like TMOUT and adding directories to PATH.
Got to chapter 4 and read about Linux filesystem and the hierarchy of directories, from / to the stuff at home. Used a bunch of the most common filesystem commands, cd, pwd, mkdir, chmod and ls. Played around with changing directory permissions and learned and used the file-matching metacharacters * ? […]. Also got to use file-redirection tools <, >, 2> etc. Stopped at listing files and directories and altering adding commands to ls in order to be more efficient in doing so. Tomorrow I'll start with file permissions and ownership.
So far it's been fun but it's a lot of small things that's easy to forget. As I get deeper and use it often for actual purposes I'm sure it will be a lot easier to memorize. Currently at page 86 of 718.
>>68064A formal approach to learning Linux is more comprehensive and doesn't exclude learning with practice, in fact, it improves your practice considerably.
No.68069
>>68068I made a threa about OS on /lounge/. if somedsy you want to post there, you can, it will be appreciate grandly
No.68070
Today I began by reading about how to list files and directories, how to manipulate the way you list them, showing hidden files, how to identify directories, basically the several ways you can use ls. Next up was studying file permissions and ownership. I found this section particularly intriguing because it's always something that comes up on Linux. You try to modify a file or move a file to some folder and can't because you don't have the necessary permission to do so. It's quite brilliant how simple it is once you read exactly how it's all setup. Very simple and organized. You have 3 types of permissions: read/write/execute. Each is assigned a number, and the sum of those numbers determines what you can and can't do. Horizontally, you have the owner of the file, the group assigned to that particular file, and finally all other cases. So if you want to grant full permission, all you have to do is assign 7 to the 3 cases with 'chmod 777 file'. Elegant and effective.
You can also do the same using umark. I'm not sure if there is a difference, but there probably is. Next up was learning how to change file ownership, something you can do easily with chown. I finished the day with the bit about moving, copying, and removing files, also a pretty straightforward process by using mv, cp, rm, and rmdir. Pretty good day today.
Tomorrow I'll be addressing the creation and manipulation of text files.
>>68069I don't have anything to add actually, I'm not an expert, just an enthusiast.
No.68075
Today I'm stopping a little early today because I have this craving to play some Fallout New Vegas. Anyway, I began with chapter 5, working with text files. Basically, I spent most of the day messing around with Vi. It's a weird editor if you're used to Word or even Nano. Getting used to getting in and out of input mode is tricky, it's easy to make mistakes. That said, it's very simple, and there aren't that many commands to memorize. a, i, o, $, x, X, db, dd, cc, and yy are the ones I used the most. ZZ and :q! also. I did my grocery list on there just to have something to type. Then there's ex mode, but I kind of skipped this part. I did read it but didn't actually play around with it much.
Next up was finding files, and this part is quite important, so I paid extra attention to it. Locate, find, grep, and the several ways you can manipulate and filter results are all extremely useful, I'm sure. Finding by permission, size, user, date, etc.
No.68077
Today I began with processes and cgroup. Now, there aren't any actual exercises about this part yet but the author thought it was worth mentioning in this chapter just so the reader is aware it exists. There's a lot of other stuff to go through before you start messing around with control groups. Still, very cool read. Then it was time for the exercises. I found it rather lenient, even if I did have to look up my history here and there to remember a couple of commands. Here's the first 3 exercises (out of 9) 1. List all processes running on your system, showing a full set of columns. Pipe that output to the less command so that you can page through the list of processes. 2. List all processes running on the system and sort those processes by the name of the user running each process. 3. List all processes running on the system and display the following columns of information: process ID, username, group name, virtual memory size, resident memory size, and the command.
As you can see it's just a way to see if you retained basic inputs. If you really want to dig in on the content, you'll need to be doing stuff on the side and googling the little details as you go, which is something I'm doing.
Chapter 7 is all about writing shell scripts, but first the author goes on about what is a shell script, why would you want one, executing and debugging shell scripts, shell variable and shell positional parameters. As you might expect, your first script is just echo sentences with parameters involved. There's also explanations about parameter expansion which is a fundamental step to have an useful script going. I stopped on programming constructs. We'll see how it goes from here, this was the most fun chapter so far.
No.68093
>>68063Very cool thread. I am currently working through "The Unix Programming Environment" which I suspect is much older than your book but that's what I find so charming about it. Since gaming isn't all that important to me anymore, I'm probably going to switch to some Linux distro eventually, not just on my old cheapo office laptop. Vim, the terminal, all that stuff just feels really cool and satisfying to me.
Keep us posted wizzie!
No.68097
>>68093Thanks, I stopped posting because it quickly became a blog instead of a thread people talk about the subject matter at hand. I'm still following the Linux Bible but for the past 2 days I've been struggling with setting up a network between a windows machine and a very old laptop computer with Tiny Linux Core in it. Managing to install TLC was a learning experience in itself since I went with a minimal install and had to add a lot of stuff manually.
Today I worked on making the windows machine share the internet connection through the network since the laptop in question has proprietary software for its wireless card and I still didn't manage to make the darn thing work. I installed the firmware but it just doesn't work yet. So far I broke my internet twice by messing up with TCP/IPv4 configs. Oh well it's all in the learning curve I suppose. Just now I finally managed to access the internet with the laptop. That sweet sweet 64 bytes when pinging from 8.8.8.8 finally went through. 4 Packages transmitted, 4 packets received, 0% packets lost, just what you want to see in there.
Anyways, now I have internet on Linux I can finally focus on making the wireless card work. Once that's done I'll focus on the Linux Bible again with a little bit more understanding of the system under my belt.