1- Handful of useful resources for Linux command line and bash shell scripting
1+ # Linux CLI and Shell scripting
22
3- Guide to choosing your Linux Distribution, list of applications, etc: [ awesome-linux ] ( https://github.com/aleksandar-todorovic/awesome-linux#distributions ) and [ computefreely ] ( https://computefreely.org/ )
3+ Collection of resources for Linux command line, shell scripting (mostly ` bash ` ) and a few on topics like Linux Kernel, distributions, applications, etc.
44
5- # :hash : Table of Contents
6-
7- * [ Courses: online text tutorials] ( #course-text )
8- * [ Courses: online video/interactive tutorials] ( #course-interactive )
9- * [ Shell Scripting] ( #shell-scripting )
10- * [ Scripting companion] ( #scripting-companion )
11- * [ Books] ( #books )
12- * [ Tips and Tricks] ( #tips-and-tricks )
13- * [ Resources for specific commands] ( #specific-commands )
14- * [ Text and File processing] ( #text-file-processing )
15- * [ Miscellaneous] ( #miscellaneous )
16- * [ Further Reading] ( #further-reading )
17- * [ Forums] ( #forums )
18-
19- <br >
20-
21- # <a name =" course-text " ></a >Courses: online text tutorials
5+ ## CLI text tutorials
226
237* [ ryanstutorial] ( https://ryanstutorials.net/linuxtutorial/ )
248* [ Bash Guide] ( https://mywiki.wooledge.org/BashGuide )
@@ -28,21 +12,17 @@ Guide to choosing your Linux Distribution, list of applications, etc: [awesome-l
2812* [ linux basics] ( https://miteshshah.github.io/linux/basics/ )
2913* [ learnenough] ( https://www.learnenough.com/command-line-tutorial/basics )
3014
31- <br >
32-
33- # <a name =" course-interactive " ></a >Courses: online video/interactive tutorials
15+ ## CLI video and interactive courses
3416
3517* [ linuxjourney] ( https://linuxjourney.com/ )
3618* [ 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
3719* [ udacity] ( https://www.udacity.com/course/linux-command-line-basics--ud595 )
3820* [ edx] ( https://www.edx.org/course/introduction-to-linux )
3921* [ memrise] ( https://www.memrise.com/course/50252/shell-fu/ )
4022* [ shortcutfoo] ( https://www.shortcutfoo.com/app/dojos/command-line )
41- * [ youtube — command line basics] ( https://www.youtube.com/watch?v=bE9DyH43C2I&list=PLVqGqrTs4ZWOhcApSWYIX_rnPMZDAClJa )
42-
43- <br >
23+ * [ youtube: command line basics] ( https://www.youtube.com/watch?v=bE9DyH43C2I&list=PLVqGqrTs4ZWOhcApSWYIX_rnPMZDAClJa )
4424
45- # < a name = " shell-scripting " ></ a > Shell Scripting
25+ ## Shell Scripting
4626
4727* [ Bash Guide] ( https://mywiki.wooledge.org/BashGuide )
4828* [ ryanstutorial] ( https://ryanstutorials.net/bash-scripting-tutorial/ )
@@ -53,42 +33,42 @@ Guide to choosing your Linux Distribution, list of applications, etc: [awesome-l
5333* [ bash shell scripting] ( https://en.wikibooks.org/wiki/Bash_Shell_Scripting )
5434* [ Serious Shell Programming] ( https://freebsdfrau.gitbook.io/serious-shell-programming/ ) — focuses on POSIX-compliant Bourne Shell for portability
5535
56- ### < a name = " scripting-companion " ></ a > Scripting companion
36+ ### Scripting companion
5737
5838* [ shellcheck] ( https://www.shellcheck.net/ ) — linting tool to avoid common mistakes and improve your script
59- * [ bash FAQ] ( https://mywiki.wooledge.org/BashFAQ ) , [ bash Practices] ( https://mywiki.wooledge.org/BashGuide/Practices ) and [ bash pitfalls] ( https://mywiki.wooledge.org/BashPitfalls ) — comprehensive lists
39+ * Comprehensive lists on ` mywiki.wooledge.org ` website:
40+ * [ bash FAQ] ( https://mywiki.wooledge.org/BashFAQ )
41+ * [ bash Practices] ( https://mywiki.wooledge.org/BashGuide/Practices )
42+ * [ bash pitfalls] ( https://mywiki.wooledge.org/BashPitfalls )
6043* [ Google shell style guide] ( https://google.github.io/styleguide/shell.xml )
61- * tips for [ safe ways to do things in bash] ( https://github.com/anordal/shellharden/blob/master/how_to_do_things_safely_in_bash.md ) and [ better scripting] ( https://robertmuth.blogspot.in/2012/08/better-bash-scripting-in-15-minutes.html ) and [ robust scripting] ( https://www.davidpashley.com/articles/writing-robust-shell-scripts/ )
62- * [ bash reference] ( https://devmanual.gentoo.org/tools-reference/bash/index.html ) — nicely formatted and explained well
44+ * Reliability and robustness
45+ * [ safe ways to do things in bash] ( https://github.com/anordal/shellharden/blob/master/how_to_do_things_safely_in_bash.md )
46+ * [ better scripting] ( https://robertmuth.blogspot.in/2012/08/better-bash-scripting-in-15-minutes.html )
47+ * [ robust scripting] ( https://www.davidpashley.com/articles/writing-robust-shell-scripts/ )
48+ * [ bash reference cheatsheet] ( https://devmanual.gentoo.org/tools-reference/bash/index.html ) — nicely formatted and explained well
6349
64- <br >
65-
66- # <a name =" books " ></a >Books
50+ ## Books
6751
6852* [ Bash Guide] ( https://mywiki.wooledge.org/BashGuide )
6953* [ The Linux Command Line] ( https://linuxcommand.org/tlcl.php )
7054* [ Unix for beginning Mage] ( http://unixmages.com/wp-content/uploads/2018/12/ufbm.pdf )
7155* [ Linux kernel and its insides] ( https://0xax.gitbooks.io/linux-insides/content/index.html )
7256
73- <br >
74-
75- # <a name =" tips-and-tricks " ></a >Tips and Tricks
57+ ## Tips and Tricks
7658
7759* [ art of command line] ( https://github.com/jlevy/the-art-of-command-line )
7860* [ command line tricks] ( https://stackoverflow.com/questions/68372/what-is-your-single-most-favorite-command-line-trick-using-bash )
7961* [ explainshell] ( https://explainshell.com/ ) — write down a command-line to see the help text that matches each argument
8062* [ commandlinefu] ( https://www.commandlinefu.com/commands/browse/sort-by-votes ) — also explore different tags like awk, grep, sed, etc
8163* [ tldr] ( https://tldr.sh/ ) — Simplified and community-driven man pages
8264
83- <br >
84-
85- # <a name =" specific-commands " ></a >Resources for specific commands
65+ ## Resources for specific commands
8666
8767* [ Linux Commands In Structured Order] ( https://linoxide.com/guide/linux-command-shelf.html )
8868* [ discussion on useful Linux commands] ( https://www.reddit.com/r/linuxadmin/comments/1x0ql2/whats_a_linux_command_you_wish_you_had_known/ )
8969* [ general purpose command line tools] ( http://www.compciv.org/unix-tools/ )
9070
91- ### < a name = " text-file-processing " ></ a > Text and File processing
71+ ### Text and File processing
9272
9373* [ My example based tutorial for various cli text processing tools] ( https://github.com/learnbyexample/Command-line-text-processing )
9474* [ All about replacing strings in file(s)] ( https://unix.stackexchange.com/questions/112023/how-can-i-replace-a-string-in-a-files )
@@ -121,40 +101,37 @@ Guide to choosing your Linux Distribution, list of applications, etc: [awesome-l
121101 * [ alvinalexander] ( https://alvinalexander.com/unix/edu/examples/find.shtml )
122102 * [ conqueringthecommandline] ( http://conqueringthecommandline.com/book/find )
123103
124- ### < a name = " miscellaneous " ></ a > Miscellaneous
104+ ### Miscellaneous
125105
126106* [ Unix and Linux Permissions Primer] ( https://danielmiessler.com/study/unixlinux_permissions/ )
127107* [ Linux Permissions Primer Part I] ( https://archive.is/2CSlT ) — archive copy of catchlinux website
128108* [ rsync] ( https://www.digitalocean.com/community/tutorials/how-to-use-rsync-to-sync-local-and-remote-directories-on-a-vps )
129109* [ htop] ( https://peteris.rocks/blog/htop/ ) — detailed tutorial
130110* [ crontab examples] ( https://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/ )
131111
132- <br >
133-
134- # <a name =" further-reading " ></a >Further Reading
112+ ## Further Reading
135113
136114* [ Unix as IDE] ( https://sanctum.geek.nz/arabesque/series/unix-as-ide/ )
137115* [ command line Q&A] ( https://unix.stackexchange.com/questions/tagged/command-line?sort=votes&pageSize=15 )
138- * [ learn-anything — linux] ( https://learn-anything.xyz/operating-systems/unix/linux )
116+ * [ learn-anything: linux] ( https://learn-anything.xyz/operating-systems/unix/linux )
139117* [ awesome linux resources] ( https://github.com/itech001/awesome-linux-resources )
140118* [ awesome shell resources] ( https://github.com/alebcay/awesome-shell ) and [ awesome bash] ( https://github.com/awesome-lists/awesome-bash )
141119* [ bash hackers wiki] ( https://wiki.bash-hackers.org/start )
142120* [ stronger shell] ( https://m.odul.us/blog/2015/8/12/stronger-shell ) — learnings from Matt Bowen and list of resources
143121* [ bash env variables] ( https://www.tricksofthetrades.net/2015/06/14/notes-bash-env-variables/ )
122+ * Guide to choosing your Linux Distribution, list of applications, etc:
123+ * [ awesome-linux] ( https://github.com/aleksandar-todorovic/awesome-linux#distributions )
124+ * [ computefreely] ( https://computefreely.org/ )
144125* Application lists — for audio, video, graphics & design, development, games etc
145126 * [ arch wiki] ( https://wiki.archlinux.org/index.php/List_of_applications )
146127 * [ alternativeto] ( https://alternativeto.net/ )
147128 * [ GNU packages] ( https://www.gnu.org/manual/manual.html )
148- * [ youtube-dl] ( https://github.com/rg3/youtube-dl/ )
149- * [ qutebrowser] ( https://qutebrowser.org/ )
150129* Linux/Bash on Windows
151130 * [ git-bash] ( https://gitforwindows.org/ )
152131 * [ cygwin] ( https://www.cygwin.com/ )
153- * [ Linux Subsystem for Windows by Microsoft] ( https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux )
154-
155- <br >
132+ * [ Linux Subsystem for Windows] ( https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux )
156133
157- # < a name = " forums " ></ a > Forums
134+ ## Forums
158135
159136Read instructions provided by respective forums before asking a question. Try solving it yourself before asking — searching online, manual, ask a colleague, etc.
160137
0 commit comments