Learning UNIX is a seemingly daunting task, there are thousands of commands out there, each with hundreds of options. But in reality you only need to know a few of them.
I use unix quite a bit, usually either on one of our Linux servers, or on my Powerbook with OS X. And these are the 15 commands that I use most. If you can memorize these 15 commands, you can do quite a bit on a unix operating system, and add unix as a skill on your resume.
The 15 Most Important UNIX commands
- man - show manual for a command, example: man lshitqto exit the man page.
- cd - change directory, example: cd /etc/
- ls - list directory, similar to diron windows. example:ls /etc, usels -l /etcto see more detail
- cp - copy a file or directory, example: cp source destif you want to copy a directory use the-Roption for recursive:cp -R /source /dest
- mv - move a file, example: mv source dest
- rm - remove a file, example: rm somefileto remove a directory you may need the -R option, you can also use the -f option which tells it not to confirm each file:rm -Rf /dir
- cat - concatenate, or output a file cat /var/log/messages
- more - outputs one page of a file and pauses. example: more /var/log/messagespressqto exit before getting to the bottom. You can also pipe to more| morefrom other commands, for examplels -l /etc | more
- scp - secure copy, copies a file over SSH to another server. example: scp /local/file user@host.com:/path/to/save/file
- tar - tape archiver, tar takes a bunch of files, and munges them into one .tarfile, the files are often compressed with the gzip algorithm, and use the.tar.gzextension. to create a tartar -cf archive.tar /directory, then to extract the archive to the current directory runtar -xf archive.tarto use gzip, just add azto the options, to create a tar.gz:tar -czf archive.tar.gz /dirto extract ittar -xzf archive.tar.gz
- grep - pattern matcher, grep takes a regular expression, or to match a simple string you can use fast grep, fgrep failure /var/log/messages, I'm usually just looking for a simple pattern so I tend to use fgrep more than regular grep.
- find - lists files and directories recursively on a single line, I usually pipe grep into the mix when I use find, eg: find / | fgrep log
- tail - prints the last few lines of a file, this is handy for checking log files tail /var/log/messagesif you need see more lines, use the-noption,tail -n 50 /var/log/messagesyou can also use the-foption, which will continuously show you the end of the file as things are added to it (very handy for watching logs)tail -f /var/log/messages
- head - same as tail, but shows the first few lines the file
- vi - text editor, there are several text editors such as emacs, and nano, but vi is usually installed on any server so its a good one to learn. To edit a file type vi fileto edit a line pressEsc ithen to save changes and exit useEsc wq, or to quit without saving useEsc q!. There are a million other commands, but that will enable you to edit files at a basic level.
Once you learn these commands, and are comfortable with them, you shouldn't stop there, there are lots of other commands that can make your life easier.
Did I miss any commands that you think are essential to using a UNIX based operating system?
Read More





