Information on Basic UNIX Commands
The most important UNIX commands needed in this course are:
pwd ................ prints the name of the current working directory. cd ................. changes the directory; when given without any arguments, the shell moves to the users home directory. In order to change to a specific directory, the full pathname must be given e.g. cd /usr/local/bin changes to the directory /usr/local/bin. Moving up one directory can be done more easily by using cd .. du ................. calculates the size of the current directory. If used with the -k modifier, the directory size is given in units of 1K. On some systems this is the default, on others the size is still given in units of 512-byte blocks. On most systems the -h modifier is also supported giving the sizes of the mounted volumes in "human readable" units such as MB, GB, or TB. mkdir name ......... creates directory name as a subdirectory of the current working directory. rmdir name ......... removes directory name. This only works if there are no files left in directory name. df ................. shows all volumes mounted on the system together with the current usage. If used with the -k modifier, the usage information is given in units of 1K. On some systems this is the default, on others the size is given in units of 512-byte blocks. On most systems the -h modifier is also supported giving the sizes of the mounted volumes in "human readable" units such as MB, GB, or TB. ls ................. list all files as well as subdirectories of a directory in alphabetical order using the -l modifier gives a more informative listing, one file per line. The command can be combined with search strings in order to produce partial listings. For example ls test*.com will list all files starting with the string test and ending on .com. cp file1 file2 ..... copies file1 to file2. mv file1 file2 ..... changes the name of file1 to file2. rm file1 ........... removes file file1. This only works if file file1 is owned by the user or if the user has write permission for this file. One helpful variant is rm -i which prompts the user to confirm deletion of a file. more file1 ......... displays the content of file1 page by page. This only makes sense for text files, of course, and also works for output files that are too large to be loaded into an text editor. grep string1 file2 search for string1 in file file2. The command grep "B3LYP" test*.log will search for string B3LYP in all files starting with test and ending with .log Please observe that UNIX is case sensitive (e.g. "B3LYP" is different from "b3lyp"). In case the search string occurs repeatedly in one file, all occurences are listed. This can be used efficiently to follow the progress of, for example, geometry optimizations by searching for a string that reappears in the output file for each optimization cycle. The strings "SCF" or "RMS Force" (observe the blanks!) will, for example, be helpful in many optimizations done with Gaussian 98. For searching binary files, use grep -a. tail file1 ......... shows the last few lines of file file1. tail -50 file1 gives the last 50 lines of file1. Output files of calculations that are currently running can most easily be followed by tail -f file1, file1 being the name of the output file. gzip file1 ......... compress file1 using the gzip program. Upon compression a new (compressed) file file1.gz will be generated. Decompression is possible using either gunzip file1.gz or gzip -d file1.gz. compress file1 ..... compress file1 using the standard UNIX compression command. Upon compression a new (compressed) file file1.Z will be generated. Decompression of the latter is possible with the uncompress file1.Z command. ps ................. shows processes running on the system. Use of the -f or -l modifiers produces a longer listing containing more information. Use of the -e modifier gives information on processes of all users. Unfortunately, the exact format and meaning of the modifiers depends substantially on the particular UNIX version used. Using Red Hat LINUX 7.x, ps -ef will give all the required information. ssh host1 .......... connects to host1 for an interactive session. This command is preferred over the older, insecure telnet command. sftp host1 ......... connects to host1 for a file transfer session. This commmand is preferred over the older, insecure ftp commmand. logout or exit ..... terminate a shell (window). passwd ............. change your password. who ................ shows who is logged into the local system.
Several UNIX commands can effectively be combined through the pipe symbol |. The command ps -ef | grep "g03" for example will show you how many processes connected to Gaussian (short: g03) are currently running on your system.
Information on UNIX commands can also be obtained using the standard UNIX manual pages. In order to get information on, for example, the mkdir command, simply type man mkdir.
A short list of the most important UNIX commands can also be found here.