Common UNIX Commands

See Also

After you have Command Line access to the Linux server, you can use these helpful commands:

For more complete information on most command, you can refer to the online manual by typing man [command] at the UNIX prompt. Some commands you can type [command] --help or [command] -?

Note, when we specify something in brackets like so: [filename] that is to indicate that you type in a filename or whatever. Do not include the brackets in your command.

Navigating UNIX:
/      (refers to the root directory on the server)
./   (the current directory that you are in)
../  (parent directory of your current directory)
pwd (shows what you current directory is - giving the full path)
ls                    (lists all the files in your current directory)
ls -al                (lists filenames + information)
ls -alR               (lists filenames + information in all subdirectories)
ls -alR | more        (lists filenames + information in all subdirectories,
                          pausing when the screen become full)
ls -alR > result.txt  (lists filenames + information in all subdirectories,
                          and outputs the results to a file instead of the screen)
ls *.html             (lists all files ending with .html)
ls -al /home/usr/bob/ (lists files + info for /home/usr/bob)
cd                    (changes you to a new directory)
cd images
cd /                  (changes you to the root directory)
cd /home/usr/images
cd ..                 (this goes back one directory)
Moving, Copying and Deleting Files:
mv [old name] [new name]      (move/rename a file)
cp [filename] [new filename]  (copy a file)
rm [filename]                 (delete a file)
rm *                          (delete all files in your current directory)
rm *.html                     (delete all files ending in .html
                                  in your current directory)
Creating, Moving, Copying and 
Deleting Directories:
mkdir [directoryname]           (creates a new directory)
ls -d */                        (lists all directories within current directory)
cp -r [directoryname] [new directoryname] (copy a directory and all 
                                          files/directories in it)
rmdir [directoryname]           (remove a directory if it is empty)
rm -r [directoryname]           (remove a directory and all files in it)
Searching Files and Directories
find / -name [filename] -print (search the whole server for a file)
find . -name [filename] -print (search for a file starting with
                                   the current directory)
find / -name [directoryname] - type d -print
                                  (search the whole server for a directory)
grep [text] [filename]         (search for text within a file)
sed s/[oldtext]/[newtext]/g [filename]  (searches file and replaces all occurrences
                                         of [oldtext] with [newtext]
File and Directory Permissions
There are three levels of file permission: read, write and execute.  In
addition, there are three groups to which you can assign permission,
The file owner, the user group, and everyone.  The command chmod followed
by three numbers is used to change permissons.  The first number is
the permission for the owner, the second for the group and the third
for everyone.  Here are how the levels of permission translate:
   0 = ---  (no permission)
   1 = --x  (execute only)
   2 = -w-  (write only)
   3 = -wx  (write and execute)
   4 = r--  (read only)
   5 = r-x  (read and execute)
   6 = rw-  (read and write)
   7 = rwx  (read, write and execute)
I prefer that the group always have permission of 0.  This prevents other
users on the server from browsing files via Telnet and FTP.  Here are the
most common file permissions used:

Use chmod -R [directory] to change entire directory permissions
  chmod 604 [filename]      (minimum permission for www HTML file)   chmod 705 [directoryname] (minimum permission for www directories)   chmod 705 [filename]      (minimum permission for www scripts & programs)   chmod 606 [filename]      (permission for datafiles used by www scripts)   chmod 703 [directoryname] (write-only permission for public FTP uploading)
   chmod 755 [directoryname or filename] (for scripts)

See Also