Useful Unix Commands : Cheatsheet : copied for reference

Here are almost all of the unix commands that come with unix installation.

Help on any Unix command. RTFM!

man {command} Type man ls to read the manual for the ls command.
man {command} > {filename} Redirect help to a file to download.
whatis {command} Give short description of command. (Not on RAIN?)
apropos {keyword} Search for all Unix commands that match keyword, eg apropos file. (Not on RAIN?)

List a directory

ls {path} It’s ok to combine attributes, eg ls -laF gets a long listing of all files with types.
ls {path_1} {path_2} List both {path_1} and {path_2}.
ls -l {path} Long listing, with date, size and permisions.
ls -a {path} Show all files, including important .dot files that don’t otherwise show.
ls -F {path} Show type of each file. “/” = directory, “*” = executable.
ls -R {path} Recursive listing, with all subdirs.
ls {path} > {filename} Redirect directory to a file.
ls {path} | more Show listing one screen at a time.
dir {path} Useful alias for DOS people, or use with ncftp.

Change to directory

cd {dirname} There must be a space between.
cd ~ Go back to home directory, useful if you’re lost.
cd .. Go back one directory.
cdup Useful alias, like “cd ..”, or use with ncftp.

Make a new directory

mkdir {dirname}

Remove a directory

rmdir {dirname} Only works if {dirname} is empty.
rm -r {dirname} Remove all files and subdirs. Careful!

Print working directory

pwd Show where you are as full path. Useful if you’re lost or exploring.

Copy a file or directory

cp {file1} {file2}
cp -r {dir1} {dir2} Recursive, copy directory and all subdirs.
cat {newfile} >> {oldfile} Append newfile to end of oldfile.

Move (or rename) a file

mv {oldfile} {newfile} Moving a file and renaming it are the same thing.
mv {oldname} {newname}

Delete a file

rm {filespec} ? and * wildcards work like DOS should. “?” is any character; “*” is any string of characters.
ls {filespec}
rm {filespec}
Good strategy: first list a group to make sure it’s what’s you think…
…then delete it all at once.

Download with zmodem

(Use sx with xmodem.)
sz [-a|b] {filename} -a = ascii, -b = binary. Use binary for everything. (It’s the default?)
sz *.zip Handy after downloading with FTP. Go talk to your spouse while it does it’s stuff.

Upload with zmodem

(Use rx with xmodem.)
rz [-a|b] (filename} Give rz command in Unix, THEN start upload at home. Works fine with multiple files.

View a text file

more {filename} View file one screen at a time.
less {filename} Like more, with extra features.
cat {filename} View file, but it scrolls.
cat {filename} | more View file one screen at a time.
page {filename} Very handy with ncftp.
pico {filename} Use text editor and don’t save.

Edit a text file.

pico {filename} The same editor PINE uses, so you already know it. vi and emacs are also available.

Create a text file.

cat > {filename} Enter your text (multiple lines with enter are ok) and press control-d to save.
pico {filename} Create some text and save it.

Compare two files

diff {file1} {file2} Show the differences.
sdiff {file1} {file2} Show files side by side.

Other text commands

grep '{pattern}' {file} Find regular expression in file.
sort {file1} > {file2} Sort file1 and save as file2.
sort -o {file} {file} Replace file with sorted version.
spell {file} Display misspelled words.
wc {file} Count words in file.

Find files on system

find {filespec} Works with wildcards. Handy for snooping.
find {filespec} > {filename} Redirect find list to file. Can be big!

Make an Alias

alias {name} '{command}' Put the command in ‘single quotes’. More useful in your .cshrc file.

Wildcards and Shortcuts

* Match any string of characters, eg page* gets page1, page10, and page.txt.
? Match any single character, eg page? gets page1 and page2, but not page10.
[...] Match any characters in a range, eg page[1-3] gets page1, page2, and page3.
~ Short for your home directory, eg cd ~ will take you home, and rm -r ~ will destroy it.
. The current directory.
.. One directory up the tree, eg ls ...

Pipes and Redirection

(You pipe a command to another command, and redirect it to a file.)
{command} > {file} Redirect output to a file, eg ls > list.txt writes directory to file.
{command} >> {file} Append output to an existing file, eg cat update >> archive adds update to end of archive.
{command} < {file} Get input from a file, eg sort < file.txt
{command} < {file1} > {file2} Get input from file1, and write to file2, eg sort < old.txt > new.txt sorts old.txt and saves as new.txt.
{command} | {command} Pipe one command to another, eg ls | more gets directory and sends it to more to show it one page at a time.

Permissions, important and tricky!

Unix permissions concern who can read a file or directory, write to it, and execute it. Permissions are granted or withheld with a magic 3-digit number. The three digits correspond to the owner (you); the group (?); and the world (everyone else).Think of each digit as a sum:

execute permission = 1
write permission = 2
write and execute (1+2) = 3
read permission = 4
read and execute (4+1) = 5
read and write (4+2) = 6
read, write and execute (4+2+1) = 7
Add the number value of the permissions you want to grant each group to make a three digit number, one digit each for the owner, the group, and the world. Here are some useful combinations. Try to figure them out!
chmod 600 {filespec} You can read and write; the world can’t. Good for files.
chmod 700 {filespec} You can read, write, and execute; the world can’t. Good for scripts.
chmod 644 {filespec} You can read and write; the world can only read. Good for web pages.
chmod 755 {filespec} You can read, write, and execute; the world can read and execute. Good for programs you want to share, and your public_html directory.

Permissions, another way

You can also change file permissions with letters:

u = user (yourself) g = group a = everyone
r = read w = write x = execute
chmod u+rw {filespec} Give yourself read and write permission
chmod u+x {filespec} Give yourself execute permission.
chmod a+rw {filespec} Give read and write permission to everyone.

Applications I use

finger {userid} Find out what someone’s up to.
gopher Gopher.
irc IRC, but not available on RAIN.
lynx Text-based Web browser, fast and lean.
ncftp Better FTP.
pico {filename} Easy text editor, but limited. vi and emacs are available.
pine Email.
telnet {host} Start Telnet session to another host.
tin Usenet.
uudecode {filename}
uuencode {filename}
Do it on the server to reduce download size about 1/3.
ytalk {userid} Chat with someone else online, eg ytalk mkummel. Please use w first so you don’t interrupt a big download!

System info

date Show date and time.
df Check system disk capacity.
du Check your disk usage and show bytes in each directory.
more /etc/motd Read message of the day, “motd” is a useful alias..
printenv Show all environmental variables (in C-shell% – use set in Korn shell$).
quota -v Check your total disk use.
uptime Find out system load.
w Who’s online and what are they doing?



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s