My last note was a bit negative, so I’d do better to offer something a little more positive this time — probably the coolest utilities that I have found thus far, in my short Linux experience.
I wouldn’t call these “applications” — I put those into a different bracket mentally. These are small-scale, usually console-driven programs or tools that were a joy to discover and changed the way I used my machines.
- nfs. One of the things that always impressed me about nfs was it’s simplicity: Attach a folder on a networked machine to another, and browse through it like it’s part of the natural structure. No need for complex cryptic sign-ins, esoteric networking protocols or funky intermediaries. One adjustment to your fstab file and you can make a file server or a torrent client available to anyone (or only certain ones) on the network. I discovered this shortly after picking up Linux, and use it on a daily basis, more or less. It’s too quick and convenient … and cool.
- rsync. For me, rsync was a little intimidating at first, but once I got the hang of it, it was an amazing improvement on the standard copy commands. Here’s a tool that can sense if a file needs to be copied, along with a huge list of other criteria, and then mirrors the contents from one location to another. It can even jettison the stuff that doesn’t “belong” there, making it an impressive tool for deletion too. And best of all, it does this at a speed that apparently outstrips the ordinary cp command. Not to be ignored.
- openssh. The first time I used ssh I was struck at how simple and cool it was to be able to connect to a machine on the other side of the house, and control it seamlessly. Again, no funky logins or twisted protocols that needed disentangling. It worked perfectly the first time and every time thereafter, in my experience. Want to adjust something running on a file server? This is the ticket. Want to get a system profile on a sluggish torrent slave? This will allow you to troubleshoot and fix at a distance. A big gold smilie for this one.
- screen. I took my time getting to know screen, and I probably should have made the move quicker. But I’m a huge fan now, and it’s all the more powerful when combined with some of these other tools — most notably openssh, really … detach and reattach to a remote screen session, and you have all the flexibility and function you could want from a console-driven system. Combine it with some amazing “window management” capabilities, and screen is a clear hero.
I have one “honorable mention,” just because it doesn’t really fit into the group above.
- The double-greater-than (>>) mark. Maybe it’s just because I came from the 8-bit generation, and maybe it’s just because I find it fun, but I absolutely love being able to just funnel the output from one command to the end of a file or document. I can’t really explain why it’s so appealing, but it’s so convenient and useful that, like the stuff above, I find myself relying on it a lot … maybe even using it when a different tool would be better. No harm in that, I suppose.
That’s probably enough for now. I wouldn’t have thought that three out of my four (five?) favorites would be network based, but that’s the way things turned out. In any case, if there’s something here you haven’t tried yet, I strongly recommend taking a little time to learn more.