Difference between revisions of "Linux"

From Christoph's Personal Wiki
Jump to: navigation, search
(Distributions)
(How to determine which Linux distribution is installed)
 
(18 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
'''Linux''' is a computer operating system and its kernel. It is one of the most prominent examples of free software and of open-source development: unlike proprietary operating systems such as Windows and Mac OS, all of its underlying source code is available to the public and anyone can freely use, modify, improve, and redistribute it.
 
'''Linux''' is a computer operating system and its kernel. It is one of the most prominent examples of free software and of open-source development: unlike proprietary operating systems such as Windows and Mac OS, all of its underlying source code is available to the public and anyone can freely use, modify, improve, and redistribute it.
  
==Kernel==
+
==[[Linux kernel|Kernel]]==
The [[wikipedia:Kernel (computer science)|kernel]] is the core piece of the Linux operating system.
+
The kernel is the core piece of the Linux operating system.
* Current (stable version): '''2.6.20.2''' (2007-03-09)[http://www.kernel.org]
+
 
 
The kernel manages the resources of the Linux OS; such as the following:
 
The kernel manages the resources of the Linux OS; such as the following:
 
* File management
 
* File management
Line 53: Line 53:
 
My favourite distributions include:
 
My favourite distributions include:
 
*[[SuSE]] — my primary operating system since 1999. (see also: [http://en.opensuse.org openSUSE])
 
*[[SuSE]] — my primary operating system since 1999. (see also: [http://en.opensuse.org openSUSE])
*[[Mandriva]]
+
*[[Mandriva Linux|Mandriva]]
 
*[[Damn Small Linux]] (DSL) — A live CD designed for MiniCD with a hard drive install option.
 
*[[Damn Small Linux]] (DSL) — A live CD designed for MiniCD with a hard drive install option.
 
*[http://www.damnvulnerablelinux.org/ Damn Vulnerable Linux] — a good distro for learning about Linux security.
 
*[http://www.damnvulnerablelinux.org/ Damn Vulnerable Linux] — a good distro for learning about Linux security.
 +
*[http://www.knoppix.org/ Knoppix] — my favourite LiveCD (version: 5.1.1CD-2007-01-04; kernel 2.6.19.1; KDE 3.5.5; [ftp://ftp.uni-kl.de/pub/linux/knoppix/packages.txt package list], [ftp://ftp.uni-kl.de/pub/linux/knoppix/knoppix-cheatcodes.txt cheat codes])
 +
*see also: [http://www.google.com/linuxrepositories/index.html Google Linux Software Repositories]
 +
 +
===How to determine which Linux distribution is installed===
 +
Normally, the output of one of these should tell you which distro is installed:
 +
cat /proc/version
 +
uname -a
 +
cat /etc/*rel*
 +
echo /etc/*_ver* /etc/*-rel*; cat /etc/*_ver* /etc/*-rel*
 +
cat /etc/version
 +
cat /etc/issue
 +
cat /etc/issue.net
 +
 +
The following is ''normally'' where various distros store the release/version information:
 +
<pre>
 +
Annvix: /etc/annvix-release
 +
Arch Linux: /etc/arch-release
 +
Arklinux: /etc/arklinux-release
 +
Aurox Linux: /etc/aurox-release
 +
BlackCat: /etc/blackcat-release
 +
Cobalt: /etc/cobalt-release
 +
Conectiva: /etc/conectiva-release
 +
Debian: /etc/debian_version, /etc/debian_release (rare)
 +
Fedora Core: /etc/fedora-release
 +
Gentoo Linux: /etc/gentoo-release
 +
Immunix: /etc/immunix-release
 +
Knoppix: knoppix_version
 +
Linux-From-Scratch: /etc/lfs-release
 +
Linux-PPC: /etc/linuxppc-release
 +
Mandrake: /etc/mandrake-release
 +
Mandriva/Mandrake Linux: /etc/mandriva-release, /etc/mandrake-release, /etc/mandakelinux-release
 +
MkLinux: /etc/mklinux-release
 +
Novell Linux Desktop: /etc/nld-release
 +
PLD Linux: /etc/pld-release
 +
Red Hat: /etc/redhat-release, /etc/redhat_version (rare)
 +
Slackware: /etc/slackware-version, /etc/slackware-release (rare)
 +
SME Server (Formerly E-Smith): /etc/e-smith-release
 +
Solaris SPARC: /etc/release
 +
Sun JDS: /etc/sun-release
 +
SUSE Linux: /etc/SuSE-release, /etc/novell-release
 +
SUSE Linux ES9: /etc/sles-release
 +
Tiny Sofa: /etc/tinysofa-release
 +
TurboLinux: /etc/turbolinux-release
 +
Ubuntu Linux: /etc/lsb-release
 +
UltraPenguin: /etc/ultrapenguin-release
 +
UnitedLinux: /etc/UnitedLinux-release (covers SUSE SLES8)
 +
VA-Linux/RH-VALE: /etc/va-release
 +
Yellow Dog: /etc/yellowdog-release
 +
</pre>
 +
 +
See: [http://linuxmafia.com/faq/Admin/release-files.html here] for more details.
 +
 +
==Linux commands you should ''never'' run==
 +
<div style="margin: 10px; padding: 5px; border: 2px solid red;">'''WARNING''': Do '''''not''''' run ''any'' of the following commands! They are extremely dangerous! I am only listing them here for illustrative purposes.</div>
 +
 +
NOTE: There is little, if anything, you can do to recover if you execute any of the following:
 +
 +
rm -rf /                # Deletes _everything_ on your computer recursively
 +
:(){ :|: & };:          # Fork Bomb
 +
mv ~ /dev/null          # Move everything to NULL (i.e. nowhere)
 +
mkfs.ext3 /dev/sda      # Formats your entire hard drive
 +
any-command > /dev/sda  # Send STDOUT of <any-command> to your HDD (i.e., overwrites your entire HDD)
 +
 +
==See also==
 +
*[[Linux directory structure|Filesystem Hierarchy Standard]]
  
 
==External links==
 
==External links==
Line 62: Line 127:
 
*[http://www.tldp.org/LDP/intro-linux/html/index.html Introduction to Linux - A Hands on Guide] &mdash; by Machtelt Garrels (14-Mar-2006)
 
*[http://www.tldp.org/LDP/intro-linux/html/index.html Introduction to Linux - A Hands on Guide] &mdash; by Machtelt Garrels (14-Mar-2006)
 
*[http://www.tldp.org/LDP/lkmpg/2.6/html/index.html The Linux Kernel Module Programming Guide]
 
*[http://www.tldp.org/LDP/lkmpg/2.6/html/index.html The Linux Kernel Module Programming Guide]
 +
*[http://www.thelinuxvault.net/wiki/Main_Page The Linux Vault]
 +
*[[wikipedia:Linux]]
 +
===Tutorials===
 +
*[http://easylinux.info/wiki/Main_Page Easy Linux.info] &mdash; wiki site.
 +
*[http://www.howtoforge.com/ HowtoForge] &mdash; Linux howtos and tutorials
 
*[http://www.linuxfromscratch.org/blfs/view/stable/index.html Beyond Linux From Scratch]
 
*[http://www.linuxfromscratch.org/blfs/view/stable/index.html Beyond Linux From Scratch]
 
*[http://www.digitalhermit.com/linux/Kernel-Build-HOWTO.html Kernel Rebuild Guide] &mdash; by Kwan Lowe
 
*[http://www.digitalhermit.com/linux/Kernel-Build-HOWTO.html Kernel Rebuild Guide] &mdash; by Kwan Lowe
 
*[http://www.howtoforge.com/kernel_compilation_suse How To Compile A Kernel - The SuSE Way] &mdash; by Falko Timme on HowtoForge.com
 
*[http://www.howtoforge.com/kernel_compilation_suse How To Compile A Kernel - The SuSE Way] &mdash; by Falko Timme on HowtoForge.com
 
*[http://www.howtoforge.com/kernel_compilation_mandriva How To Compile A Kernel - The Mandriva Way] &mdash; by Falko Timme on HowtoForge.com
 
*[http://www.howtoforge.com/kernel_compilation_mandriva How To Compile A Kernel - The Mandriva Way] &mdash; by Falko Timme on HowtoForge.com
*[[wikipedia:Linux]]
+
===Tools / resources===
 +
*[http://www.netadmintools.com/ Net Admin Tools]
 +
===Books===
 +
*[http://www.linuxtopia.org/online_books/index.html Free On-Line Linux Books]
 +
*[http://www.linuxhaxor.net/2007/09/05/68-linux-related-free-e-books/ 68 Linux Related Free E-books]
 +
*[http://www.faqs.org/docs/artu/ The Art of Unix Programming] &mdash; by Eric Steven Raymond
 +
===Hardware compatibility===
 +
*[http://www.tldp.org/HOWTO/Hardware-HOWTO/ Linux Hardware Compatibility HOWTO]
 +
*[http://en.opensuse.org/Hardware?LANG=en_UK Hardware Compatibility List] &mdash; on opensuse.org
  
 
{{stub}}
 
{{stub}}
 
[[Category:Technical and Specialized Skills]]
 
[[Category:Technical and Specialized Skills]]

Latest revision as of 20:06, 24 October 2014

Linux is a computer operating system and its kernel. It is one of the most prominent examples of free software and of open-source development: unlike proprietary operating systems such as Windows and Mac OS, all of its underlying source code is available to the public and anyone can freely use, modify, improve, and redistribute it.

Kernel

The kernel is the core piece of the Linux operating system.

The kernel manages the resources of the Linux OS; such as the following:

  • File management
  • Multitasking
  • Memory management
  • I/O management
  • Process management: /proc/
  • Device management: /dev/
  • Networking support (including IPv4 and IPv6)
  • Virtual memory, shared libraries, demand loading, etc.

The kernel decides who will use these resources, for how long, and when.

Keyboard shortcuts

Ctrl+Alt+Del 
shut down computer
Ctrl+Alt+(F1,F2,...,Fn
switch to n-th console
Alt+<- | Alt+-> 
switch to next|previous virtual terminal
Ctrl+k 
clear CLI from cursor position to end of line
Ctrl+u 
clear CLI from cursor position to beginning of line
Ctrl+a 
move cursor to beginning of CLI
Ctrl+l 
clear console screen
Ctrl+z 
pause (see 'bg' and 'fg')
Ctrl+r 
incremental search of previous command history
Tab 
CLI-autocompletion
Scroll Lock 
lock terminal input/output
Shift+pgUp | Shift+pgDn 
scroll console buffer up|down
Ctrl+Alt++ | Ctrl+Alt+- 
change screen resolution higher|lower
Ctrl+Alt+Bksp 
kill X-server (note: running aps will be terminated)
Alt+F2 
run command box (on KDE)
Ctrl+Shift+NumLock 
turn keypad into mouse keys

Tutorials

Beginner

Intermediate

Advanced

Distributions

Linux is predominantly used as part of a Linux distribution (commonly called a 'distro'). These are compiled by individuals, loose-knit teams, and various professional organizations. They include additional system software and application programs, as well as certain processes to install these systems on a computer.

My favourite distributions include:

How to determine which Linux distribution is installed

Normally, the output of one of these should tell you which distro is installed:

cat /proc/version
uname -a
cat /etc/*rel*
echo /etc/*_ver* /etc/*-rel*; cat /etc/*_ver* /etc/*-rel*
cat /etc/version
cat /etc/issue
cat /etc/issue.net

The following is normally where various distros store the release/version information:

Annvix: /etc/annvix-release
Arch Linux: /etc/arch-release
Arklinux: /etc/arklinux-release
Aurox Linux: /etc/aurox-release
BlackCat: /etc/blackcat-release
Cobalt: /etc/cobalt-release
Conectiva: /etc/conectiva-release
Debian: /etc/debian_version, /etc/debian_release (rare)
Fedora Core: /etc/fedora-release
Gentoo Linux: /etc/gentoo-release
Immunix: /etc/immunix-release
Knoppix: knoppix_version
Linux-From-Scratch: /etc/lfs-release
Linux-PPC: /etc/linuxppc-release
Mandrake: /etc/mandrake-release
Mandriva/Mandrake Linux: /etc/mandriva-release, /etc/mandrake-release, /etc/mandakelinux-release
MkLinux: /etc/mklinux-release
Novell Linux Desktop: /etc/nld-release
PLD Linux: /etc/pld-release
Red Hat: /etc/redhat-release, /etc/redhat_version (rare)
Slackware: /etc/slackware-version, /etc/slackware-release (rare)
SME Server (Formerly E-Smith): /etc/e-smith-release
Solaris SPARC: /etc/release
Sun JDS: /etc/sun-release
SUSE Linux: /etc/SuSE-release, /etc/novell-release
SUSE Linux ES9: /etc/sles-release
Tiny Sofa: /etc/tinysofa-release
TurboLinux: /etc/turbolinux-release
Ubuntu Linux: /etc/lsb-release
UltraPenguin: /etc/ultrapenguin-release
UnitedLinux: /etc/UnitedLinux-release (covers SUSE SLES8)
VA-Linux/RH-VALE: /etc/va-release
Yellow Dog: /etc/yellowdog-release

See: here for more details.

Linux commands you should never run

WARNING: Do not run any of the following commands! They are extremely dangerous! I am only listing them here for illustrative purposes.

NOTE: There is little, if anything, you can do to recover if you execute any of the following:

rm -rf /                # Deletes _everything_ on your computer recursively
:(){ :|: & };:          # Fork Bomb
mv ~ /dev/null          # Move everything to NULL (i.e. nowhere)
mkfs.ext3 /dev/sda      # Formats your entire hard drive
any-command > /dev/sda  # Send STDOUT of <any-command> to your HDD (i.e., overwrites your entire HDD)

See also

External links

Tutorials

Tools / resources

Books

Hardware compatibility

This article is curently a "stub". This means it is an incomplete article needing further elaboration.

I always welcome suggestions, comments, and criticism. If you have something to contribute to this site, please follow this link: Contributing Information. Thank you!