From: dev.csdn.net/author/liyong5198/b4de8af4f11b4856a5f2fab248c57a21.html
Linux基础知识 李甬 整理于2006.5
Linux最早是由芬兰赫尔辛基大学一位叫Linus Torvalds的学生设计的.它是一套免费使用和自由传播的
类NUIX系统,源代码开发,能在各类硬件平台(包括Intel x86系列和RISC处理器)上运行.
Linux受广大计算机爱好者喜爱的原因:
1.Linux在pc计算机上实现了全部的UNIX特性,具有多任务,多用户的能力,而且在很多方面相当稳定高效.
2.Linux属于自由软件,用户不需要支付任何费用就可以获得它及其它的原代码,并可以对它进行须改,无偿使用它,无约束传播.
Linux具有以下主要特性:
开放性
开放性是指系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。凡遵循国际标准所开发的硬件和软件,都能彼此兼容,可方便地实现互连。
多用户
多用户是指系统资源可以被不同用户各自拥有使用,即每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响。Linux和Unix都具有多用户的特性。
多任务
多任务是现代计算机的最主要的一个特点。它是指计算机同时执行多个程序,而且各个程序的运行互相独立。Linux系统调度每一个进程平等地访问微处理器。由于CPU的处理速度非常快,其结果是,启动的应用程序看起来好像在并行运行。事实上,从处理器执行一个应用程序中的一组指令到Linux调度微处理器再次运行这个程序之间只有很短的时间延迟,用户是感觉不出来的。
良好的用户界面
Linux向用户提供了两种界面:'用户界面和系统调用。
Linux的传统用户界面是基于文本的命令行界面,即shell,它既可以联机使用,又可存在文件上脱机使用。shell有很强的程序设计能力,用户可方便地用它编制程序,从而为用户扩充系统功能提供了更高级的手段。可编程Shell是指将多条命令组合在一起,形成一个Shell程序,这个程序可以单独运行,也可以与其他程序同时运行。
系统调用给用户提供编程时使用的界面。用户可以在编程时直接使用系统提供的系统调用命令。系统通过这个界面为用户程序提供低级、高效率的服务。
Linux还为用户提供了图形用户界面。它利用鼠标、菜单、窗口、滚动条等设施,给用户呈现一个直观、易操作、交互性强的友好的图形化界面。
设备独立性
设备独立性是指操作系统把所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何用户都可以象使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。
具有设备独立性的操作系统,通过把每一个外围设备看作一个独立文件来简化增加新设备的工作。当需要增加新设备时、系统管理员就在内核中增加必要的连接。这种连接(也称作设备驱动程序)保证每次调用设备提供服务时,内核以相同的方式来处理它们。当新的及更好的外设被开发并交付给用户时,操作允许在这些设备连接到内核后,就能不受限制地立即访问它们。设备独立性的关键在于内核的适应能力。其他操作系统只允许一定数量或一定种类的外部设备连接。而设备独立性的操作系统能够容纳任意种类及任意数量的设备,因为每一个设备都是通过其与内核的专用连接独立进行访问。
Linux是具有设备独立性的操作系统,它的内核具有高度适应能力,随着更多的程序员加入Linux编程,会有更多硬件设备加入到各种Linux内核和发行版本中。另外,由于用户可以免费得到Linux的内核源代码,因此,用户可以修改内核源代码,以便适应新增加的外部设备。
供了丰富的网络功能
完善的内置网络是Linux的一大特点。Linux在通信和网络功能方面优于其他操作系统。其他操作系统不包含如此紧密地和内核结合在一起的连接网络的能力,也没有内置这些联网特性的灵活性。而Linux为用户提供了完善的、强大的网络功能。
支持Internet是其网络功能之一。Linux免费提供了大量支持Internet的软件,Internet是在Unix领域中建立并繁荣起来的,在这方面使用Linux是相当方便的,用户能用Linux与世界上的其他人通过Internet网络进行通信。
文件传输是其网络功能之二。用户能通过一些Linux命令完成内部信息或文件的传输。
远程访问是其网络功能之三。Linux不仅允许进行文件和程序的传输,它还为系统管理员和技术人员提供了访问其他系统的窗口。通过这种远程访问的功能,一位技术人员能够有效地为多个系统服务,即使那些系统位于相距很远的地方。
可靠的系统安全
Linux采取了许多安全技术措施,包括 对读、写进行权限控制 带保护的子系统 审计跟踪 核心授权等,这为网络多用户环境中的用户提供了必要的安全保障。
良好的可移植性
可移植性是指将操作系统从一个平台转移到另一个平台使它仍然能按其自身的方式运行的能力.
Linux是一种可移植的操作系统,能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。
可移植性为运行Linux的不同计算机平台与其他任何机器进行准确而有效的通信提供了手段,不需要另外增加特殊的和昂贵的通信接口。
在说Linux特点时,也顺别提一下它的缺点,Linux没有核心团队,来自世界各地的爱好者都可以发布自己的补丁(patch),缺点是源代码可能杂乱无章并且可能相互冲突.其实从另个方面说也是优点,爱好者都可以发布自己的补丁(patch),这使Linux充满着活力,不断更新进步.
Linux与其他操作系统的区别
Linux可以与MS-DOS、Windows等其他操作系统共存于同一台机器上。它们均为操作系统,具有一些共性,但是互相之间各有特色,有所区别。至于MS-DOS、Windows对我们一般计算机爱好来说是非常熟悉的操作系统了,在此只列出Linux与UNIX的区别.
某些PC机的Unix和Linux在实现方面相类似。几乎所有的商业Unix版本都基本支持同样的软件、程序设计环境和网络特性。然而,Linux和Unix的商业版本依然存在许多差别。Linux支持的硬件范围和商业Unix不一样。一般来说,商业Unix支持的硬件多一些,可是Linux支持的硬件也在不断扩大。突出的是,Linux至少和商用Unix一样稳定。对许多用户来说,最重要的因素是价格。Linux是免费软件,用户可以从Internet网上下载。如果上网不方便,可以很便宜地通过邮购得到Linux的磁盘或CD-ROM。当然也可以直接从朋友那里得到。商业Unix的价值不应被贬低。除了软件本身的价格外,用户还需支付文档、售后支持和质保费。对于较大的机构,这些都很重要,但是PC机用户也许从中得不到什么好处。许多商业公司和大学等单位已经发现,在实验室用廉价的PC机运行Linux比用工作站运行商业Unix还好。Linux可以在PC机上提供工作站的功能,而PC机的价格是工作站的几分之一。也有一些针对PC机的便宜的Unix,其中最有名的是386BSD。在许多方面,386BSD软件包和Linux兼容,但Linux更适合用户的需求。最显著的是,Linux的开发是开放的,任何志愿者都可以对开发过程做出贡献。相比之下,386BSD是由封闭的团队开发的。正是这样,这两种产品存在着严重的概念上和设计上的差别:Linux的目标是从头开始开发一个完整的Unix系统;386BSD的目标则是对现有的BSD做些修改,以适合80386系统。当然现在也有许多免费的在PC机上运行的UNIX,如NetBSD,FreeBSD,OpenBSD等,NetBSD,FreeBSD,OpenBSD在硬件支持方面不如Linux,在系统性能方面,具专家分析,FreeBSD在网络性能,软件移植和系统规范化上比Linux略强些.
Linux下的目录树
/
这就是根目录。在Windows,DOS或者其他类似的操作系统里面,每个分区都会有一个相应的根目录。但是Linux和其他Unix系统把所有的文件都放在一个目录树里面,/ 就是唯一的根目录。一般来讲,根目录下面很少保存什么文件,或者只有一个内核映像在这里。
/boot
很多Linux系统把内核映像和其他一些和启动有关的文件放在这里。
/tmp
一般只有启动的时候产生的临时文件才会放在这个地方。我们自己的那些临时文件都放在 /var/tmp。
/mnt
这个目录下面放着一些用来mount其他设备的子目录,比如说/mnt/cdrom或者/mnt/floppy。
/lib
启动的时候所需要用到的库文件都放在这个目录下。那些非启动用的库文件都会放在/usr/lib下。内核模块是被放在/lib/modules/(内核版本)下的。
/proc
这个目录在磁盘上其实是不存在的。里面的文件都是关于当前的系统状态的,包括正在运行的进程,硬件状态,内存使用的多少……
/dev
这个目录下保存着所有的设备文件。里面有一些Linux内核创建的用来控制硬件设备的特殊文件。注意,网卡设备文件(eth0,ppp0等)不在这儿。
/var
这里有一些被系统改变过的数据。比如说/var/tmp,就是用来储存临时文件的。还有很多其他的进程和模块把它们的记录文件也放在这个地方。下面将会列举一些重要的子目录:
/var/log
这里放着绝大部分的记录文件。随着时间的增长,这个目录可能会变得很臃肿。所以需要定期来清理一下。
/var/run
包括了各种运行时的小信息。
/var/lib
包括了一些系统运行的时候需要的文件。如果你用笔记本上网,/var/lib/pcmcia/stab可能会对你有用。
/var/spool
邮件,新闻,打印序列的所在地。
/root
Root用户的主目录。
/home
一般用户的主目录都会放在这个目录下。你可以通过$ cd ~ 来进入你自己的主目录。
/etc
如果你是Root用户的话,这个目录应该是你最常来的地方。这里保存着绝大部分的系统配置文件。相对来讲,单个用户的系统配置文件将会保存在这个用户自己的主目录里面。这里的文件会根据你所安装的软件而增减。下面将会列举一下重要的子目录:
/etc/X11
这里放着X系统所需要的配置文件。XF86Config就是把配置储存到这个地方的。/etc/X11/fonts里面放着一些服务器需要的字体。还有一些窗口管理器存放的配置文件也是放在这个地方的。
/etc/init.d
这个目录保存着启动描述文件,包括各种模块和服务的加载描述。所以如果不清楚的话,最好不要随便删这里的东西。这里的文件都是系统进行配置的,不是用户自己用来配置的。
/etc/rcS.d
这里放着一些连接到/etc/init.d的连接文件,根据runlevel的不同而执行相应的描述。这里的文件名都是由S来开头的,然后是一个两位的数字——表示各种服务启动的顺序。比如,S24foo就是在S42bar前面执行的。接着就是相应的连接到/etc/init.d下面的文件的名字了。
/etc/rc0.d - /etc/rc6.d
这里面也是一些连接文件,和/etc/rcS.d差不多。不同的是,这些只会在指定的runlevel下运行相应的描述。0表示关机,6表示重启。所有以 K开头的文件表示关闭,所有以S开头的文件表示重启。目前来讲,文件的命名方式和/etc/rcS.d是一样的。注意,在Debian下,2表示启动。
/bin, /sbin
这里分别放着启动的时候所需要的普通程序和系统程序。很多程序在启动以后也很有用,它们放在这个目录下是为它们会经常被其他程序所调用。
/usr
这是一个很庞大的目录,几乎所有的文件都放在这下面,除了上面所说的那些。下面将会列举一些重要的子目录:
/usr/X11R6, /usr/X11, /usr/Xfree86
这里面保存着X系统所需要的文件,它的目录结构和/usr是一样的。
/usr/bin
v二进制可执行文件存放的目录,这里放着绝大部分的应用程序。
/usr/sbin
这里放着绝大部分的系统程序。
/usr/games
游戏程序和相应的数据会放在这里。
/usr/include
这个目录保存着C和C++的头文件。除非你是程序员,否则你可能不会感兴趣。
/usr/lib
启动时用不到的库文件都会被放在这里。
/usr/info
这里保存着GNU Info程序所需要的数据。
/usr/man
这里保存着man程序所需要的数据。
/usr/src
这里保存着源代码文件。Linux内核的源代码都放在/usr/src/linux下了。
/usr/doc
这里保存着各种文档文件。这些文件可以帮助你了解Linux,解决问题和提供一些技巧。或者你可以通过访问 http://www.linuxdoc.org 来活得更多的知识。
/usr/local
这里面保存着本地计算机所需要的文件。在用户进行远程访问的时候特别有意义。这个目录在有些Linux系统下就是一个单独的分区,存放一些这台机子所属的那个用户的文件。里面的结构和/usr是一样的。
/usr/shared, /usr/share
这里保存着各种共享文件,比如说某个应用程序所需要的声音文件。
分享到:
相关推荐
Linux基础与实验指导是针对那些想要深入理解和应用Linux操作系统的人们设计的学习材料。Linux是一种开源的、自由的类UNIX操作系统,广泛应用于服务器、嵌入式设备和个人计算机。在这个实验指导中,我们将着重探讨...
鸟哥私房菜Linux基础学习篇课后答案 Linux基础学习篇课后答案涵盖了Linux...Linux基础学习篇课后答案涵盖了计算机概论、硬件信息、Linux基础知识、Linux内核版本、Linux吉祥物等知识点,为学习Linux提供了良好的基础。
### Linux基础及应用知识点解析 #### 一、Linux概述 **知识点1:Linux的基本特性** - **多用户性**:Linux支持多个用户从相同或不同的终端同时使用同一台计算机。这意味着在同一时间,Linux系统能够响应来自不同...
### Linux基础知识99问(五) —— 重要知识点解析 #### 70. 如何检查Linux硬盘使用情况? 在Linux环境中,了解硬盘空间的使用情况对于系统管理和维护至关重要。通常,我们使用`df`命令来进行这样的检查。下面详细...
了解并掌握这些Linux基础知识对于系统管理和日常使用至关重要,无论是对个人用户还是企业运维人员,都具有很高的实用价值。通过深入学习和实践,可以更有效地利用Linux系统提供的各种功能和服务。
### Linux基础知识:压缩解压等 #### 概述 Linux是一种广泛使用的开源操作系统,它提供了丰富的命令行工具供用户执行各种任务。对于学习Linux的新手来说,掌握一些基础命令至关重要,例如`cp`、`scp`、`tar`、`...
根据提供的文件信息,我们可以整理出一系列与Linux相关的知识点,这些知识点涵盖了从基本操作到更深入的理解,对于初学者和有一定经验...希望这些知识点能够帮助读者更好地理解和掌握Linux系统的基础知识及其应用场景。
总的来说,安装Kali Linux需要一定的计算机基础知识,但通过提供的资源和教程,即使是初学者也能顺利完成。记得定期更新系统和软件,以保持其安全性。同时,使用Kali Linux进行任何操作时,必须遵守当地法律法规,...
在深入探讨之前,确保你有一个合适的开发环境,例如Ubuntu或Fedora,以及熟悉C语言和Unix/Linux基本命令的基础知识。 首先,Linux内核主要由以下几个部分组成: 1. **初始化代码**:这部分代码负责在系统启动时...
1. **Linux基础知识**:在Linux环境下进行C编程,首先需要了解Linux的基本操作,如文件系统结构、命令行交互、进程管理等。这些基础知识对于理解和编写在Linux下运行的程序至关重要。 2. **GCC编译器**:Linux下的C...
一、Linux基础知识 Linux是基于Unix的开源操作系统,由林纳斯·托瓦兹于1991年创建。Linux系统由内核、shell、工具和应用程序四部分组成。它的核心优势在于其开放源码,允许用户根据需求进行定制和修改。学习Linux...
"linux简介ppt"可能是一个介绍Linux基础知识的演示文稿,内容可能包括Linux的历史、哲学、发行版的多样性、桌面环境、文件系统结构(如根目录/、用户主目录~等)以及权限和所有权的概念。了解这些基础信息,有助于...
Linux是程序员必须掌握的基础操作系统,尤其对于后端开发者而言,熟悉Linux操作是至关重要的。操作系统(Operating System,简称OS)是计算机硬件与软件之间的桥梁,它负责管理和控制计算机的资源,包括内存分配、...
本文将对大数据Linux知识点基础进行详细的介绍,涵盖了Linux基础命令、文件处理命令、正则表达式、管道符、帮助命令等内容。 一、正则表达式 正则表达式是Linux中非常重要的一部分,用于字符串的匹配和处理。下面...
学习并理解这些知识点对于任何想要在Linux环境中进行C编程的开发者来说都是至关重要的。这份"Linux C函数库参考手册"将帮助读者深入理解C语言在Linux系统中的工作原理,并提供详尽的函数参考,使得开发者能够编写出...
在Linux操作系统中,进程管理是核心的...理解并熟练掌握这些Linux进程管理知识对于系统管理员和开发者至关重要,它们有助于优化系统性能、监控进程状态以及排查问题。有效的进程管理是保证Linux系统健康运行的基础。
【Linux基础学习文档】 Linux操作系统是开源的类Unix系统,被广泛应用于服务器、嵌入式设备和桌面...这些只是Linux基础知识的一部分,深入学习Linux,还包括shell脚本编程、系统管理、网络配置、安全管理等多个方面。
在深入探讨Linux驱动开发之前,我们需要了解一些基础概念。 1. **内核空间与用户空间**: Linux系统分为两个主要区域:内核空间和用户空间。内核空间包含操作系统内核和驱动程序,拥有最高权限,可以直接访问硬件...
Linux基础命令练习是学习Linux操作系统的重要环节,它涵盖了Linux系统日常管理的许多重要命令。Linux作为一款开源的操作系统,广泛应用于服务器、桌面、嵌入式设备等领域。以下是对文档中涉及的知识点进行详细说明。...