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)