CSC 102 UNIX Basics
Command | Description |
cp source_file target_file
cp source_file ... target_directory cp _rp source_directory target_directory |
Copy files or directories. The first form copies the single source_file
to the target_file. If the target exists, it is overwritten. If the
target does not exist, it is created.
The second form of cp copies one or more source_files into the target_directory. The target must exist. The third form recursively copies an entire source_directory hierarchy to the target_directory. If the target exists, the source is copied into it. If the target does not exist, it is created. |
mv source target |
Move the source file or directory to the target file or directory. If source is a file, target cannot be an existing directory. |
ln -s source_file target |
Create a symbolic link, i.e., an alias or short cut, from the source_file to the target. If the target is a file, it cannot exist. If the target is a directory, a file of same name as source_file cannot exist. |
mkdir name |
Make a directory of the given name. A file or directory of the given name cannot exist. |
rm file ... rm -r directory rmdir directory |
Remove files or directories. The first form removes one or more file(s). The second form recursively removes an entire directory hierarchy. The third form removes an empty directory. |
cd directory |
Change the current working directory to the given directory. |
pwd |
Print the current working directory. |
chmod permissions file ... chmod -R permissions directory |
Change the permissions mode of the given file(s) to the given permissions. The first form changes one or more files. The second form recursively changes all files in the given directory. The permissions argument is an octal number with values defined as follows: 0400 Allow read by owner. |
ls ls -sal |
List the contents of the current directory. The first form lists just the file names, not including files staring with ".". The second form gives a long-form listing of all files, including their sizes, modification dates, and permissions. |
man command_name |
Print the detailed manual page for the given command_name. |
javac file.java ... |
Compile the given .java file(s), putting the executable result in the file named "file.class". See the javac man page for the many options. |
java file |
Run the compiled java file named "file.class". See the java man page for the many options. |
command > output_file |
Redirect the output of command to output_file. The command can be any valid UNIX call, including a compiled Java program. E.g., sends the standard output generated by the program Hello.java to the file named "outfile".java Hello > outfile |
command < input_file |
Redirect the contents of input_file to the input of command. The command can be any valid UNIX call, including a compiled Java program. E.g., sends infile to the standard input of the ReadFromTerminal program, then sends the output to the file named "outfile".java ReadFromTerminal < infile > outfile |
command_1 | command_2 |
Pipe the output of command_1 to the input of command_2. E.g., sends the output of Hello through the simple UNIX text formating command "fmt ".Java Hello | fmt |
command | tee output_file |
"Tee" the output of command to output_file, as well as to the normal standard output stream. E.g., sends the standard output of Hello to both stdout and the file named "outfile".java Hello | tee outfile |
>& and |& |
These are forms of output redirection and piping that apply to stderr as well as stdout. E.g., redirects both the standard output and standard error of Hello to outfile. The command linejava Hello >& outfile sends both standard output and standard error of Hello to their normal streams, as well as to outfile.java Hello |& tee outfile |
In the preceding commands, file and directory arguments are specified as a path name, in one of these forms:
Here are some examples of typical commands useful in CSC 102.
Example Command | Description | ||||||
cd - or - cd ~ |
Change to your home directory. Your home directory is the default when you initially log in, so this command is only necessary when you've used cd to change to some other directory. | ||||||
mkdir csc102 |
Make a directory named "csc102". | ||||||
chmod 700 csc102 |
Change the permissions of csc102 so that no one but you can access the files. | ||||||
cd csc102 |
Change into the csc102 directory. | ||||||
cp ~gfisher/classes/102/info/unix-basics.html . |