I work extensively on a Windows desktop. However, I do SSH into Linux servers often and I do so using PuTTY, a free and open source client. Everything works peachy. However, I recently had occasion to work extensively with some Unicode source data and I found that there were times when I thought that there were encoding issues with the data as they were not being displayed correctly on my screen.
It is often important, especially when dealing with databases and such, that files are stored in the correct character set. Failure to do so can result in illegible displays or even data corruption. Checking the character set of a file in Linux can be accomplished using the
Jubal@Stranger:$ file migrate1.csv
migrate1.csv: Little-endian UTF-16 Unicode English text, with CRLF, LF line terminators
Jubal@Stranger:$ file migrate2.csv
Earlier today, I was banging my head against the wall trying to import some data in a CSV file into MySQL. While my imports have gone well thus far, this time around I was dealing with data involving lots of strange diacritics, runic squiggles and other manners of gibberish that make the world as fun as it can be. In other words, I was dealing with Unicode.
I'm not sure whether it was something I did, something that the Vim developers did, or an anomaly with the Windows 7 binary, but I could no longer see the line number and cursor position tracker in the bottom right of my interface. Looking at the menus, I could find nothing. I could turn on a line number prefix for each bleeding line, but this is not what I was after.
One of my local servers died a quiet death last week. Much as I tried to revive the li'l bitch, she refused to accede to my plaintive entreaties. She is now consigned to a forlorn corner and I am yet to see to her last rites. In the meantime, I have recently introduced a new addition to my family of servers through the cannibalisation of older (and now retired) members of the same. So, I settled on trying to see if I could save the soul of my now recently defunct Kubuntu box by simply transferring its hard drive to this new server. When I tried to do so, this is what transpired:
Even when compared to the simplicity of Windows 7's shutdown function, Linux goes a step further in flexibility and ease of use. Shutting down a system at 8 AM in Linux is as easy as saying
shutdown 8:00 in a terminal. To explicitly state that the system should power down after shutting down, we would expand it to
shutdown -h 8:00. Alternatively, if we want to perform a reboot, the switch would change to
shutdown -r 8:00.
Some people like to indent their code using TABs. I used to like doing this. I still think that it's a good idea. But circumstances have dictated for the past several years that I need to indent using spaces instead. My favourite command-line editor in Linux and text editor in Windows is VIM / Gvim (where Gvim is basically Vim with a GUI). To configure this editor to override its default and use spaces instead of TABs for indentation, perform the following steps:
I've previously written a short tip on how to perform batch rename operations using
xargs. One of the issues with xargs is that it breaks down when dealing with filenames which include spaces as it assumes that each word in the filename is a separate argument.
So, if you, like me, have to resort to PuTTY sometimes to SSH into a Linux box, I'm sure that you have also subjected yourself to much gnashing of teeth at the lack of a Windows solution to password-less logins into your server. For the uninitiated, password-less SSH allows you to log into a server without manually authenticating yourself.
Finding all the members of a group is an occasional requirement and while there are a number of ways to do this by parsing the
/etc/password files, Debian/Ubuntu come with a simpler solution that performs all this skulduggery for you. This is the
members function that can simply be installed using
sudo apt-get install members . Once this is done, members of a group named
foo can be listed using: