FutureQuest, Inc. FutureQuest, Inc. FutureQuest, Inc.
Knowledgebase: telnet/SSH
Common Unix/Linux Commands Used Via SSH
Posted on 24 October 2003 06:33 PM
When you type the Command shown, the Action described is what should happen. (Italicized portions replaced with your specific information, of course.)
Command Action
Basic Navigation
cd When typed by itself, cd ("change directory"), will take you back to your $HOME directory (on FutureQuest, your home directory is /big/dom/xdom/username).
cd /path/to/directory To change to a specific directory, type cd followed by the path to the directory. If it is a subdirectory of the current directory, you can just type the directory name--for example, when in your account's root directory (/big/dom/xdomain), you can just type cd cgi-bin to go to your cgi-bin.
cd .. Typing cd .. moves you up one directory from your current location.
pwd To see which directory you are in, type pwd ("print (display) working directory").
exit Just as it sounds, use exit to log out. Alternatively, you can type logout or just press the "d" key while holding down the Ctrl key.
Creating and Deleting Directories
mkdir directoryname To create a new directory, type mkdir ("make directory") and specify the new directory's name.
rmdir directoryname To delete an empty directory, type rmdir ("remove directory") and the directory's name.
Listing Files
ls To display a list of files and subdirectories in your current directory, type ls ("list")
ls -a To see a more complete list which includes files that begin with a "." (dot), type ls -a.
ls -la To list all files and directories in long format which will provide details about each file and directory, type ls -la.
ls -lS To list all directories and files, sorted by size, in long format, type ls -lS.
ls -lta To list all files and directories in long format by time modified, type ls -lta.
Copying Files
cp oldfilename newfilename Will copy the contents of one file to another file, resulting in two copies of the same file on your account.
cp directory/* destinationdirectory Will copy the contents of one directory to another directory. Make sure you have created the destination directory before trying to copy files to it - see mkdir above. Results in two copies of the files on your account; one copy in the existing directory and another in the destination directory.
Searching Files and Directories
find -name 'n*' The find command can be used to locate files or a group of files. It can also be used to display directories. The example given will find all file and directory names within the current directory and subdirectories of it that begin with the letter n. (You can also explore using the locate command - type info locate and/or man locate for usage information.)
grep -inw text filename Can be used to locate text in a specific file or directory of files (use * in place of filename to search all of the files in the current directory). The -i argument indicates the search is to disregard cASe, the -n instructs to show the corresponding line number, and -w tells it to match only based on the whole word. (This doesn't even begin to touch on the power of grep and its many uses. In addition to its searching capability, the grep command can be used in combination with other commands to act as a filter. It also allows the use of "wildcards". Two other variations of grep are also available, egrep and fgrep. To begin your quest for more information, type man grep and/or info grep.)
Displaying/Comparing File Content
wc filename Counts and displays the number of lines, number of words, and number of characters of the given file.
cat filename Displays the entire contents of a file.
nl filename Shows the content of the file, including line numbers (nl=number lines).
more filename Displays the contents of a file one screen at a time. Press the SPACEBAR to display the next screen of text.
cmp filename1 filename2 Compares the contents of the two named files and reports the first different character found and the line number.
diff filename1 filename2 Compares the contents of the two named files and reports all of the differences found. (Can also be used for comparing the contents of two directories.)
Moving, Renaming, and Deleting Files
mv oldfilename newfilename Can be used to rename a file (mv fileA fileB), move a file (mv fileA /dirA/), or both (mv fileA /dirB/fileB).
rm -i filename Removes (deletes) the specified file. (The -i is not necessary, but is recommended as it will prompt you to confirm the action first. When prompted, type y to confirm or type n if you changed your mind.)
Changing Permissions
chmod permissions filename Changes the permissions on a filename or directory as specified. See this guide for further information on change mode.
Archives and Compression
tar -cvf filename.tar directoryname To archive a directory and all of its contents including subdirectories, navigate to where the directory is located and type the above command, replacing filename.tar with the name you wish to give the archive file and directoryname with the name of the directory you wish to archive. Alternatively, you can archive a select group of individual files (or directories) by specifying each file name in place of directoryname separated by spaces, like tar -cvf filename.tar fileA fileB fileC. Note: When creating a tar file (aka "tarball") be sure to specify the name you wish to give the tar file! (TAR indicates Tape ARchive, as it was originally a tape archiving program. The -c means "create", v means "verbose" (which basically says tell me what you're doing), and the f indicates that a filename will follow (filename.tar).)
tar -tvf filename.tar Typing this command will result in a list of the contents of the tar file. This is generally a good thing to do before unpacking the tar to be sure that there are no matching filenames which will result in files being unintentionally overwritten.
tar -xvf filename.tar You can see the similarities to the command used to tar the file. This time, though, you use -x to "extract" instead of the -c used to create. You can also extract only certain select files (or directories) by specifying the individual names, separated by spaces, after the tar filename, such as
tar -xvf filename.tar fileA fileC
gzip filename.tar This utility, gzip (gnu zip), is used for compression. Normally, when you wish to compress a set of files, you will tar them first then compress them using this command. In doing so, the filename will automatically change from filename.tar to filename.tar.gz (appending .gz to the file extension).
gunzip filename.tar.gz This command (g"unzip") is used to uncompress a .tar.gz file, which will also result in the filename being changed back to filename.tar. Once it has been uncompressed, you can then untar it using the tar command above. (Alternatively, you can use gzip -d (for "decompress") in place of gunzip.)
tar -czvf filename.tgz directoryname This command, which uses a z switch ("zip"), allows you to take a bit of a shortcut instead of using the tar and gzip commands separately. The example will result in a compressed archive named filename.tgz.
tar -xzvf filename.tgz This command is used to uncompress and extract the files from a .tgz archive.
Another compression utility is bzip2/bunzip2. See the man or info page for more details.
Miscellaneous Commands
man command To view the online manual for a command in order to find out more about its usage, just type man and the command. For example, typing man ls will show the usage documentation for the ls command including arguments (options) that can be used with it. To exit the documentation, type q (for quit). (See also info.)
info command Similar to the man command, info provides information on a command but in a different format and often more detailed. (You can also view the help pages of a command by typing command --help (replace "command" with the actual command. For example, ls --help will provide help on the ls command.)
whatis command A quick way of getting information on what a specific command does. For example, typing whatis ls will tell you that its job is to list directory contents.
whereis command Used to locate the binary, source, and manual page files for specified commands/files. For an example, type whereis perl.
which command Shows the full path of the command. For an example, type which perl.

This is by no means an exhaustive list of the commands and their options, however it should serve to get you started. Many other things are possible via the command line and for additional guidance in this area, along with consulting the man and help pages, we would recommend visiting the FutureQuest Community Forums: