Like the title says, software languages you use in Linux.
I have been nearly 100% full time on linux mint for about a year now, and I would like to get gud. I have picked up Linux+/LPIC-1 and RHCSA/RHCE books for general os knowledge, but I would like to know what languages(and books) I should plan on learning well to become a linux admin wizard.
I have seen recommendations for a printed copy of gnu coreutils manual, bash, awk, sed, fileutils,
i have also seen ruby, perl, and python recommended but those are pretty removed from linux itself imo.
>languages you use in Linux nix, C, Haskell, OCaml, bash, awk, C++, Coq, Isabelle/HOL, VHDL, RISC-V asm, x64 asm >I should plan on learning well to become a linux admin wizard perl, sh, bash, awk, systemd, python, ansible, docker, selinux, inetd (still used because systemd sockets apparently suck, or something) >recommendations for a printed copy of man pages useless
Dylan Allen
The one true language of unix-like systems is C. That's not going to make you a "linux admin wizard", though.
Ethan Hall
tyvm for thorough answer. again, im pretty new, would you mind telling me which would make the most sense to learn first? >useless eh, debateable. i actually like having a physical copy of a book or manual rather than staring a screen to read masses of text.
Mason Kelly
I'd just like to interject for a moment. What you're referring to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.
Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called "Linux", and many of its users are not aware that it is basically the GNU system, developed by the GNU Project.
There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine's resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called "Linux" distributions are really distributions of GNU/Linux.
Aaron Brown
>which would make the most sense to learn first? sh, bash, systemd (if you want to be employable asap), inetd, selinux, python learning sh includes learning most basic coreutils and basic philosophy of linux (network namespaces, fs, ...) >debateable absolutely not man is without any doubt much more efficient than paper i'd agree physical books are better for learning and when you can't find a concise source easily, but memorization isn't learning and there's nothing that beats searching for something in man if you have fetish for paper, get some proper linux book that will actually contain useful stuff that you can't easily find on the computer - linux bible, linux programming interface (useful for sysadmins too, it explains many internals of kernel)
Cooper Diaz
bump for interest. lots of nice info here so far.
anyone feel like giving any shout outs to any books on linux/shell/scripting that they thought were really good(or bad)?
Jason Gonzalez
For me: bash, sed, awk, C, and Ruby.
Colton Thomas
Python is dying as a systems scripting language, its a bad language and has shitty libraries.
Go can actually be used as a scripting language, if you compile with 'go run filename.go' then it deletes the executable when its done. The nice thing about Go is it blurs the line between scripting and creating permanent utilities.
The fish shell should be used instead of bash. bash is really awful, fish fixes most of the problems with bash. There are no books or online courses on how to use bash but the docs are very easy to understand.
Ruby is actually a good systems administration language, there are a lot of books on how to do systems scripting in Ruby, even more that Python.
Julia is a good option. Even though its designed for data science its very adept as systems scripting, a lot of library ideas where taken from Perl.
DevOps is the new strategy that management employs to make coders do all the SysAdmin work so they can cut back on staff.
If you're lucky your management will also adopt Agile so you can meet 100 times a fucking day and hold hands and sing "He's got the hold world in his hands, he's got the whole wide world in his hands".
Ever since they started letting Pajeets in, it has become a slave environment for everyone. Those Street Shitters will be the end of the IT/CS Industry.
Jonathan Jackson
So far some shell script languages/programs suggested for a linux admin: bash, awk, sed, sh, systemd, selinux, inetd, Docker
>Haskell >OCaml >VHDL what is this sourcery? >we're going to play a game called, who is user, and what does he do? You sound like you have an interesting life user.
Tyler Kelly
bummp for interest
Josiah Torres
You don't need to program to be an admin. Maybe just bash or python or something else to write some scripts. > printed copy of man Lmao what the fuck
Julian Williams
its essentially the automation of IT operations and its integration in the development workflow
Juan Green
>I thought macfags used this? You thought wrong. French fucks use it in research a lot (corporate and academia). >Julia I didn't mention it. Because it sucks. >sh Bourne shell You really do have a hard-on for books. For C, you'd better get King these days or Jens Gustedt's Modern C (he'll update it for c2x). For C++, there are no good books, it's all bullshit artistry that tries to tell you that using absolutely every feature of C++ is going to solve all your problems, never listen to Myers. Learn C first and use C++ features that solve your problems. C++ isn't good application language anyway and it sucks as a system language, i've only ever used C++ because it's easier to hire devs for than C. >what is this sourcery? Automagic formal verification of custom CPU and ASIC designs. >what does he do? Not sysadmin, though i manage all the machines our team uses (we run nixos).
Liam Bennett
Why does Julia suck? Seems like a nice lang for the CS and theoretical maths nerds to write up their garbage and not take 3 mothns for something that can be done in a week.
Ethan Wood
Because anything Julia does, something else CS people already know does better.
Carson Cook
Is Go a scripting language if when you run a .go file it compiles it, runs it and when it ends running it deletes the binary
Nathan Jenkins
>You really do have a hard-on for books. yes. i much much prefer having a hard copy in my hand. idk why but i find reading a book way easier on my eyes than a screen, i also get more engaged in what im reading when a book is in my hand. >bourne shell ty. it was getting laughable trying to use "sh" as a search term and hope i was getting close.
so bash shell seems the most popular. 1 user mentioned fish shell, and another mentions bourne shell now. i have heard of korn shell too. how do i navigate these? should i just learn bash first since its ubiquitous and so i can appreciate the differences of the other shells?
Aaron Reyes
>bash shell seems the most popular It's most popular interactive shell. But if you want your scripts to be portable, you have to write them without bash extensions. Learn bourne shell since it's *the* shell, then learn bash extensions.
Michael Barnes
I have macos, which is technically Linux.
I mostly do HTML and xml.
Luke Richardson
>Learn bourne shell since it's *the* shell, then learn bash extensions. oh ok ty ty, i thought bash was *the* shell. curious the only books on amzn for bourne are from the 90s, and bash has plenty from this decade. =/
Kayden Phillips
Most distributions have bash, but relying on it is foolish. Every distribution has a shell that implements at least bourne shell. You won't find anything on bourne shell from this millenium because it's been stable since Unix 7 and there's really not much to write about.
Christian Miller
>so bash shell seems the most popular. 1 user mentioned fish shell, and another mentions bourne shell now. i have heard of korn shell too. how do i navigate these? should i just learn bash first since its ubiquitous and so i can appreciate the differences of the other shells? Just use a shell that makes you most productive, dont waste your time with (((portability))), the fact that some guy actually expects you to learn bourne shell shows just how far sys admins have to go to make bash work. bourne/bash is very quirky where you spend more of your time trying to deal with edige cases then you do learning syntax. If you dont believe me take a look at the official recommended tutorials of the #bash IRC channel on freenode: wiki.bash-hackers.org/scripting/tutoriallist
bash is so weird you cant even trust most tutorials on it. So my recommendation is stop wasting your time trying to learn something that is inherently broken and just learn the fish shell. Im going to assume youre going to do all your work on your own computer or some computer you have physical control of so this "portability" bullshit is a total waste of your time
Grayson Cook
>(((portability))) Or, how to write the same script 5 times over just because you're too dumb to do it properly the first time. The absolute state of sysadmins in anno domini MMXVIII.
Logan Bennett
>because you're too dumb to do it properly the first time. Ive already posted evidence there is no (((properly))) for bash, you read those tutorials and you see that bash is a treadmill for lemmings, enjoy writing in bourne shell just to get your scripts to work
Jason Cox
>there is no (((properly))) for bash That's why you use bash extension only for one-off machine-specific scripts. For anything that you suspect will ned to run on multiple machines, you use Bourne shell which has very specific notion of properly.
Brody Fisher
>(((portability))) why is portabilitiy a jew plot?
Josiah Perez
>I have been nearly 100% full time on linux mint babby's first linux
go learn c, faggot
Daniel Lopez
>babby's first linux I know, but it has helped show me that i can go a year without windows. i should be able to keep going.
>go learn c, faggot i would like to maybe learn C one day but its pretty low on my priority list.
i want to learn how to be a wizard at using linux, not creating it.