Linux Shell Commands
The following is a list of Linux shell commands that you might find helpful when modifying your web sites on the server.
Most UNIX commands have many options and parameters which are not listed here. For more complete information on using UNIX commands, you can refer to the online manual by typing man [command] at the UNIX prompt, where “[command]” represents the command you would like more information about.
Other UNIX help commands you can type are [command] -? and [command] –help. Example: man ls
This would bring up the help documentation for the “LS” command.
Note: When something is specified in brackets, such as [command] or [filename], it is used to indicate that you must input your desired information here. Do NOT include brackets in your command.
Navigating in UNIX
pwd | Shows the full path of the current directory |
ls | Lists all the files in the current directory |
ls -al | Lists all files and information |
ls –alR | Lists all files and information in all subdirectories |
ls -alR | more | Same as ls –alR, pausing when screen becomes full |
ls -alR > filename.txt | Same as ls –alR, outputs the results to a file |
ls *.html | Lists all files ending with .html |
cd [directory name] | Changes to a new directory |
cd .. | Changes to directory above current one |
clear | Clears the screen |
vdir | Gives a more detailed listing than the “ls” command |
exit | Log off your shell |
Moving, Copying and Deleting Files
mv [old filename] [new filename] | Move/rename a file |
cp [filename] [new filename] | Copies a file |
rm [filename] | Deletes a file |
rm * | Deletes all files in current directory |
rm *.html | Deletes all files ending in .html |
Creating, Moving, Copying and Deleting Directories
mkdir [directory name] | Creates a new directory |
ls -d */ | Lists all directories within current directory |
cp -r [directory] [new directory] | Copies a directory and all files/directories in it |
Searching Files and Directories
find . -name [filename] -print | Searches for a file starting with current directory |
grep [text] [filename] | Searches for text within a file |
File and Directory Permissions
There are three levels of file permissions: read, write and execute. In addition, there are three groups to which you can assign permissions: file owner, user group and everyone. The command chmod followed by three numbers is used to change permissions. 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 |
It is preferred 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:
chmod 604 [filename] | Minimum permissions for HTML file |
chmod 705 [directory name] | Minimum permissions for directories |
chmod 755 [filename] | Minimum permissions for scripts & programs |
chmod 606 [filename] | Permissions for data files used by scripts |
chmod 703 [directory name] | Write-only permissions for public FTP uploading |