Difference between revisions of "Linux"
(→Kernel) |
(→How to determine which Linux distribution is installed) |
||
(29 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 kernel is the core piece of the Linux operating system. | The kernel is the core piece of the Linux operating system. | ||
− | |||
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: | ||
Line 17: | Line 16: | ||
The kernel decides who will use these resources, for how long, and when. | The kernel decides who will use these resources, for how long, and when. | ||
− | == Tutorials == | + | ==Keyboard shortcuts== |
− | === Beginner === | + | ;Ctrl+Alt+Del : shut down computer |
+ | ;Ctrl+Alt+(F1,F2,...,F''n'') : 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=== | ||
* [[Linux 101]] — level 1 | * [[Linux 101]] — level 1 | ||
* [[Linux 102]] — level 2 | * [[Linux 102]] — level 2 | ||
* [[Linux 103]] — level 3 | * [[Linux 103]] — level 3 | ||
− | === Intermediate === | + | ===Intermediate=== |
* [[Linux 201]] — level 1 | * [[Linux 201]] — level 1 | ||
* [[Linux 202]] — level 2 | * [[Linux 202]] — level 2 | ||
* [[Linux 203]] — level 3 | * [[Linux 203]] — level 3 | ||
− | === Advanced === | + | ===Advanced=== |
* [[Linux 301]] — level 1 | * [[Linux 301]] — level 1 | ||
* [[Linux 302]] — level 2 | * [[Linux 302]] — level 2 | ||
* [[Linux 303]] — level 3 | * [[Linux 303]] — level 3 | ||
− | == Distributions == | + | ==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. | 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: | My favourite distributions include: | ||
− | * [[SuSE]] — my primary operating system. (see also: openSUSE) | + | *[[SuSE]] — my primary operating system since 1999. (see also: [http://en.opensuse.org openSUSE]) |
− | * [[ | + | *[[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.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== |
− | + | *[http://www.kernel.org/ The Linux Kernel Archives] — the primary site for the Linux kernel source, but it has much more than just Linux kernels. | |
− | * [http://www.kernel.org/ The Linux Kernel Archives] — the primary site for the Linux kernel source, but it has much more than just Linux kernels. | + | *[http://linux-newbie.sunsite.dk/ Linux Newbie Administrator Guide] — (LNAG) |
− | * [http://linux-newbie.sunsite.dk/ Linux Newbie Administrator Guide] — (LNAG) | + | *[http://www.tldp.org/LDP/intro-linux/html/index.html Introduction to Linux - A Hands on Guide] — by Machtelt Garrels (14-Mar-2006) |
− | * [http://www.tldp.org/LDP/intro-linux/html/index.html Introduction to Linux - A Hands on Guide] — 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] — wiki site. | ||
+ | *[http://www.howtoforge.com/ HowtoForge] — Linux howtos and tutorials | ||
+ | *[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] — by Kwan Lowe | ||
+ | *[http://www.howtoforge.com/kernel_compilation_suse How To Compile A Kernel - The SuSE Way] — by Falko Timme on HowtoForge.com | ||
+ | *[http://www.howtoforge.com/kernel_compilation_mandriva How To Compile A Kernel - The Mandriva Way] — by Falko Timme on HowtoForge.com | ||
+ | ===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] — 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] — 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.
Contents
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:
- SuSE — my primary operating system since 1999. (see also: openSUSE)
- Mandriva
- Damn Small Linux (DSL) — A live CD designed for MiniCD with a hard drive install option.
- Damn Vulnerable Linux — a good distro for learning about Linux security.
- Knoppix — my favourite LiveCD (version: 5.1.1CD-2007-01-04; kernel 2.6.19.1; KDE 3.5.5; package list, cheat codes)
- see also: 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:
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
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
- The Linux Kernel Archives — the primary site for the Linux kernel source, but it has much more than just Linux kernels.
- Linux Newbie Administrator Guide — (LNAG)
- Introduction to Linux - A Hands on Guide — by Machtelt Garrels (14-Mar-2006)
- The Linux Kernel Module Programming Guide
- The Linux Vault
- wikipedia:Linux
Tutorials
- Easy Linux.info — wiki site.
- HowtoForge — Linux howtos and tutorials
- Beyond Linux From Scratch
- Kernel Rebuild Guide — by Kwan Lowe
- How To Compile A Kernel - The SuSE Way — by Falko Timme on HowtoForge.com
- How To Compile A Kernel - The Mandriva Way — by Falko Timme on HowtoForge.com
Tools / resources
Books
- Free On-Line Linux Books
- 68 Linux Related Free E-books
- The Art of Unix Programming — by Eric Steven Raymond
Hardware compatibility
- Linux Hardware Compatibility HOWTO
- Hardware Compatibility List — on opensuse.org
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!