LINUX <ul><li>It is one of the 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 </li></ul><ul><li>Linux can be installed on a wide variety of computer hardware, ranging from embedded devices such as mobile phones, smartphones and wristwatches to mainframes and supercomputers. </li></ul>
<ul><li>Linux is predominantly known for its use in servers; in 2007 Linux's overall share of the server market was estimated at 12.7%, while a 2008 estimate suggested that 60% of all web servers ran Linux </li></ul><ul><li>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 </li></ul>
A distribution is largely driven by its developer and user communities. Some vendors develop and fund their distributions on a volunteer basis, Debian being a well-known example. Others maintain a community version of their commercial distributions, as Red Hat does with Fedora. In many cities and regions, local associations known as Linux Users Groups (LUGs) seek to promote their preferred distribution and by extension free software.
Programming on Linux Most Linux distributions support dozens of programming languages. The most common collection of utilities for building both Linux applications and operating system programs is found within the GNU toolchain, which includes the GNU Compiler Collection (GCC) and the GNU build system
Embedded devices Due to its low cost and ease of modification, an embedded Linux is often used in embedded systems. Linux has become a major competitor of Symbian OS which is used in the majority of smartphones—16.7% of smartphones sold worldwide during 2006 were using Linux—and it is an alternative to the proprietary Windows CE and Palm OS operating systems on mobile devices
BASIC LINUX COMMANDS mkdir - make directories Usage mkdir [OPTION] DIRECTORY Options Create the DIRECTORY(ies), if they do not already exist. cd - change directories Use cd to change directories. Type cd followed by the name of a directory to access that directory.Keep in mind that you are always in a directory and can navigate to directories hierarchically above or below.
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.
mv- change the name of a directory Type mv followed by the current name of a directory and the new name of the directory. pwd - print working directory Will show you the full path to the directory you are currently in. This is very handy to use, especially when performing some of the other commands on this page
rmdir - Remove an existing directory [rm -r] Removes directories and files within the directories recursively. 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 (-poption), file attributes (-p option), and copy recursively (-r option). With these options, a directory and all it contents can be copied to another dir
more - Allows file contents or piped output to be sent to the screen one page at a time less - Opposite of the more command 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.
whereis - Report all known instances of a command wc - Print byte, word, and line counts bg bg jobs Places the current job (or, by using the alternative form, the specified jobs) in the background, suspending its execution so that a new user prompt appears immediately. Use the jobs command to discover the identities of background jobs.
cat files - Prints the contents of the specified files. clear - Clears the terminal screen. cmp file1 file2 - Compares two files, reporting all discrepancies. Similar to the diff command, though the output format differs. diff file1 file2 - Compares two files, reporting all discrepancies. Similar to the cmp command, though the output format differs.
dmesg - Prints the messages resulting from the most recent system boot. fg fg jobs - Brings the current job (or the specified jobs) to the foreground. file files - Determines and prints a description of the type of each specified file.
killall program killall - signal program Kills all processes that are instances of the specified program or sends the specified signal to all processes that are instances of the specified program. mail - Launches a simple mail client that permits sending and receiving email messages.
man title man section title - Prints the specified man page. ping host - Sends an echo request via TCP/IP to the specified host. A response confirms that the host is operational. reboot - Reboots the system (requires root privileges).
shutdown minutes shutdown -r minutes Shuts down the system after the specified number of minutes elapses (requires root privileges). The -r option causes the system to be rebooted once it has shut down.
sleep time - Causes the command interpreter to pause for the specified number of seconds. sort files - Sorts the specified files. The command has many useful arguments; see the online documentation. split file - Splits a file into several smaller files. The command has many arguments; see the online documentation
sync - Completes all pending input/output operations (requires root privileges) . telnet host - Opens a login session on the specified host. top - Prints a display of system processes that's continually updated until the user presses the q key.
traceroute host - Uses echo requests to determine and print a network path to the host. uptime - Prints the system uptime. w - Prints the current system users. wall - Prints a message to each user except those who've disabled message reception. Type Ctrl-D to end the message.
logout: Logs the current user off the system. Finger: Typing finger allows you to see who else is on the system or get detailed information about a person who has access to the system. Type finger followed by the name of a user's account to get information about that user. Or, type finger and press enter to see who's on the system and what they are doing. Ex: finger johndoe
grep filter Search content of text files for matching patterns. It is definitely worth learning at least the basics of this command. A simple example. The command: cat * | grep my_word | more will search all the files in the current working directory (except files starting with a dot) and print the lines which contain the string "my_word". A shorter form to achieve the same may be: grep my_word * |more GREP
arch is deprecated command since release util-linux 2.13. Use uname -m or use arch from the coreutils package. On current Linux systems, arch prints things such as “i386", “i486", “i586", “alpha", “sparc", “arm", “m68k", “mips", “ppc". #arch
#clock-w clock - Determine processor time The clock() function returns an approximation of processor time used by the program.
#date date - print or set the system date and time Synopsis date [OPTION]... [+FORMAT] date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
# hdparm -i /dev/hda Name hdparm - get/set hard disk parameters Synopsis hdparm [ flags ] [device] .. Description hdparm provides a command line interface to various hard disk ioctls supported by the Linux SATA/PATA/SAS “libata” subsystem and the older IDE driver subsystem. Some options may work correctly only with the latest kernels.
# cat /proc/net/dev Name cat - concatenate files and print on the standard output Synopsis cat [OPTION] [FILE]... Description Concatenate FILE(s), or standard input, to standard output.
# lspci -tv Name lspci - list all PCI devices Synopsis lspci [options] Description lspci is a utility for displaying information about all PCI buses in the system and all devices connected to them.
# lsusb -tv Name lsusb - list USB devices Synopsis lsusb [ options ] Description lsusb is a utility for displaying information about USB buses in the system and the devices connected to them.