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 ls
hitq
to exit the man page. - cd - change directory, example:
cd /etc/
- ls - list directory, similar to
dir
on windows. example:ls /etc
, usels -l /etc
to see more detail - cp - copy a file or directory, example:
cp source dest
if you want to copy a directory use the-R
option for recursive:cp -R /source /dest
- mv - move a file, example:
mv source dest
- rm - remove a file, example:
rm somefile
to 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/messages
pressq
to exit before getting to the bottom. You can also pipe to more| more
from 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
.tar
file, the files are often compressed with the gzip algorithm, and use the.tar.gz
extension. to create a tartar -cf archive.tar /directory
, then to extract the archive to the current directory runtar -xf archive.tar
to use gzip, just add az
to the options, to create a tar.gz:tar -czf archive.tar.gz /dir
to 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/messages
if you need see more lines, use the-n
option,tail -n 50 /var/log/messages
you can also use the-f
option, 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 file
to edit a line pressEsc i
then 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?
Comments (0)
Post a Comment