Jul
19
TTT Part 19 of n – Text Searches
Filed Under System Administration, Computers & Tech on July 19, 2014 | 1 Comment
In the previous two instalments (17 & 18) of this series we learned how to represent patters with regular expressions, or, to be more specific, with POSIX Extended Regular Expression (or EREs). We used the egrep
command to test our regular expressions, but we didn’t discus the command itself in detail. Now that we understand regular expressions, it’s time to take a closer look at both egrep
, and it’s older brother grep
, both commands for filtering and searching text.
May
10
TTT Part 18 of n – More REs
Filed Under System Administration, Computers & Tech on May 10, 2014 | 4 Comments
In the previous instalment we introduced the concept of Regular Expressions, and started to learn the POSIX ERE regular expression language, noting that POSIX ERE is a sub-set of the very commonly used Per Compatible Regular Expression (PCRE) language.
In this instalment we’ll learn more POSIX ERE syntax, and have a look at some examples of REs in GUI apps.
Apr
27
TTT Part 17 of n – Regular Expressions
Filed Under Computers & Tech, System Administration on April 27, 2014 | 5 Comments
This instalment is the start of a series of instalments relating to searching from the command line. Searching is all about patterns, and that means getting to grips with Regular Expressions (also called RegExps, RegExes or REs for short). Regular Expressions are languages for representing patterns, and are used throughout IT, not just on the command line. While this series focuses on the Terminal, an understanding of regular expressions will be helpful in many other places, from programming languages to GUI apps like programming editors, search utilities or file re-namers. It’s going to take us two instalments to properly describe regular expressions, but when we’re done we’ll have gained a very useful skill.
Feb
8
TTT Part 16 of n – Crossing the Streams
Filed Under System Administration, Computers & Tech on February 8, 2014 | 2 Comments
In the previous instalment we introduced the concepts of streams, and looked at how every process has references to three streams as part of their environment – STDIN
, STDOUT
& STDERR
. We went on to introduce the concept of operators that manipulate these streams, and we focused on the so-called ‘pipe’ operator which connects STDOUT
in one process to STDIN
in another, allowing commands to be chained together to perform more complex tasks. We mentioned the existence of operators for connecting streams to files, and the possibility of streams being merged together, but didn’t go into any detail. Well, that’s what we’ll be doing in this instalment.
Feb
2
TTT Part 15 of n – ‘Plumbing’
Filed Under System Administration, Computers & Tech on February 2, 2014 | 2 Comments
Right back in the very first instalment we described the Unix philosophy as being Lego-like, that is, having lots of simply commands that do one thing well, and then assembling them together to do something really powerful. So far, we’ve only been working with a single command at a time, but that changes with this instalment. We’ll be introducing the concept of streams, which can be used to connect commands and files together.
Jan
11
TTT Part 14 of n – Aliases & Prompts
Filed Under System Administration, Computers & Tech on January 11, 2014 | 1 Comment
In the previous instalment we looked at how to make permanent changes to our environment. We made a permanent change to the PATH
environment variable to demonstrate how it’s done (by editing ~/.bash_profile
on a Mac, or ~/.bashrc
on Linux). In this instalment we’ll look at two other kinds of environment changes you may wish to make by editing these files – specifically, aliases, and custom prompts.
Dec
21
TTT Part 13 of n – PATH
Filed Under System Administration, Computers & Tech on December 21, 2013 | 6 Comments
In the previous instalment we introduced the concept of the command shell environment, and we looked in detail at how shell and environment variables work. In this instalment we’ll focus on probably the single most important environment variable, PATH
. We’ll look at what it does, how it’s initialised, and, in the process, we’ll learn how to make persistent customisations to our shell environment.
Dec
14
TTT Part 12 of n – the Environment
Filed Under Computers & Tech, System Administration on December 14, 2013 | 2 Comments
Given the times we live in, the word ‘environment’ probably invokes images of polar bears and melting ice, but the Al Gore definition of the word ‘environment’ is a relatively recent narrow definition of a much broader word. The first definition of the work in the OS X dictionary is:
The surroundings or conditions in which a person, animal, or plant lives or operates
In this instalment we’ll introduce a digital extension of this concept – the digital conditions within which a process exists, and specifically, in which a BASH command shell exists. Although this might sound like a simple topic, there’s actually a lot to cover, so we’ll be spreading it out over a few instalments.
Nov
22
TTT Part 11 of n – Text Files
Filed Under System Administration, Computers & Tech on November 22, 2013 | 1 Comment
In the next instalment we’ll be moving on to look at the so-called Environment within a command shell, but before we do that we need to lay some ground work. Specifically, we need to learn how to read and edit text files from the command line.
In this instalment we’ll start with the most common commands for reading files, and then move on to look at the simplest of the command line editors. For those interested in learning a little more I’ll also give a very quick overview of one of the more powerful command line editors, but feel free to skip over that section if you like, future instalments won’t assume that knowledge.
Nov
2
TTT Part 10 of n – man
Filed Under System Administration, Computers & Tech on November 2, 2013 | 2 Comments
Like with so many things in tech, it doesn’t matter if you don’t know everything, what matters is that you have the skills to quickly find the information you need when you needed it. Programmers don’t memorise entire APIs, they simply learn how to search them, and how to interpret the results of their searches.
This is an area where the Linux/Unix command line environment really shines. All Linux & Unix distributions, including OS X, have a built-in manual that allows you to quickly find the documentation you need, when you need it. Every command line command/program can add its documentation to the system manual. In fact, each command/program can actually add multiple documents to the manual. Tools that make use of configuration files will often add a separate document to describe the structure of the configuration file for example.
Every built-in command will have an entry in the manual, and any software you install via the standard package management tools for your distribution will almost certainly bundle the related manual entries as part of the package. This is also true on OS X, where package mangers like Mac Ports will also bundle manual pages with the software they install, and even stand-alone .pkg
installers for command line tools will usually also install manual entries. If you run it from the command line, the changes are very high that there will be a manual entry for it on Linux, Unix and OS X.