The top 5 worst mistakes on command-line
I could start off with an intro paragraph here but I’ll prefer keeping it sweet and simple: command-line is addictive.
For many kinds of tasks — ranging from system administration to organizing folders — I find CLI to be extraordinarily more productive than GUI clicking. For example, vim
-ing through a code, if I decide I need to lookup a particular symbol in the current directory, I can quickly do a recursive grep
without even taking my hands off the keyboard. Similarly, I find utilities such as mv
or cp
to be significantly faster than GUI file managers’ equivalent features. The learning curve is definitely steep and I also am not implying that everyone should find it equally productive but for me at least, it works like a charm.
It wouldn’t be an exaggeration to say that CLI provides a terrible amount of power at fingertips of its users. While that power is tremendous fun, it also can be a source of epic fails if not handled with caution. The fact of the matter is, as one grows accustomed to quickly doing work through text-based input, overlooking those cautions almost becomes second nature. It’s not uncommon to find a commandaholic holding his head in his hands while staring at the screen in disbelief. GUI does get credit for being a little more prone to accidental mistakes by consistently providing a visual view of what’s about to happen.
Moving on from the ill-starred mischief that I posted about last week, I thought I should compile a list of all time worst incidents of me cursing my fingers for being so familiar with the CLI. Here they are:
-
Ctrl-C
Sometimes, I blame Christopher Sholes for putting the
Z
andC
keys so close on the keyboard. ‘Nuff said. -
Deleting the wrong partition in
parted
(parted) help rm rm NUMBER delete partition NUMBER NUMBER is the partition number used by Linux. On MS-DOS disk labels, the primary partitions number from 1 to 4, logical partitions from 5 onwards.
If you’re wondering why deleting a partition is placed so low on the list, the answer is TestDisk. Mere seconds after I deleted my primary partition containing all my data, I stopped all activities, booted into a rescue mode and used the God-sent utility to restructure my partition table like before with a cumulative data-loss of 0%.
-
e2fsck
inge2fuck
ing a mounted file-system[root@orthanc ~]# e2fsck /dev/sda2 e2fsck 1.41.4 (27-Jan-2009) /dev/sda2 is mounted. WARNING!!! Running e2fsck on a mounted filesystem may cause SEVERE filesystem damage. Do you really want to continue (y/n)?
See that SHOUTING WARNING? I did too. But back then, I ignored it as casually as anyone ignores licensing agreements. Needless to say, the results weren’t as inconsequential as clicking “I accept” and moving on without a hint of doing something legally binding.
-
rm -rf
ing the wrong directory-f, --force ignore nonexistent files, never prompt -r, -R, --recursive remove directories and their contents recursively
If the last tool had the F-word in its title as the warning, this one should be read as
rm --recursive-f***
. The H-bomb of command-line tools, once you detonate it on a directory you didn’t mean to set it upon, evenCTRL-C
won’t be able keep you in one piece because ofrm
‘s ruthless speed and efficiency. The only ray of hope is ext3grep, but depending on numerous factors (partition structure, number of files, file types, alignment of stars etc.) your recovery prospects would range anywhere from ±100% to ±100%. You read that right. -
mkfs
ing the wrong partitionmkfs is used to build a Linux file system on a device, usually a hard disk partition. filesys is either the device name (e.g. /dev/hda1, /dev/sdb2). blocks is the number of blocks to be used for the file system.
The granddaddy of all command-line fuckups. If you have confused
/dev/sdb
for/dev/sda
(an easy slip up — as I learned the hard way), it’s time to move on. Sure, you will find people selling tools for recovering data from formatted Ext3 partitions; expecting those tools to work would be a lot like expecting the King of Pop to miraculously pop up from his coffin on Tuesday and perform a ground-breaking reenactment of 83’s Motown performance.
Tags: Command-line, Ext3, GNU, Linux, Open Source, Parted, Technology“Blessed are the forgetful; for they get the better even of their blunder.” — Friedrich Nietzsche