Tuesday, March 9, 2010

LINUX AND COMMANDS

Linux (commonly pronounced /ˈlɪnəks/ LIN-əks in American English,also pronounced /ˈlɪnʊks/ LIN-ooks in Europe and Canada) refers to the family of Unix-like computer operating systems using the Linux kernel. Linux can be installed on a wide variety of computer hardware, ranging from mobile phones, tablet computers and video game consoles, to mainframes and supercomputers. Linux is a leading server operating system, and runs the 10 fastest supercomputers in the world. Use of Linux for desktop computers has increased in recent years, partly owing to the popular Ubuntu, Fedora, and openSUSE distributions and the emergence of netbooks with pre-installed Linux systems and smartphones running embedded Linux.
The development of Linux is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed, both commercially and non-commercially, by anyone under licenses such as the GNU General Public License. Typically Linux is packaged in a format known as a Linux distribution for desktop and server use. Linux distributions include the Linux kernel and all of the supporting software required to run a complete system, such as utilities and libraries, the X Window System, the GNOME and KDE desktop environments, and the Apache HTTP Server. Commonly used applications with desktop Linux systems include the Mozilla Firefox web-browser, the OpenOffice.org office application suite and the GIMP image editor.
The name "Linux" comes from the Linux kernel, originally written in 1991 by Linus Torvalds. The main supporting user space system tools and libraries from the GNU Project (announced in 1983 by Richard Stallman) are the basis for the Free Software Foundation's preferred name GNU/Linux.





Unix

The Unix operating system was conceived and implemented in 1969 at AT&T's Bell Laboratories in the United States by Ken Thompson, Dennis Ritchie, Douglas McIlroy, and Joe Ossanna. It was first released in 1971 and was initially entirely written in assembly language, a common practice at the time. Later, in a key pioneering approach in 1973, Unix was re-written in the programming language C by Dennis Ritchie (with exceptions to the kernel and I/O). The availability of an operating system written in a high-level language allowed easier portability to different computer platforms. With a legal glitch forcing AT&T to license the operating system's source code,[clarification needed] Unix quickly grew and became widely adopted by academic institutions and businesses.



Command
Example
Description
cat
Sends file contents to standard output. This is a way to list the contents of short files to the screen. It works well with piping.
cat .bashrc
Sends the contents of the ".bashrc" file to the screen.
cd
Change directory
cd /home
Change the current working directory to /home. The '/' indicates relative to root, and no matter what directory you are in when you execute this command, the directory will be changed to "/home".
cd httpd
Change the current working directory to httpd, relative to the current location which is "/home". The full path of the new working directory is "/home/httpd".
cd ..
Move to the parent directory of the current directory. This command will make the current working directory "/home.
cd ~
Move to the user's home directory which is "/home/username". The '~' indicates the users home directory.
cp
Copy files
cp myfile yourfile
Copy the files "myfile" to the file "yourfile" in the current working directory. This command will create the file "yourfile" if it doesn't exist. It will normally overwrite it without warning if it exists.
cp -i myfile yourfile
With the "-i" option, if the file "yourfile" exists, you will be prompted before it is overwritten.
cp -i /data/myfile .
Copy the file "/data/myfile" to the current working directory and name it "myfile". Prompt before overwriting the file.
cp -dpr srcdir destdir
Copy all files from the directory "srcdir" to the directory "destdir" preserving links (-p option), file attributes (-p option), and copy recursively (-r option). With these options, a directory and all it contents can be copied to another directory.
dd
dd if=/dev/hdb1 of=/backup/
Disk duplicate. The man page says this command is to "Convert and copy a file", but although used by more advanced users, it can be a very handy command. The "if" means input file, "of" means output file.
df
Show the amount of disk space used on each mounted filesystem.
less
less textfile
Similar to the more command, but the user can page up and down through the file. The example displays the contents of textfile.
ln
Creates a symbolic link to a file.
ln -s test symlink
Creates a symbolic link named symlink that points to the file test Typing "ls -i test symlink" will show the two files are different with different inodes. Typing "ls -l test symlink" will show that symlink points to the file test.
locate
A fast database driven file locator.
slocate -u
This command builds the slocate database. It will take several minutes to complete this command. This command must be used before searching for files, however cron runs this command periodically on most systems.
locate whereis
Lists all files whose names contain the string "whereis".
logout
Logs the current user off the system.
ls
List files
ls
List files in the current working directory except those starting with . and only show the file name.
ls -al
List all files in the current working directory in long listing format showing permissions, ownership, size, and time and date stamp
more
Allows file contents or piped output to be sent to the screen one page at a time.
more /etc/profile
Lists the contents of the "/etc/profile" file to the screen one page at a time.
ls -al |more
Performs a directory listing of all files and pipes the output of the listing through more. If the directory listing is longer than a page, it will be listed one page at a time.
mv
Move or rename files
mv -i myfile yourfile
Move the file from "myfile" to "yourfile". This effectively changes the name of "myfile" to "yourfile".
mv -i /data/myfile .
Move the file from "myfile" from the directory "/data" to the current working directory.
pwd
Show the name of the current working directory
more /etc/profile
Lists the contents of the "/etc/profile" file to the screen one page at a time.
shutdown
Shuts the system down.
shutdown -h now
Shuts the system down to halt immediately.
shutdown -r now
Shuts the system down immediately and the system reboots.
whereis
Show where the binary, source and manual page files are for a command
whereis ls
Locates binaries and manual pages for the ls command.
Editors: emacs, vi, pico, jed, vim