This is an attempt to create a source of information about *nix command line tools in general. This is the list of things that should be covered:
- ls
- cp
- mv
- find
- grep
- sed
- awk
- regex (in general)
- possibly some networking commands like the
ip
,ping
,tracert
, etc... - shell scripting (bash, zsh, etc)
- etc, etc, etc...
Shell scripting is not command line strictly, but it is used on the command line and it would be nice to write about that too.
One thing to note is that this wiki's main goal is to teach concepts and theory backed up with lots of examples. Also, we'll strive to avoid those “foo bar” examples whenever possible, just like those "abc" regex examples that provide little insight on how to use what was just taught on real situations. Our main goal is to teach theory and concepts applying them to real world problems. Of course, it will be necessary and even more reasonable to use the foo bar examples at first when introducing some new ideas, but those should be followed by more world problems examples nonetheless.
The idea is to have a lot of repetition on the basic ideas on different types
of problems. We believe it doesn't help much to give one example only on how to
use a given feature. Knowing that the construct s/foo/bar/
is used to search
and replace text is easy to remember, but that doesn't mean one has the
necessary experience to use it to solve different problems.
For instance, for a really beginner programmer, if he or she knows they can
do 2 + 3 = 5
and that they can do a = 2; b = 3;
and then proceed to
a + b = 5
doesn't mean they'll realise that they can also do a + 3
and
2 + b
or even a + -5
, for instance.
I emphasize: lots of examples that keep reusing the same concepts to solve
different problems really help one gain insight on how to use them for even
more problems later much more than just memorizing ``Ah, s
is substitute''.
In the book Mastering Regular Expressions the author says that a lot of stuff in the book are not about regex itself, but are about using regex. That is a really nice idea to cling to.
I wish some IRC channels were more open to related subjects instead of being proud to shout “off-topic” to everything they possibly can.