Skip to content

Commit 9ac3ed3

Browse files
updated Linux resources list
1 parent abd8abc commit 9ac3ed3

1 file changed

Lines changed: 71 additions & 103 deletions

File tree

Linux_curated_resources.md

Lines changed: 71 additions & 103 deletions
Original file line numberDiff line numberDiff line change
@@ -2,152 +2,120 @@
22

33
Collection of resources for Linux command line, shell scripting (mostly `bash`) and a few on topics like Linux Kernel, distributions, applications, etc.
44

5+
## Installation and Documentation
6+
7+
>A Linux distribution (often abbreviated as distro) is an operating system made from a software collection that is based upon the Linux kernel and, often, a package management system. Linux users usually obtain their operating system by downloading one of the Linux distributions, which are available for a wide variety of systems ranging from embedded devices (for example, OpenWrt) and personal computers (for example, Linux Mint) to powerful supercomputers (for example, Rocks Cluster Distribution) — [wikipedia](https://en.wikipedia.org/wiki/Linux_distribution)
8+
9+
* [/r/linux4noobs wiki](https://www.reddit.com/r/linux4noobs/wiki/distro_selection) — Linux distribution selection for noobs
10+
* [Compute Freely](https://computefreely.org/) — curated selection of Linux distributions ranging from the beginner-friendly to the super technical
11+
* Linux/Bash on Windows
12+
* [Git for Windows](https://git-scm.com/downloads) — provides a Bash emulation used to run Git from the command line
13+
* [Cygwin](https://www.cygwin.com/) — large collection of GNU and Open Source tools which provide functionality similar to a Linux distribution on Windows
14+
* [Linux Subsystem for Windows](https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux) — compatibility layer for running Linux binary executables natively on Windows
515
* [Linux man pages](https://www.mankier.com/) — one of several websites that host man pages online
616
* [ArchWiki](https://wiki.archlinux.org/title/Table_of_contents) — comprehensive documentation for Arch Linux and other distributions
17+
* [Debian Reference](https://www.debian.org/doc/manuals/debian-reference/) — broad overview of the Debian system, covers many aspects of system administration through shell-command examples
718

819
## CLI text tutorials
920

10-
* [ryanstutorial](https://ryanstutorials.net/linuxtutorial/)
11-
* [Bash Guide](https://mywiki.wooledge.org/BashGuide)
12-
* [snipcademy](https://code.snipcademy.com/tutorials/linux-command-line)
13-
* [linuxcommand](https://linuxcommand.org/lc3_learning_the_shell.php)
14-
* [basics of linux commands](http://www.ee.surrey.ac.uk/Teaching/Unix/)
15-
* [linux basics](https://miteshshah.github.io/linux/basics/)
16-
* [learnenough](https://www.learnenough.com/command-line-tutorial/basics)
21+
* [Linux for Beginners](https://ryanstutorials.net/linuxtutorial/) — solid foundation in how to use the terminal, to get the computer to do useful work for you
22+
* [UNIX Tutorial for Beginners](http://www.ee.surrey.ac.uk/Teaching/Unix/) — eight simple tutorials which cover the basics of UNIX / Linux commands
23+
* [Linux Basics](https://miteshshah.github.io/linux/basics/) — cli basics, shell scripting, text processing, package management, etc
24+
* [Learn Enough Command Line to Be Dangerous](https://www.learnenough.com/command-line-tutorial/basics) — a tutorial introduction to the command line
1725

1826
## CLI video and interactive courses
1927

20-
* [linuxjourney](https://linuxjourney.com/)
28+
* [Linux Journey](https://linuxjourney.com/) — cli basics, text manipulation, processes, packages, networking, etc
2129
* [MIT: The Missing Semester of Your CS Education](https://missing.csail.mit.edu/) — master the command-line, use a powerful text editor, use fancy features of version control systems, and much more
22-
* [udacity](https://www.udacity.com/course/linux-command-line-basics--ud595)
23-
* [edx](https://www.edx.org/course/introduction-to-linux)
24-
* [memrise](https://www.memrise.com/course/50252/shell-fu/)
25-
* [shortcutfoo](https://www.shortcutfoo.com/app/dojos/command-line)
26-
* [youtube: command line basics](https://www.youtube.com/watch?v=bE9DyH43C2I&list=PLVqGqrTs4ZWOhcApSWYIX_rnPMZDAClJa)
30+
* [edx: Introduction to Linux](https://www.edx.org/course/introduction-to-linux) — cli basics, shell scripting, text manipulation, etc
2731

2832
## Shell Scripting
2933

30-
* [Bash Guide](https://mywiki.wooledge.org/BashGuide)
31-
* [ryanstutorial](https://ryanstutorials.net/bash-scripting-tutorial/)
32-
* [bash handbook](https://github.com/denysdovhan/bash-handbook)
33-
* [writing shell scripts](https://linuxcommand.org/lc3_writing_shell_scripts.php)
34-
* [snipcademy](https://code.snipcademy.com/tutorials/shell-scripting)
35-
* [learnshell](https://www.learnshell.org/)
36-
* [bash shell scripting](https://en.wikibooks.org/wiki/Bash_Shell_Scripting)
34+
* [Bash Guide](https://mywiki.wooledge.org/BashGuide) — aspires to teach good practice techniques for using Bash, and writing simple scripts
35+
* [Bash Scripting Tutorial](https://ryanstutorials.net/bash-scripting-tutorial/) — solid foundation in how to write Bash scripts, to get the computer to do complex, repetitive tasks for you
36+
* [bash-handbook](https://github.com/denysdovhan/bash-handbook) — for those who want to learn Bash without diving in too deeply
3737
* [Serious Shell Programming](https://freebsdfrau.gitbook.io/serious-shell-programming/) — focuses on POSIX-compliant Bourne Shell for portability
3838

3939
### Scripting companion
4040

4141
* [shellcheck](https://www.shellcheck.net/) — linting tool to avoid common mistakes and improve your script
4242
* Comprehensive lists on `mywiki.wooledge.org` website:
43-
* [bash FAQ](https://mywiki.wooledge.org/BashFAQ)
44-
* [bash Practices](https://mywiki.wooledge.org/BashGuide/Practices)
45-
* [bash pitfalls](https://mywiki.wooledge.org/BashPitfalls)
46-
* [Google shell style guide](https://google.github.io/styleguide/shell.xml)
43+
* [Bash FAQ](https://mywiki.wooledge.org/BashFAQ)
44+
* [Bash Practices](https://mywiki.wooledge.org/BashGuide/Practices)
45+
* [Bash Pitfalls](https://mywiki.wooledge.org/BashPitfalls)
46+
* [Google shell style guide](https://google.github.io/styleguide/shellguide.html)
4747
* Reliability and robustness
4848
* [safe ways to do things in bash](https://github.com/anordal/shellharden/blob/master/how_to_do_things_safely_in_bash.md)
4949
* [better scripting](https://robertmuth.blogspot.in/2012/08/better-bash-scripting-in-15-minutes.html)
5050
* [robust scripting](https://www.davidpashley.com/articles/writing-robust-shell-scripts/)
51-
* [Bash reference cheatsheet](https://devmanual.gentoo.org/tools-reference/bash/index.html) — nicely formatted and explained well
52-
* [Bash scripting cheatsheet](https://devhints.io/bash)
5351

5452
## Books
5553

56-
* [Bash Guide](https://mywiki.wooledge.org/BashGuide)
57-
* [The Linux Command Line](https://linuxcommand.org/tlcl.php)
58-
* [wizardzines](https://wizardzines.com/) [Bite Size Bash](https://wizardzines.com/zines/bite-size-bash/), [Bite Size Command Line](https://wizardzines.com/zines/bite-size-command-line/), [Bite Size Linux](https://wizardzines.com/zines/bite-size-linux/), [Bite Size Networking](https://wizardzines.com/zines/bite-size-networking/)
59-
* [Linux Bible](https://www.wiley.com/en-us/Linux+Bible%2C+10th+Edition-p-9781119578895)
60-
* [How Linux Works: What Every Superuser Should Know](https://nostarch.com/howlinuxworks3)
61-
* [UNIX and Linux System Administration Handbook](https://www.oreilly.com/library/view/unix-and-linux/9780134278308/)
62-
* [Linux kernel and its insides](https://0xax.gitbooks.io/linux-insides/content/index.html)
54+
* [The Linux Command Line](https://linuxcommand.org/tlcl.php) — basics of command line use and shell scripting, environment configuration, and more
55+
* [wizard zines](https://wizardzines.com/) — programming zines
56+
* [Bite Size Bash](https://wizardzines.com/zines/bite-size-bash/), [Bite Size Command Line](https://wizardzines.com/zines/bite-size-command-line/), [Bite Size Linux](https://wizardzines.com/zines/bite-size-linux/), [Bite Size Networking](https://wizardzines.com/zines/bite-size-networking/)
57+
* [Linux Bible](https://www.wiley.com/en-us/Linux+Bible%2C+10th+Edition-p-9781119578895) — basic operations, server management, administration, automated deployment, etc
58+
* [How Linux Works: What Every Superuser Should Know](https://nostarch.com/howlinuxworks3) — booting, device drivers, networking, development tools, effective shell scripts, etc
59+
* [UNIX and Linux System Administration Handbook](https://www.oreilly.com/library/view/unix-and-linux/9780134278308/) — definitive guide to installing, configuring and maintaining any Unix or Linux system
60+
* [Linux kernel and its insides](https://0xax.gitbooks.io/linux-insides/content/index.html) — kernel insides, and other low-level subject matter
6361

6462
## Tips and Tricks
6563

66-
* [art of command line](https://github.com/jlevy/the-art-of-command-line)
67-
* [command line tricks](https://stackoverflow.com/questions/68372/what-is-your-single-most-favorite-command-line-trick-using-bash)
68-
* [explainshell](https://explainshell.com/) — write down a command-line to see the help text that matches each argument
69-
* [commandlinefu](https://www.commandlinefu.com/commands/browse/sort-by-votes) — also explore different tags like awk, grep, sed, etc
70-
* [tldr](https://tldr.sh/) — Simplified and community-driven man pages
71-
72-
## Resources for specific commands
64+
* [The Art of Command Line](https://github.com/jlevy/the-art-of-command-line) — notes and tips on using the command-line, suitable for both beginners and experienced users
65+
* [stackoverflow: Command line tricks](https://stackoverflow.com/q/68372/4082052)
66+
* [commandlinefu](https://www.commandlinefu.com/commands/browse/sort-by-votes) — command-line gems, includes a handy search feature
7367

74-
* [Linux Commands In Structured Order](https://linoxide.com/guide/linux-command-shelf.html)
75-
* [discussion on useful Linux commands](https://www.reddit.com/r/linuxadmin/comments/1x0ql2/whats_a_linux_command_you_wish_you_had_known/)
76-
* [general purpose command line tools](http://www.compciv.org/unix-tools/)
68+
## Cheatsheets
7769

78-
### Text and File processing
79-
80-
* [My example based tutorial for various cli text processing tools](https://github.com/learnbyexample/Command-line-text-processing)
81-
* [All about replacing strings in file(s)](https://unix.stackexchange.com/questions/112023/how-can-i-replace-a-string-in-a-files)
70+
* [tldr](https://github.com/tldr-pages/tldr) — collection of community-maintained help pages for command-line tools
71+
* [explainshell](https://explainshell.com/) — write down a command-line to see the help text that matches each argument
72+
* [General purpose command-line tools](http://www.compciv.org/unix-tools/) — examples for most common usecases
73+
* [Bash reference cheatsheet](https://devmanual.gentoo.org/tools-reference/bash/index.html) — nicely formatted and explained well
74+
* [Bash scripting cheatsheet](https://devhints.io/bash) — quick reference to getting started with Bash scripting
75+
76+
## Text processing
77+
78+
* Books I've written (or currently working upon):
79+
* [GNU grep and ripgrep](https://github.com/learnbyexample/learn_gnugrep_ripgrep)
80+
* [GNU sed one-liners](https://github.com/learnbyexample/learn_gnused)
81+
* [GNU awk one-liners](https://github.com/learnbyexample/learn_gnuawk)
82+
* [Perl one-liners](https://github.com/learnbyexample/learn_perl_oneliners)
83+
* [Ruby one-liners](https://github.com/learnbyexample/learn_ruby_oneliners)
84+
* [Command line text processing with GNU Coreutils](https://github.com/learnbyexample/cli_text_processing_coreutils)`head`, `tail`, `tr`, `sort`, `pr`, `paste`, `join`, etc
85+
* [Command line text processing with Rust tools](https://github.com/learnbyexample/cli_text_processing_rust)`ripgrep`, `frawk`, `hck`, `huniq`, `zet`, etc
86+
* [unix.stackexchange: learning resources for grep, sed and awk](https://unix.stackexchange.com/q/2434/109046)
8287
* [Data ops on the Linux command line](https://www.datafix.com.au/BASHing/) — analysing, archiving, auditing, cleaning, de-duplicating, etc
83-
* [Text Processing Commands](https://tldp.org/LDP/abs/html/textproc.html)
84-
* [ad-hoc data analysis](https://en.wikibooks.org/wiki/Ad_Hoc_Data_Analysis_From_The_Unix_Command_Line)
85-
* grep
86-
* [My book on GNU grep and ripgrep](https://learnbyexample.github.io/learn_gnugrep_ripgrep/)
87-
* [alvinalexander](https://alvinalexander.com/unix/edu/examples/grep.shtml)
88-
* [conqueringthecommandline](http://conqueringthecommandline.com/book/grep)
89-
* [ripgrep](https://blog.burntsushi.net/ripgrep/)
90-
* [ack/ag](http://conqueringthecommandline.com/book/ack_ag)
91-
* sed
92-
* [My book on GNU sed](https://learnbyexample.github.io/learn_gnused/)
93-
* [gentle intro](https://code.snipcademy.com/tutorials/shell-scripting/sed/introduction)
94-
* [grymoire](https://www.grymoire.com/Unix/Sed.html) — detailed tutorial, has details on differences between various `sed` versions as well
95-
* [sed one liners explained](https://catonmat.net/sed-one-liners-explained-part-one)
96-
* [Sed by Example Part 1](https://www.funtoo.org/Sed_by_Example,_Part_1), [Part 2](https://www.funtoo.org/Sed_by_Example,_Part_2), [Part 3](https://www.funtoo.org/Sed_by_Example,_Part_3)
97-
* [Learning Linux Commands: sed](https://linuxconfig.org/learning-linux-commands-sed)
98-
* awk
99-
* [My book on GNU awk](https://learnbyexample.github.io/learn_gnuawk/)
100-
* [gawk manual](https://www.gnu.org/software/gawk/manual/gawk.html#SEC_Contents) for complete reference, examples, extensions and more
101-
* [gentle intro](https://code.snipcademy.com/tutorials/shell-scripting/awk/introduction)
102-
* [grymoire](https://www.grymoire.com/Unix/Awk.html) — detailed tutorial, covers information about different `awk` versions as well
103-
* [awk one liners explained](https://catonmat.net/awk-one-liners-explained-part-one)
104-
* [Awk by Example Part 1](https://www.funtoo.org/Awk_by_Example,_Part_1), [Part 2](https://www.funtoo.org/Awk_by_Example,_Part_2), [Part 3](https://www.funtoo.org/Awk_by_Example,_Part_3)
105-
* [My book on Perl one-liners](https://learnbyexample.github.io/learn_perl_oneliners/)
106-
* [sort](https://www.skorks.com/2010/05/sort-files-like-a-master-with-the-linux-sort-command-bash/)
107-
* find
108-
* [alvinalexander](https://alvinalexander.com/unix/edu/examples/find.shtml)
109-
* [conqueringthecommandline](http://conqueringthecommandline.com/book/find)
110-
111-
### Miscellaneous
88+
89+
## Miscellaneous
11290

11391
* [Unix and Linux Permissions Primer](https://danielmiessler.com/study/unixlinux_permissions/)
114-
* [Linux Permissions Primer Part I](https://archive.is/2CSlT) — archive copy of catchlinux website
115-
* [rsync](https://www.digitalocean.com/community/tutorials/how-to-use-rsync-to-sync-local-and-remote-directories-on-a-vps)
116-
* [htop](https://peteris.rocks/blog/htop/) — detailed tutorial
117-
* [crontab examples](https://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/)
92+
* [How To Use Rsync to Sync Local and Remote Directories](https://www.digitalocean.com/community/tutorials/how-to-use-rsync-to-sync-local-and-remote-directories)
93+
* [htop explained](https://peteris.rocks/blog/htop/) — explanation of everything you can see in htop/top on Linux
94+
* [cron](https://en.wikipedia.org/wiki/Cron) — job scheduler on Unix-like operating systems
11895

11996
## Further Reading
12097

121-
* [Unix as IDE](https://sanctum.geek.nz/arabesque/series/unix-as-ide/)
122-
* [command line Q&A](https://unix.stackexchange.com/questions/tagged/command-line?sort=votes&pageSize=15)
123-
* [learn-anything: linux](https://learn-anything.xyz/operating-systems/unix/linux)
124-
* [awesome linux resources](https://github.com/itech001/awesome-linux-resources)
125-
* [awesome shell resources](https://github.com/alebcay/awesome-shell) and [awesome bash](https://github.com/awesome-lists/awesome-bash)
126-
* [bash hackers wiki](https://wiki.bash-hackers.org/start)
127-
* [stronger shell](https://m.odul.us/blog/2015/8/12/stronger-shell) — learnings from Matt Bowen and list of resources
128-
* [bash env variables](https://www.tricksofthetrades.net/2015/06/14/notes-bash-env-variables/)
129-
* Guide to choosing your Linux Distribution, list of applications, etc:
130-
* [awesome-linux](https://github.com/aleksandar-todorovic/awesome-linux#distributions)
131-
* [computefreely](https://computefreely.org/)
132-
* Application lists — for audio, video, graphics & design, development, games etc
133-
* [Arch wiki](https://wiki.archlinux.org/index.php/List_of_applications)
134-
* [alternativeto](https://alternativeto.net/)
135-
* [GNU packages](https://www.gnu.org/manual/manual.html)
136-
* Linux/Bash on Windows
137-
* [git-bash](https://gitforwindows.org/)
138-
* [cygwin](https://www.cygwin.com/)
139-
* [Linux Subsystem for Windows](https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux)
98+
* [Unix as IDE](https://blog.sanctum.geek.nz/series/unix-as-ide/)
99+
* [unix.stackexchange: command-line Q&A sorted by votes](https://unix.stackexchange.com/questions/tagged/command-line?sort=votes&pageSize=15)
100+
* Resource lists
101+
* [learn-anything: Linux](https://learn-anything.xyz/operating-systems/unix/linux)
102+
* [Awesome Linux resources](https://github.com/itech001/awesome-linux-resources)
103+
* [Awesome Shell resources](https://github.com/alebcay/awesome-shell)
104+
* [Awesome Bash](https://github.com/awesome-lists/awesome-bash)
105+
* Application lists for audio, video, graphics & design, development, games etc
106+
* [Arch wiki](https://wiki.archlinux.org/title/List_of_applications) — general list of applications sorted by category, as a reference for those looking for packages
107+
* [AlternativeTo](https://alternativeto.net/) — crowdsourced software recommendations
108+
* [GNU packages](https://www.gnu.org/manual/manual.html) — find a tool based on categories
140109

141110
## Forums
142111

143112
Read instructions provided by respective forums before asking a question. Try solving it yourself before asking — searching online, manual, ask a colleague, etc.
144113

145-
* [unix stackexchange](https://unix.stackexchange.com/)
146-
* [commandline](https://www.reddit.com/r/commandline)
114+
* [unix.stackexchange](https://unix.stackexchange.com/)
115+
* [/r/commandline](https://www.reddit.com/r/commandline)
147116
* [/r/bash](https://www.reddit.com/r/bash)
148117
* [/r/linux4noobs](https://www.reddit.com/r/linux4noobs)
149118
* [/r/linuxquestions](https://www.reddit.com/r/linuxquestions)
150119
* [/r/linux](https://www.reddit.com/r/linux) — general linux discussion
151-
* [askubuntu](https://askubuntu.com/questions/tagged/command-line?sort=votes&pageSize=15)ubuntu specific as well as general linux topics
120+
* [askubuntu](https://askubuntu.com/questions/tagged/command-line?sort=votes&pageSize=15)Ubuntu and general Linux topics
152121
* [TuxURLs](https://tuxurls.com/) — Linux news aggregator
153-

0 commit comments

Comments
 (0)