This is my 4th time spending the holidays in Spain, one in Madrid and the last 3 in Barcelona, the heart of Catalonia where Spanish is the 2nd language between Catalan and English.

On the departing flight with Alitalia I managed to read the entire book "Teach yourself Unix in 10 minutes a day", an introduction to SELinux, an overview of the new features in Fedora Core 3, and a tutorial on building RPMs. Not bad overall, but I've got one hell of a jet lag from not sleeping.

Just after I completed the tortuous entry process into the EU on my layover in Milan, I learned that Alitalia has recently declared bankruptcy. My advice is to avoid Alitalia altogether, having to fight with 500 others to have my passport stamped was a nightmare, and inflight service was awful, for example they were serving breakfast while the landing gear was coming down so not all of us managed to get something to eat as they scurried to put everything away before touch down. What,... were they sleeping in the back?

Putting the crappy flight behind me, I am enjoying Christmas dinner today with my wife's family here in Barcelona near Fabre i Puig. We're having the traditional soup called Gallet, as well as monkfish, shrimp, cigales (think big crayfish), canalones, and for desert turron de girona.

The object today's blog is to list the new Unix commands I learned on the flight. 10 minutes a day passes very quickly when you have 8 hours to kill. Here goes:

grep "a string" /path/to/file
That's right, I never used grep unless it was on the right side of a pipe. Didn't know you use it like this.
pushd and popd
When typing long paths to change directories, try using pushd instead of cd. pushd puts your locations on a stack and popd remove the top item (current dir) from the stack and returns you to your previous directory. A nice time saver.
ls -Z and ps ax -Z
Use these to view the SELinux security properites on files and processes.
find /start/path -ctime {days} and find /start/path -size {size}
Use find to locate files by date created or size. For example, "find . -ctime 2" will locate files created within the last 2 days starting from the current directory.
wc, sort, and split
wc is used for word counts but can return a lot more including line counts and character counts. sort can be used to sort on specified columns within a multi column list and split can help you break up files in units of a specified size or number of lines.
diff and patch
diff and patch can help make a simple version control
nohup
I knew that you could start JRun servers with the nohup switch, but I though it was just to supress output on the command line. I learned that it actually means no hangup, and can be thought of as the opposite of SIGHUP. With nohup you can start a program in a shell, leaving it in the forground or in the background, but then you can exit the shell without the program closing. Without nohup, programs started in shells are terminated with sighup when the shell is exited.
tee
Use this to reuse STDOUT or STDERR after piping it somewhere. You can chain actions together where each link still has the output stream. For example you can pipe it to a file and then still pipe it to the terminal buffer.
trn
I never used newsreaders from the command line, but I learned some new tricks to make it easy to manage and read.


In between walks around the Sagrada Familia and Montjuic, I may be able to sneek in a few articles from a few Linux Magazines I brought with me, but I think I'll just leave that for the flight home in a couple weeks.