====== Basic Unix Commands ====== Unix has a lot of useful commands. If you want to find out more information about any of these commands, use the ''man'' command, which stands for //manual//. For example, to find out more about the ''ls'' command, use > man ls ===== Directory Access/Manipulation ===== ^ Command ^ Meaning ^ | ''cd '' | change directory | | ''ls []'' | list the contents of the directory, current directory if no directory is given | | ''mkdir '' | create a directory | | ''rmdir '' | delete a directory; only works if the directory is empty | | ''pwd'' | to see the Present Working Directory (the directory that you're currently in) | ''ls'' has a lot of optional command-line arguments: ^ Command-line Argument ^ Meaning ^ | ''-l'' | a long listing of the files | | ''-r'' | reverse order | | ''-t'' | sort by creation time | Example: ''ls -lrt'' lists the files in the current directory by creation time, from most recent to least recent, and lists all the information about the files ===== File Manipulation ===== ==== Copy Files and Directories ==== To make a copy of a file (''source'') and name it ''destination'': cp For example cp myfile.txt myfilecopy.txt To copy a directory and its contents, use the ''-r'' option. ''-r'' means //recursively//. For example, cp -r my_src_directory destination_directory ==== Move or Rename Files ==== Use the ''mv'' command to move or rename files: * ''mv '' If the destination is a directory, then the file(s) are moved into that directory. For example, to rename ''myfile.txt'' to ''newname.txt'', run mv myfile.txt newname.txt ==== Delete Files ==== * ''rm '' - deletes ''file'' ==== View contents of Files ==== * To view the contents of a file, you can use ''cat'', ''less'', or ''more''. Examples: cat more less ===== Short Cuts ===== * ~ - your home directory. Example use to go into your home directory: cd ~ * . - the current directory * .. - the parent directory * * - wildcard, matches anything. Example use to list all the java files in a directory: ls -l *.java ===== Finding Files ===== The ''find'' command is very useful and powerful. Example use: find . -name "*.java" The above command finds all the files that end with .java in the current directory and its subdirectories. ===== Finding Files Containing Text ===== Use the ''grep'' command to find files that contain particular text. For example, to find all the Java files that contain the text ''main''. grep main *.java ''grep'' stands for Gnu Regular Expressions, so you can also search for regular expressions in files. ===== Printing Files ===== To print from the command-line, you can use the ''lpr'' command. **Do not try to print PDF files or images this way.** The syntax of the print command is lpr -P filename For example: lpr -Pcslab test.py The printer name is ''cslab'' when you're in P405 or ''advlab'' if you're in P413. The command ''lpr'' means to print the file. The option 'P' says which printer to use (one of the CS lab printers), and the argument says which file to print--in this case ''test.py''. ===== Creating Printable Files ===== To create a condensed, printable file of your lab, use the ''printLab.sh'' command. The syntax of the command is printLab.sh For example, if you're in your ''labs'' directory, to print lab1, you'd write printLab.sh lab1 ===== Changing Your Password ===== To change your password, use the ''passwd'' command. An example run will look something like: > passwd Changing password for username. Old Password: New Password: Retype new password: passwd: all authentication tokens updated successfully. Note that what you type for the passwords does not show up on the screen for your security.