Wednesday, November 26, 2008

Terminal Commands (Introduction) Part 1

Introduction to *nix Commands

ls [folder] - lists the content of current folder unless another folder is passed as an argument

cd [folder] - changes directory to supplied folder. Other arguments can be "~" (home folder of user running command) and ".." (move up one directory), both these must be entered without the quotes.

man [command] - will display the manual page for any command supplied that offers manual pages. Will offer in-depth explanation of every flag and argument possible with the supplied command.

rm [flags] [directory or filename] - Commonly used to delete files or folders. To delete a non-empty folder the -r (recursive) flag must be supplied.

su [username] - switches user to supplied username. If no username is supplied it will default to root.

sudo [command] - runs the supplied command as super user (sudo = super user do). This will require a password for an admin account, however, it will cache (store) the password for a short time after the first use. This cached password will not be available anywhere but the original terminal shell in which it was first supplied.

locate [term] - is used to locate files that contain the term supplied. Requires "sudo updatedb" to be run to update the locate database.

grep [term] - program that will search supplied input for term supplied (is often used with piped [see below for explanation] input)

cp [flag] [file] [destination] - copies specified file to destination (or directory if the -R (recursive) flag is supplied)

ln -s [original location] [symbolic link] - creates a symbolic link (such as a shortcut in windows) to files, folders, or programs.

echo [content] - used to echo content (enclosed within quotation marks) to the screen, can be diverted to a file using the ">>" characters and then the path to the file, including the file name. (e.g. echo "test123">>Desktop/test123.txt)

cat [filename] - used to output the content of the file to the terminal (again, can be diverted to a file or to the grep command using aforementioned methods).

mkdir [directory name] - Creates a new directory in the current folder, unless a full file path is supplied for the new directory.

pwd - Is a command that prints the working directory (e.g. if you run it in /home/username/ it will return /home/username/)

Programs are usually installed to either /bin/ or /usr/bin, and almost all programs offer manpages, allowing you to use any program you need to just by knowing ls and man. These commands should exist in all *nix environments (mac, linux, unix), however, there may be slight alterations to how they must be entered.


1. A pipe is the character "|" and is used to divert output of a previous command into yet another command (e.g. 'ls|grep "home"')

Tuesday, November 25, 2008

There is life out there...

Hey to anyone who's still reading this blog,

I haven't been posting much lately because I've been busy with school and personal issues, but I have decided to start a series on terminal commands, useful hints, advanced terminal uses, etc. Anyone is free to comment on this post and offer ideas of terminal uses they think should be covered, or any thing they would like to learn/want to see if it is possible.

I have one PDF written up of basic terminal commands (general starter guide really) and will post it into a new article on this blog in the next few days. Any suggestions for guides can be expressed in comments on this article (I would prefer the guide's comments stay on-topic).

Thanks in advance to anyone still reading,
Lswest