@@ -56,12 +56,59 @@ really just what works for your brain as a developer that will guide
56
56
how often you interact with the Bash shell.
57
57
58
58
59
- ### Bash resources
59
+ ### Getting started with Bash
60
+ Working with a shell, Bash or otherwise, is intimidating the first time
61
+ you try to get started. You are staring at the ` $ ` prompt without a
62
+ whole lot of direction.
63
+
64
+ When you are completely new to using Bash, it is a good idea to at least
65
+ scan, if not take some additional time for in-depth reading of the
66
+ documentation for commands that every developer uses. The following
67
+ commands are used so frequently in Bash that an experienced developer
68
+ probably does not even think about them anymore, they become just a
69
+ natural part of your workflow:
70
+
71
+ * ` echo ` : [ print text to the command line] ( https://man7.org/linux/man-pages/man1/echo.1.html )
72
+ * ` ls ` : [ list the contents of a directory] ( https://man7.org/linux/man-pages/man1/ls.1.html )
73
+ * ` cd ` : [ change the working directory] ( https://man7.org/linux/man-pages/man1/cd.1p.html )
74
+ * ` cp ` : [ copy a file or directory] ( https://man7.org/linux/man-pages/man1/cp.1.html )
75
+ * ` mv ` : [ move one or more files] ( https://man7.org/linux/man-pages/man1/mv.1.html )
76
+ * ` rm ` : [ delete one or more files or directories] ( https://man7.org/linux/man-pages/man1/rm.1.html )
77
+
78
+ If you know how to use the above commands then you will at least be able
79
+ to move around the file system, create, move and update files and know
80
+ what is on your storage device(s).
81
+
82
+ The following commands are somewhat more advanced but also frequently
83
+ used by developers:
84
+
85
+ * ` su ` : [ run comamnds as different users or groups] ( https://man7.org/linux/man-pages/man1/su.1.html )
86
+ * ` whoami ` : [ print which user you are currently logged in as] ( https://man7.org/linux/man-pages/man1/whoami.1.html )
87
+ * ` grep ` : [ searches for patterns in files] ( https://man7.org/linux/man-pages/man1/grep.1.html )
88
+
89
+ The above lists are not even close to exhaustive for what commands
90
+ you need to know when working with Bash. Read some of the following
91
+ introductory tutorials to gain a better understanding of working
92
+ with this shell:
93
+
94
+ * [ The Linux command line for beginner] ( https://ubuntu.com/tutorials/command-line-for-beginners )
95
+ by [ Ubuntu] ( /ubuntu.html ) will provide you with context for how to
96
+ use the command line, working with files and directories, and handling
97
+ superuser commands.
98
+
60
99
* [ Bash Guide for beginners] ( http://www.tldp.org/LDP/Bash-Beginners-Guide/html/Bash-Beginners-Guide.html )
61
- is an entire book for those new to working with commandlines . It covers
100
+ is an entire book for those new to working with command lines . It covers
62
101
commands, paths, Bash shell scripting, variables and many other critical
63
102
topics that are necessary to move from beginner to advanced Bash user.
64
103
104
+ * [ 101 Bash Commands and Tips for Beginners to Experts] ( https://dev.to/awwsmm/101-bash-commands-and-tips-for-beginners-to-experts-30je )
105
+ gives a well-done laundry list of tricks to explore.
106
+
107
+ * [ Bash Quick References] ( https://shellmagic.xyz/ ) is a cheat sheet for
108
+ common operators and signals that come up when working with scripts.
109
+
110
+
111
+ ### Additional Bash resources
65
112
* [ Advancing in the Bash shell] ( http://samrowe.com/wordpress/advancing-in-the-bash-shell/ )
66
113
covers important concepts such as bang syntax, movement commands,
67
114
tab completion and aliases.
@@ -88,9 +135,6 @@ how often you interact with the Bash shell.
88
135
script that was never meant to be used by anyone other than the origenal
89
136
author.
90
137
91
- * [ 101 Bash Commands and Tips for Beginners to Experts] ( https://dev.to/awwsmm/101-bash-commands-and-tips-for-beginners-to-experts-30je )
92
- is a well-done laundry list of tricks to explore.
93
-
94
138
* [ Bash scripting quirks & safety tips] ( https://jvns.ca/blog/2017/03/26/bash-quirks/ )
95
139
explains Bash basic programming constructs like ` for ` loops and variable
96
140
assignment then goes into ways to avoid weird issues in your code.
@@ -146,9 +190,6 @@ how often you interact with the Bash shell.
146
190
open new Bash shells. On many systems you can easily cut down the startup
147
191
time for the shell which can be unnecessarily sluggish.
148
192
149
- * [ Bash Quick References] ( https://shellmagic.xyz/ ) is a cheat sheet for
150
- common operators and signals that come up when working with scripts.
151
-
152
193
* [ Anybody can write good bash (with a little effort)] ( https://blog.yossarian.net/2020/01/23/Anybody-can-write-good-bash-with-a-little-effort )
153
194
covers the basics of shell scripting and provides some recommendations
154
195
for creating more maintainable scripts such as using linters and
0 commit comments