1.Linux的操作比较复杂,windows的比较简单.
Linux速度比较快,安全性比windows好
但是有很多软件只能在windows里运行
与Linux兼容的软件正在开发中.
Linux适用在网络方面.
2. 什么是Linux?
简单地说, Linux是一套免费使用和自由传播的类 Unix操作系统,它主要用于基
于 Intel x86系列 CPU的计算机上。这个系统是由世界各地的成千上万的程序员
设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自
由使用的 Unix兼容产品。 Linux的出现,最早开始于一位名叫 Linus Torvalds
的计算机业余爱好者,当时他是芬兰赫尔辛基大学的学生。他的目的是想设计一
个代替 Minix(是由一位名叫 Andrew Tannebaum的计算机教授编写的一个操作系
统示教程序)的操作系统,这个操作系统可用于 386、 486或奔腾处理器的个人
计算机上,并且具有 Unix操作系统的全部功能,因而开始了 Linux雏形的设计。
Linux以它的高效性和灵活性着称。它能够在 PC计算机上实现全部的 Unix特性,
具有多任务、多用户的能力。 Linux是在 GNU公共许可权限下免费获得的,是一
个符合 POSIX标准的操作系统。 Linux操作系统软件包不仅包括完整的 Linux操
作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有
多个窗口管理器的 X-Windows图形用户界面,如同我们使用 Windows NT一样,允
许我们使用窗口、图标和菜单对系统进行操作。
Linux与其他操作系统有什么区别:
Linux可以与 MS-DOS、 OS/2、 Windows等其他操作系统共存于同一台机器上。它
们均为操作系统,具有一些共性,但是互相之间各有特色,有所区别。
目前运行在 PC机上的操作系统主要有Microsoft的 MS-DOS、 Windows、 Windows
NT、 IBM的 OS/2等。早期的 PC机用户普遍使用 MS-DOS,因为这种操作系统对机
器的硬件配置要求不高,而随着计算机硬件技术的飞速发展,硬件设备价格越来
越低,人们可以相对容易地提高计算机的硬件配置,于是开始使用
Windows、Windows NT等具有图形界面的操作系统。 Linux是新近被人们所关注的
操作系统,它正在逐渐为 PC机的用户所接受。那么, Linux与其他操作系统的主
要区别是什么呢?下面从两个方面加以论述。
首先看一下Linux与 MS- DOS之间的区别。 在同一系统上运行 Linux和 MS-DOS
已很普遍,就发挥处理器功能来说, MS-DOS没有完全实现 x86处理器的功能,而
Linux完全在处理器保护模式下运行,并且开发了处理器的所有特性。 Linux可以
直接访问计算机内的所有可用内存,提供完整的 Unix接口。而 MS-DOS只支持部
分 Unix的接口。
就使用费用而言, Linux和 MS-DOS是两种完全不同的实体。与其他商业操作系统
相比, MS-DOS价格比较便宜,而且在 PC机用户中有很大的占有率,任何其他 PC
机操作系统都很难达到 MS-DOS的普及程度,因为其他操作系统的费用对大多数
PC机用户来说都是一个不小的负担。 Linux是免费的,用户可以从 internet上或
者其他途径获得它的版本,而且可以任意使用,不用考虑费用问题。 就操作系统
的功能来说, MS-DOS是单任务的操作系统,一旦用户运行了一个 MS-DOS的应用
程序,它就独占了系统的资源,用户不可能再同时运行其他应用程序。而 Linux
是多任务的操作系统,用户可以同时运行多个应用程序。 再看一下 Linux与
OS/2、 Windows、 Windows NT之间的区别。
从发展的背景看, Linux与其他操作系统的区别是, Linux是从一个比较成熟的
操作系统发展而来的,而其他操作系统,如 Windows NT等,都是自成体系,无对
应的相依托的操作系统。这一区别使得 Linux的用户能大大地从 Unix团体贡献中
获利。因为 Unix是世界上使用最普遍、发展最成熟的操作系统之一,它是七十年
代中期发展起来的微机和巨型机的多任务系统,虽然有时接口比较混乱,并缺少
相对集中的标准,但还是发展壮大成为了最广泛使用的操作系统之一。无论是
Unix的作者还是 Unix的用户,都认为只有 Unix才是一个真正的操作系统。
3. 首先你需要明白,Linux不是windows,它不是一个由一家商业公司维护的软件
,
只有一个包装。Linux是可以任意包装自由配置的东西。任何一个人,一家公司
都可以按照自己的想法,比如加一点功能,加中文支持,作一个Linux出来。这些
Linux虽然核心部分都一样,但是他们所带的各种软件,缺省的配置都不一样。区
别
是用一种Linux 发布 (不同的Linux我们叫做不同的发布)也许硬件很好配置,
各种软件也好安装,用另外一种也许速度快,再一种也许支持中文比较好。总之
没有白吃的午餐,在windows下想当然的东西在linux下也许需要你熬夜才能得到
。
所以从一开始选择distribution就必须非常小心,否则因为自己刚好随某个杂志
得到一个Linux发布就以为所有的都一样就开始安装,等硬盘数据毁了,
或者网络哭天跄地也配不出来的时候,就晚了。不是开玩笑,我知道windows下
安装驱动程序就是鼠标点几下,可是在Linux下,为了驱动一个网卡,折腾一夜
是不希奇的 -- 当然,我觉得这是值得的。
所以,面对那么多Linux distribution,你应当选择哪个呢?
比较着名的Linux distribution有:
RedHat:最新版本6.2, 7.0beta。由于RedHat公司已经上市,获得了很多
商业的支持,所以它在硬件软件兼容性上很好。实际上它已经是Linux的
工业标准。想象一下如果你是一个比如Oracle这样厂商的老板,你需要为
Linux开发一个版本,而不同的Linux dist需要单独开发维护,为成本考虑你
自然会只认准一个Linux。
Slackware(7.1)。很早就有的Linux,有很多老的忠实用户,但现在越来越不行了
。
SuSe Linux,德国人做的,在欧洲很流行,有一些驱动上的优势。
另外还有Debian,CorelLinux等dist,不一一介绍了。
还有你会看到国内媒体上吹捧的各种“中文Linux”,他们的优势主要是有
中文处理。但是如前一篇文章提到的,想用中文,用windows 2000最好。实际上
我觉得一个老7字班的前辈跟我说的一句话很好:“(对我们来说)在计算机上看
到
中文本身就是一件很古怪的事情”。如果你是抱着学习计算机的目的而来,那么
你不可能避免阅读英文文档。即使是microsoft的文档,有关编程的文档,最新的
也
全是英文。当然,要上BBS,看中文网页等,用英文的dist一样能做到
4. Linux和Windows的区别
和Linux 一样,Windows系列是完全的多任务操作系统。它们支持同样的用户接口
、网络和安全性。但是,Linux和Windows的真正区别在于,Linux 事实上是Unix
的一种版本,而且来自Unix的贡献非常巨大。是什么使得Unix如此重要?不仅在
于对多用户机器来说,Unix是最流行的操作系统,而且在于它是免费软件的基础
。在Internet上,大量免费软件都是针对Unix系统编写的。由于有众多的Unix厂
商,所以Unix也有许多实现方法。没有一个单独的组织负责Unix的分发。现在,
存在一股巨大的力量推动Unix社团以开放系统的形式走向标准化。另一方面Windo
ws系列是专用系统,由开发操作系统的公司控制接口和设计。在这个意义上这种
公司利润很高,因为它对程序设计和用户接口设计建立了严格的标准,和那些开
放系统社团完全不一样。一些组织正在试图完成标准化Unix程序设计接口的任务
。特别要指出的是,Linux完全兼容POSIX.1标准。
安全问题对于IT管理员来说是需要长期关注的。主管们需要一套框架来对操作系
统的安全性进行合理的评估,包括:基本安全、网络安全和协议,应用协议、发
布与操作、确信度、可信计算、开放标准。在本文中,我们将按照这七个类别比
较微软Windows和Linux的安全性。最终的定性结论是:目前为止,Linux提供了相
对于Windows更好的安全性能,只有一个方面例外(确信度)。
无论按照什么标准对Windows和Linux进行评估,都存在一定的问题:每个操作系
统都不止一个版本。微软的操作系统有Windows98、 Windows NT、 Windows 2000
、 Windows 2003 Server和Windows
CE,而Linux的发行版由于内核(基于2.2、2.4、2.6)的不同和软件包的不同也
有较大的差异。我们本文所使用的操作系统,都是目前的技术而不是那些"古老"
的解决方案。
用户需要记住:Linux和Windows在设计上就存在哲学性的区别。Windows操作系统
倾向于将更多的功能集成到操作系统内部,并将程序与内核相结合;而Linux不同
于Windows,它的内核空间与用户空间有明显的界限。根据设计架构的不同,两者
都可以使操作系统更加安全。
Linux和Windows安全性的基本改变
对于用户来说,Linux和Windows的不断更新引发了两者之间的竞争。用户可以有
自己喜欢的系统,同时也在关注竞争的发展。微软的主动性似乎更高一些――这
是由于业界"冷嘲热讽"的"激励"与Linux的不断发展。微软将在下几个月对Window
s安全进行改观,届时微软会发布Windows XP的WindowsXP Service Pack 2。这一
服务包增强了Windows的安全性,关闭了原先默认开放的许多服务,也提供了新的
补丁管理工具,例如:为了避免受到过多无用的信息,警告服务和信使服务都被
关闭。大多数情况下,关闭这些特性对于增强系统安全性是有好处的,不过很难
在安全性与软件的功能性、灵活性之间作出折衷。
最显着的表现是:微软更加关注改进可用性的同时增强系统的安全性。比如:200
3年许多针对微软的漏洞攻击程序都使用可执行文件作为电子邮件的附件(例如My
Doom)。Service Pack2包括一个附件执行服务,为Outlook/Exchange、 Windows
Messenger和Internet Explorer提供了统一的环境。这样就能降低用户运行可执
行文件时感染病毒或者蠕虫的威胁性。另外,禁止数据页的可执行性也会限制潜
在的缓冲区溢出的威胁。不过,微软在WindowsXP Service Pack
2中并没有修改Windows有问题的架构以及安全传输的部分,而是将这部分重担交
给了用户。
微软的重点显然是支持应用程序的安全性。WindowsXP Service Pack 2中增强的
许多方面都是以Outlook/Exchange和Internet
Explorer作为对象的。例如:Internet Explorer中有一个智能的MIME类型检查,
会对目标的内容类型进行检查,用户可以获悉该内容中是否存在潜在的有害程序
。不过这一软件是不是能将病毒与同事的电子数据表区分开来呢?
WindowsXP Service Pack 2的另一个新特性是能够卸载浏览器的多余插件,这需
要终端用户检查并判断需要卸载哪些插件。Outlook/Exchange可以预览电子邮件
消息,因此用户可以在打开之前就将电子邮件删除。另一个应用安全的增强,防
火墙在网络协议栈之前启动。对于软件开发者来说,远方过程调用中权限的改变
,使得安全性差的代码难以工作正常。
WindowsXP Service Pack 2也为Windows用户提供了许多华丽的新特性,但是问题
仍然存在:这些特性会不会对管理员甚至是终端用户造成负担?是不是在增加了W
indows操作系统代码安全性的同时让系统变得更加复杂?
Linux 与 Windows 的不同
虽然有一些类似之处,但Windows和Linux的工作方式还是存在一些根本的区别。
这些区别只有在您对两者都很熟悉以后才能体会到,但它们却是 Linux 思想的核
心。
Linux 的应用目标是网络而不是打印
Windows最初出现的时候,这个世界还是一个纸张的世界。Windows的伟大成就之
一在于您的工作成果可以方便地看到并打印出来。这样一个开端影响了 Windows
的后期发展。
同样,Linux 也受到了其起源的影响。Linux 的设计定位于网络操作系统。它的
设计灵感来自于 Unix 操作系统,因此它的命令的设计比较简单,或者说是比较
简洁。由于纯文本可以非常好地跨网络工作,所以 Linux 配置文件和数据都以文
本为基础。
对那些熟悉图形环境的人来说,Linux服务器初看可能比较原始。但是Linux开发
更多关注的是它的内在功能而不是表面上的东西。即使是在纯文本的环境中,Lin
ux同样拥有非常先进的网络、脚本和安全能力。执行一些任务所需的某些表面上
看起来比较奇怪的步骤是令人费解的,除非您认识到 Linux 是期望在网络上与其
他 Linux系统协同执行这些任务。Linux的自动执行能力也很强,只需要设计批处
理文件就可以让系统自动完成非常详细的任务。Linux 的这种能力来自于其基于
文本的本质。
可选的 GUI
Linux有图形组件。Linux支持高端的图形适配器和显示器,完全胜任图形相关的
工作。现在,许多数字效果艺术家在Linux工作站上来进行他们的设计工作,而以
前这些工作需要使用IRIX系统来完成。但是,图形环境并没有集成到 Linux 中,
而是运行于系统之上的单独一层。这意味着您可以只运行 GUI,或者在需要时才
运行 GUI。如果您的系统主要任务是提供Web应用,那么您可以停掉图形界面,而
将其所用的内存和CPU资源用于您的服务。如果您需要在 GUI 环境下做一些工作
,可以再打开它,工作完成后再将其关闭。
Linux 有图形化的管理工具,以及日常办公的工具,比如电子邮件、网络浏览器
和文档处理工具等。不过,在 Linux 中,图形化的管理工具通常是控制台 (命令
行) 工具的扩展。也就是说,用图形化工具能完成的所有工作,用控制台命令同
样可以完成。同样,使用图形化工具并不妨碍您对配置文件进行手工修改。其实
际意义可能并不是特别显而易见,但是,如果在图形化管理工具中所做的任何工
作都可以以命令行的方式完成,这就表示那些工作也可以由一个脚本来实现。脚
本化的命令可以成为自动执行的任务。Linux 同时支持这两种方式,并不要求您
只用文本或者只用 GUI。您可以根据您的需要选择最好的方法。
Linux 中的配置文件是人类可读的文本文件,这与过去的 Windows 中的 INI 文
件类似,但与 Windows 的注册表机制在思路上有本质的区别。每一个应用程序都
有其自己的配置文件,而且通常不与其他的配置文件放在一起。不过,大部分的
配置文件都存放于一个目录树 (/etc) 下的单个地方,所以看起来它们在逻辑上
是在一起。文本文件的配置方式使得不通过特殊的系统工具就可以完成配置文件
的备份、检查和编辑工作。
文件名扩展
Linux不使用文件名扩展来识别文件的类型。相反,Linux根据文件的头内容来识
别其类型。为了提高人类可读性您仍可以使用文件名扩展,但这对 Linux 系统来
说没有任何作用。不过,有一些应用程序,比如 Web 服务器,可能使用命名约定
来识别文件类型,但这只是特定的应用程序的要求而不是 Linux 系统本身的要求
。
Linux通过文件访问权限来判断文件是否为可执行文件。任何一个文件都可以赋予
可执行权限,这样程序和脚本的创建者或管理员可以将它们识别为可执行文件。
这样做有利于安全。保存到系统上的可执行的文件不能自动执行,这样就可以防
止许多脚本病毒。
重新引导是最后的手段
如果您使用Windows已经很长时间了,您可能已经习惯出于各种原因(从软件安装
到纠正服务故障)而重新引导系统。在Linux思想中您的这一习惯需要改变。Linu
x在本质上更遵循“牛顿运动定律”。一旦开始运行,它将保持运行状态,直到受
到外来因素的影响,比如硬件的故障。实际上,Linux系统的设计使得应用程序不
会导致内核的崩溃,因此不必经常重新引导(与Windows系统的设计相对而言)。
所以除了Linux内核之外,其他软件的安装、启动、停止和重新配置都不用重新引
导系统。
如果您确实重新引导了 Linux 系统,问题很可能得不到解决,而且还会使问题更
加恶化。学习并掌握 Linux 服务和运行级别是成功解决问题的关键。学习 Linux
最困难的就是克服重新引导系统的习惯。
另外,您可以远程地完成Linux中的很多工作。只要有一些基本的网络服务在运行
,您就可以进入到那个系统。而且,如果系统中一个特定的服务出现了问题,您
可以在进行故障诊断的同时让其他服务继续运行。当您在一个系统上同时运行多
个服务的时候,这种管理方式非常重要。
命令区分大小写
所有的 Linux 命令和选项都区分大小写。例如, -R 与 -r 不同,会去做不同的
事情。控制台命令几乎都是小写的。我们将在“ 第 2 部分. 控制台速成班”中
对命令进行更详细的介绍。
广泛的硬件支持可能是任何流行操作系统最基本的要求,也是可伸缩性的一个重要方面。Windows操作系统在这个方面做得的确非常出色:一方面,Windows的广泛使用使得任何硬件厂商在推出新的硬件时都会把Windows当作标准的平台加以支持,并且不断为新的Windows版本更新驱动程序;另一方面,大量的硬件支持又反过来推动了Windows平台的进一步普及。
Linux的硬件驱动程序通常都是由那些需要这些硬件的用户自己来开发的. Linux的共享性能够很快地给那些常用的硬件提供驱动程序,这些驱动程序需要后续的支持和帮助,来克服潜在的不稳定性。至于一些尚未普及的组件,如各式各样的USB设备,其驱动程序的开发将需要更多的支持,来满足不同用户的需要。
SMP(对称多处理器)支持
CPU是计算机系统的核心部分,是否具有良好的SMP支持将直接影响大型应用下的性能。
Windows 2000 Advanced Server的零售版本最多支持四路SMP,OEM版可以支持最多达32路的SMP。对CPU的支持级别和Windows 4.0相比没有什么变化,但是对SMP的实现代码进行了改进,使得高性能的缩放可以更为“线性”地进行。Windows NT Server 4.0企业版已经实现了创纪录的性能价格水平,随着对SMP缩放的改进,这一趋势将在Windows 2000 Advanced Server和Datacenter Server中得到延续。在采用八路设计或者多于八路设计的系统中,性能的提高最为明显。
而Linux正致力于解决核心部分中的SMP支持,以提高Linux在大型应用下的性能。尽管Linux不是为SMP而设计的,Linux Torvalds也曾经说过Linux的SMP评测表现很差,但是我们期望这些问题能够在2.4版本内核中得到解决,使更多的学校或者企业可以使用经过考验的Linux来实现他们的核心程序。
对群集的支持
Windows 2000 Server具有强大的群集功能。Compaq最近之所以能在TPC-C比赛中傲视群雄,击败所有对手,靠的就是一个巨大的有着12个节点,96个处理器的群集,而它们运行的是Windows 2000 Server。
尽管Linux没有在高端系统中运行关键性应用程序方面有出色记录,但最近Linux在群集项目也发布了不少东西,希望Linux的开发者大军可以开发出更完善的群集功能
对特定计算环境的支持
使每一个系统都有适合于自己的工作场合,这就是系统对特定计算环境的支持。
微软开发了不同的操作系统来完成不同类型的任务。Windows CE适用于小型的手持式电脑和笔记本电脑,Windows 95/98和Windows 2000 Professional适用于桌面计算机,而Windows NT 4.0和Windows 2000 Server则适用于大型服务器应用程序。作为一个系列操作系统家族,Windows对各种不同的工作环境提供了良好的伸缩性支持。
由于Linux大部分可用的平台处于开发的初始阶段,对于各种不同计算环境的支持将是Linux系统的下一步目标。
文档编制
众所周知,随着系统变得越来越复杂,功能越来越强大,编制一个好的文档是非常重要的。这有助于用户对系统的理解和管理。详尽的文档说明,有助于我们熟练地掌握它所有的功能和特性。
微软通常为其产品提供了深入细致的文档说明,在文档的本地化方面也做得很好。Linux产品的文档说明需要进一步的规范。
回答者:可爱的小刚丝 - 试用期 一级 9-6 13:12
1、从系统构成上来说,linux是开源软件,而windows不是。那就意味着,如果你喜欢你可以对linux系统做你想做的任何改动。而这点对于windows来说,是想也不要想的。
2、从运行的稳定性来说。各有利弊。但linux的任何程序都是相对独立的,哪怕gnome和kde(图形界面)也是独立的。而软件的崩溃只是软件的崩溃,很少造成系统的瘫痪(死机)。只有重新运行程序就好了。windows吗,就不用说了,没见过windows死机的人,我没见过。
3、从多用户来说,linux是真正的多用户系统。可以多个用户真正登录,这对于windows来说,虽然也有了雏形,但太儿戏化了,摆设而已。
4、对于中文的支持来说。windows的多个版本对于windows的支持是很强的。字体也很漂亮。而linux虽然也支持中文,但要完全支持中文是要手动做很多设置的,不过就算做的再好。总有机会看到中文乱码的(因为几乎每个软件都要设置字体和字符编码的)。而且中文的字体比较烦,不是很好看。(好看的基本都不是开源的。ps:如果你都不想为操作系统花钱,还会去买几个字体吗。当然也有盗版@不是用linux的初衷了。)
5、对于系统更新来说,apt是目前linux不二的选择了,快捷普遍、简单。而且无什么正版验证之虞的。windows也不错,可以漏洞总比补丁来的快,更何况我没用过正版的呢。
6、从安全性来说。其实上一条也说过这个问题了。我们用windows时,杀毒软件、防火墙、防垃圾软件、防间谍软件占去了大部分的系统资源。可这样还是防不胜防的。有谁没中过毒或木马、流氓软件呢?
linux?不用这些烦人的东西。
7、从应用软件来说,虽然linux下的软件有很多,但和windows来说,真的没办法比的。谁让windows几乎成了操作系统的代名了呢。
8、从易用性来说,我自我的感觉,在常用的windows、mac、linux中,无论界面、鼠标操作、文件格式,windows都是相当容易上手的。其他的操作系统,几乎都要是摸索中探索的。更何况linux的很多配置都是基于文档的,也就是要手工的修改一些配置文件。对于想我这样的老人来说,厄长的代码,明天还能记得否?
windows几乎一支鼠标就能解决所有问题。呵呵
9、综述:当然各种的优缺点远不至就这些,就不过说了。
如果要出于个人应用的话,还是用windows吧。学习容易,资料好早。
如果出于学习的话,还是用用linux吧,但你要做好不厌其烦的心理准备!对于混乱的linux版本来说,你要记得同样的问题,可以有n种解决办法,但可能只有一种合适你的。网上资料相对比较匮乏,比较单一,而且抄袭严重。
linux我推荐用新华linux,中文化很好了(少烦很多神的),论坛也做的不错。
‘贰’ Linux常用命令:cd高级用法
Linux常用命令:cd高级用法
cd是计算机中DOS命令。那么在Linux系统中cd命令有什么用法呢?下面我为大家简单讲解如下:
一、格式:
cd directory
使用cd命令在目录层次间移动。
其实:cd命令除了在各种目录(Windows下叫文件夹)切换外就没啥大作用了
二、命令cd牵扯到2个关于路径的概念:
1、绝对路径;
2、相对路径
绝对路径的"绝对",指的是"/"目录,即从"/"目录开始书写cd的参数。
上图第一个pwd 表示显示【当前目录的绝对路径】
第一个cd目的`是切换出当前路径,第二个cd命令后面的路径就是要跳转的绝对路径。
第三个pwd表示已经通过绝对路径的跳转方式进入路径/home/ku/training/cd_test目录
相对路径的"相对",指的是当前目录。即:从当前目录跳转到目标目录。
命令cd 后的路径 ".."表示上一级目录,"../"也表示上一级目录,"../xx"表示上一级目录的xx目录。
上面的cd命令都是最近本的使用方式,下面介绍一些高档的cd命令参数
三、高级使用
1、假如从一个很深的路径A跳入另一个很深的路径B,又想跳回路径A,难道要重新输入路径A的绝对路径吗?
答:No No! 使用cd - ,参数是 英文半角减号 "-",只要你会了这个参数,就能A跳B,B跳A,跳到吐都很简单。
2、要想快速进入当前用户家目录,怎么用参数?
答:命令cd ~直接cd
上图用户就是root,所以cd ~之后进入的是/root目录。
;‘叁’ 求助:LINUX常用SHELL命令
分类: 电脑/网络 >> 操作系统/系统故障
问题描述:
欢迎大家的投稿!!!!!!!
解析:
LINUX常用命令
1 文件与目录操作命令
1.1文件内容查询命令
grep、fgrep、egrep
CODE:[Copy to clipboard]语法:grep[选项][查找模式][文件名1,文件名2,……]
选项:
QUOTE:
-E 每个模式作为一个扩展的正则表达式对待
-F 每个模式作为一组固定字符串对待,而不作为正则表达式
-i 比较时不区分大小写
-l 显示首次匹配匹配串所在的文件名并用换行符将其分开。当在文件中多次出现匹配串时,不重复显示次文件名;
-x 只显示整行严格匹配的行
1.2文件查找命令 find、locate
语法:
CODE:[Copy to clipboard]find 起始目录 寻找条件 操作
以名称和文件属性查找
QUOTE:
-name‘字串‘ 查找文件名匹配所给字串的所有文件,字串内可用通配符*、?、[]。
-lname‘字串‘ 查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符*、?、[]。
-gid n 查找属于ID号为n的用户组的所有文件。
-uid n 查找属于ID号为n的用户的所有文件。
-group‘字串‘ 查找属于用户组名为所给字串的所有的文件。
-user‘字串‘ 查找属于用户名为所给字串的所有的文件。
-path‘字串‘ 查找路径名匹配所给字串的所有文件,字串内可用通配符*、?、[]。
-perm 权限 查找具有指定权限的文件和目录,权限的表示可以如711、644。
-type x 查找类型为 x的文件,
语法:locate 相关字
1.3文件的复制、删除和移动命令
文件复制命令
CODE:[Copy to clipboard]cp [选项] 源文件或目录 目标文件或目录
选项:
QUOTE:
- a 通常在拷贝目录时使用
-d 拷贝时保留连接
-f 删除已经存在的目标文件而不提示
-i 和f选项相反
-p 此时cp除复制源文件内容外,还将其修改的时间和访问权限也复制到新文件中
-r 若给出的源文件是一目录文件,此时cp将递归复制该目录下的所有的子目录和文件,此时目标文件必须为一个目录名;
-l 不作拷贝,只是链接文件
文件移动命令
CODE:[Copy to clipboard]mv[选项] 源文件或目录 目标文件或目录
QUOTE:
-i 交互式操作
-f 禁止交互式操作
文件删除命令
CODE:[Copy to clipboard]rm[选项] 文件…
QUOTE:
-f 忽略不存在的文件,从不给出提示
-r 指示rm将参数中列出的全部目录和子目录均递归地删除
-i 进行交互式删除
1.4文件链接命令
CODE:[Copy to clipboard]ln [选项] 目标 [链接名] 或 ln [选项] 目标 目录
QUOTE:
选项:
- s 建立符号链接
1.5目录的创建和删除命令
mkdir 创建一个目录
语法:
CODE:[Copy to clipboard]mkdir [选项] dirname
选项:
- m 对新建目录设置存取权限
-p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
rmdir 删除空目录
语法:
CODE:[Copy to clipboard]rmdir [选项] dirname
QUOTE:
选项:
- p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。
1.6改变工作目录,显示目录内容命令
1、改变工作目录:
CODE:[Copy to clipboard]cd [directory]
2、显示当前工作的目录的绝对路径:
CODE:[Copy to clipboard]pwd
3、显示目录内容:
CODE:[Copy to clipboard]ls [选项] [目录或是文件]
QUOTE:
选项:
- a 显示指定目录下所有子目录与文件,包括隐藏文件;
-c 按照文件的修改时间排序
-C 分成多列显示各项
-d 如果参数是目录,只显示其名称而不显示其下的个文件
-F 在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记“@”,管道(或FIFO)后面标记“|”,socket文件后面标记“=”。
-l 以长格式来显示文件的详细信息
-L 若指定的名称为一个符号链接,则显示链接所指向的文件
-t 显示时按修改时间而不是名字排序
-u 显示时按文件上次存取的时间而不是名字排序
4、改变文件或目录的访问权限命令
CODE:[Copy to clipboard]chmod [who] [+| - | = ] [mode] 文件名?
QUOTE:
Who选项:
- u表示用户,即文件和目录的所有者
-g表示同组用户
-o(other)表示其他用户
-a (all)表示所有用户
QUOTE:
操作符号:
+ 添加某个权限 - 取消某个权限
= 赋予给定权限并取消其他所有的权限(如果有的话)
QUOTE:
mode 选项:
- r 可读
-w 可写
-x 可执行
CODE:[Copy to clipboard]chgrp [-R] group filename? 改变目录或文件所属的组
CODE:[Copy to clipboard]chown [-Rv] 用户或组 文件
1.7备份与压缩命令
1、tar命令 为文件和目录创建档案
语法:
CODE:[Copy to clipboard]tar [主选项+辅助选项] 文件或者目录
QUOTE:
u 主选项
c 创建新的档案文件。如果用户想备份一个目录或是一些文件,则选此项
r 把要存档的文件追加到档案文件的末尾
t 列出档案文件的内容,查看已经备份了哪些文件;
u 更新文件
x 从档案文件中释放文件;
u 辅助选项
b 该选项为磁带机设定的,其后跟一位数字,用来说明区块的大小,系统预设值为20
f 使用档案文件或设备,这个选项通常是必选的
k 保存已经存在的文件。例如把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖;
m 在还原文件时,把所有文件的修改时间设定为现在;
M 创建多卷的档案文件,以便在几个磁盘中存放;
v 详细报告tar处理的文件信息
w 每一步都要求确认
z 用gzip来压缩/解压缩文件
2、gzip命令 压缩/解压缩命令
语法:
CODE:[Copy to clipboard]gzip [选项] 压缩(解压缩)的文件名
QUOTE:
选项:
-c 将输出写到标准输出上,并保留原有文件
-d 将压缩文件解压
-l 显示每个压缩文件的详细信息
-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩
-t 测试、检查压缩文件是否完整
-v 对每一个压缩和解压的文件,显示文件名和压缩比
3、unzip 命令
用MS windows下的压缩软件winzip压缩的文件在linux系统下展开
语法:
CODE:[Copy to clipboard]unzip [选项] 压缩文件名.zip
QUOTE:
选项:
-x 文件列表 解压缩文件,但不包括指定的file文件
-v 查看压缩文件目录,但不解压
-t 测试文件有无损坏 ,但不解压
-d 目录 将压缩文件解到指定目录下
-z 只显示压缩文件的注解
-n 不覆盖已经存在的文件
-o 覆盖已经存在的文件且不要求用户确认
-j 不重建文档的目录结构,把所有文件解压到同一目录下
1.8在LINUX环境下运行DOS命令
linux系统提供了一组称为mtools的可移植工具,可以让用户轻松地从标准的DOS软盘上读写文件和目录。
QUOTE:
mcd 目录名 改变MSDOS目录
m 源文件 目标文件 在MSDOS和UNIX之间复制文件;
mdel 目录名 删除MSDOS目录
mdir 目录名 显示MSDOS目录
mformat 驱动器号 在低级格式化的软盘上创建MSDOS文件系统
rnlabel 驱动器号 产生MSDOS卷标
mmd 目录名 删除MSDOS目录
mren 源文件 目标文件 重新命名已存在的MSDOS文件
mtype 文件名 显示MSDOS文件的内容
2 设备管理命令
1)linux采用下面的形式定义一个IDE硬盘:
CODE:[Copy to clipboard]/dev/hd[drive][partition]
2)SCSI硬盘使用同样的机制表示:
CODE:[Copy to clipboard]/dev/sd[drive][partition]
3)对于一般的LINUX分区,可以用mkfs将其格式化并生成文件系统,命令如下:
CODE:[Copy to clipboard]mk2fs –c <partition>; <size>;
4)装载文件系统:
CODE:[Copy to clipboard]mount –t ext2 [-o optioms] partition mountpiont
其中,
QUOTE:
-t为指定装载文件系统的类型;
-o指定一些选项,如只读ro,可读可写rw等等;
partition定义分区名称;
mountpiont定义文件系统被装载的目录名称。
5)装载CD-ROM文件系统:
CODE:[Copy to clipboard]mount –t iso9660 –r /dev/cdrom /mnt/cdrom
6)装载软驱文件系统:
CODE:[Copy to clipboard]mount –t msdos –rw /dev/fd0 /dev/mnt/floppy
7)卸载文件系统
CODE:[Copy to clipboard]umount /mnt/cdrom
磁带设备的安装要注意以下几点:
QUOTE:
1、 首先要选择一个唯一的SCSI ID号,然后再将设备链接到适当的位置
2、 选择驱动程序。
3、 生成设备文件。SCSI磁带设备的主要设备号是9,次要设备号是0。设备文件名通常是/dev/nrst0(不支持回绕的磁带设备)或/dev/nst0(支持回绕的磁带设备)
用 ls /dev/*rst*
检查磁带设备文件是否存在,如果不存在,用
mknod –m 666 /dev/nrst0 c 9 9
mknod –m 666 /dev/rst0 c 9 0 生成
4、 可以对块长度、缓存、磁带密度等参数进行一些设置,例如
mt setblk 20 将块长度指定为20
mt setblk 0 指定块程度没有限制
5、 通过检查系统的启动信息可以确定系统是否识别了新的磁带设备。用dmesg命令,查看是否有以下类似的信息:
aha274x:target 4now synchronous at 4.4Mb/s
Vendor:TANDBERG Model:TDC 3800 Rev: =05:
Type: Sequential-Access ANSI SCSI revision: 02
Detected scsi tape st0 at scsi0, id4, lun0
Scsi : detected 1 SCSI tape 1 SCSI crom 1 SCSI disk total
3 软件包管理命令
3.1软件安装的步骤
在LINUX系统上安装软件的步骤有:
QUOTE:
1、 查找所要安装软件的源文件
2、 把源文件解开放到一个目录中,命令如下:
tar zxvf <源文件名>;
3、 针对本操作系统配置源文件。可以是编辑make文件或其他文件,也可能是运行该软件自带的自动配置工具,如./configure
4、 make源文件,通常是运行make命令,即执行 make
5、 安装二进制文件和其他支撑文件,运行命令: make install
6、 最后,完成所有其他必须的配置
3.2软件包管理命令
QUOTE:
rpm –ivh <软件包>;
安装指定的软件包,并在安装过程中用#表示安装的进度
rpm –Uvh <软件包>;
更新一个已经存在的或还没安装好的软件包,并删除所有该软件包的旧版本。
rpm –e
卸载一个rpm软件包
rpm –qa
查看系统中已经安装的软件包
rpm –q <软件包>;
查看系统中某个软件包的版本号;
rpm –qlp <软件包>;
列出某个软件包中的所有文件
rpm –qf <软件包>;
找出一个文件属于哪个软件包
4 LINUX系统常用命令
4.1 与系统管理有关的命令
Wall (Write All)
QUOTE:
对全部已 登录的用户发送信息,用户可以先反要发送的信息写好存入一个文件中,然后输入:
# wall < FileName
例:Wall ‘Thank you !’
Write
向某一用户发送信息。
Write xxq
hello
输入Ctrl+C组合即可终止
Shutdown命令
CODE:[Copy to clipboard]Shutdown [选项] [时间] [警告信息]
QUOTE:
-k 并不真正关机,而只是发出警告信息给所有的用户。
-r 关机后立即重新启动。
-h 关机后不重新启动。
-f 快速关机,启动时跳过fsck。
-n快速关机,不经过init程序。
-c 取消一个已经运行的shutdown
例:系统马上关机:Shutdown –h now
Free命令
查看当前系统内存的使用情况,
CODE:[Copy to clipboard]Free [-b] [-k] [-m]
CODE:[Copy to clipboard]-b 以字节为单位显示。
-k 以K字节为单位显示。
-m 以M字节为单位显示。
Uptime
QUOTE:
显示系统已经运行了多长的时间:现在时间、系统已经运行的时间、目前有多少登录用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。
4.2与用户有关的命令
Passwd命令
设置、更换用户口令。
CODE:[Copy to clipboard]Passwd [用户名]
Su
使一个普通的用户具有超级用户的权利,离开可用EXIT命令。
4.3其它命令
Echo命令
在显示器上显示一段文字,一般起到一个提示的作用。
CODE:[Copy to clipboard]echo [-n] 字符串
Cal命令
显示某年某月的日历。
CODE:[Copy to clipboard]cal [选项] [月[年]]
QUOTE:
选项的含义:
-j 显示也给定月中的每一天是一年中的和几天(从1月1日算起)。
-y 显示也整年的日历。
Date命令
date命令的功能是显示和设置系统日期和时间。
4.4磁盘管理
磁盘空间管理
df命令
检查文件系统的磁盘空间占用局部。
CODE:[Copy to clipboard]Df [选项]
QUOTE:
-a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。
-k 以K字节为单位显示。
-i 显示i节点信息,而不是磁盘块。
- t 显示各指定类型的文件系统的磁盘空间使用情况。
-x 列出不是某一指定类型文件系统的磁盘窨使用情况(与t相反)。
-T 显示文件系统类型。
命令
的英文原意为disk usage,含义为显示磁盘空间的使用情况。功能是统计目录(或文件)所占磁盘空间的大小。
CODE:[Copy to clipboard] [选项] [Names…]
QUOTE:
-s 对每人Names 参数只给也占用的数据块总数。
-a 递归地显示指定目录中各文件用子孙目录中的各文件占用的数据块总数。
-b 以字节为单位列也磁盘窨使用情部(缺省以K字节为单位)
-k 以1024字节为单位列也磁盘空间使用情况。
-c 最后再加上一个总计(系统缺省)
-l 计算所有的文件大小,对硬链接文件,则计算多次。
-x 跳过在不同文件系统上的目录不予统计。
dd命令
把指定的输入文件拷贝到指定的输出文件中,并且在拷贝的过程中可以进行格式转换。语法:
CODE:[Copy to clipboard]dd 〔选项〕
QUOTE:
if =输入文件(或设备名称)。
of =输出文件(或设备名称)。
ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。
skip = blocks 跳过读入缓冲区开头的ibs*blocks块。
obs = bytes 一次写入bytes字节,即写 入缓冲区的字节数。
bs = bytes 同时设置读/写缓冲区的字节数(等于设置obs和obs)。
cbs = bytes 一次转换bytes字节。
count = blocks 只拷贝输入的blocks块。
conv = ASCII 把EBCDIC码转换为ASCII码。
conv = ebcdic 把ASCII码转换为EBCDIC码。
conv = ibm 把ASCII码转换为alternate EBCDIC码。
conv = blick 把变动位转换成固定字符。
conv = ublock 把固定们转换成变动位
conv = ucase 把字母由小写变为大写。
conv = lcase 把字母由大写变为小写。
conv = notrunc 不截短输出文件。
conv = swab 交换每一对输入字节。
conv = noerror 出错时不停止处理。
conv = sync 把每个输入记录的大小都调到ibs的大小(用ibs填充)。
fdformat命令
低级格式化软盘。
CODE:[Copy to clipboard]format [-n] device
QUOTE:
-n 格式化后不做检验
4.5常用的网络命令
FTP命令
Tel命令。
Netstat命令
QUOTE:
-a 显示所有的scoket,包括正在监听和。
-c 每隔1秒就重新显示一遍,直到用户中断它。
-i 显示所有网络接口的信息,格式同”ifconfig –e”
-n 以网络IP地址代替名称,显示也网络连接情形。
-r 显示核心路由表,格式同”route –e:。
-t 显示TCP协议的连接情况。
-u 显示UDP协议的连接情况。
-v 显示正在进行的工作。
nslookup命令。
finger命令,功能是查询用户的信息。
ping命令。
(用户和组的管理可以使用工具:TurboUserCfg或是XturboUserCfg。)
4.6有关进程的命令。
进程和启动
CODE:[Copy to clipboard]at [-V] [-q] [-f文件名] [-mldbv]时间
at –c 作业 [作业….]
AT命令启动的进程系统只执行一次。
batch [-V] [-q 队列] [-f 文件名] [-mv] [时间]
在系统负载较小时,资源比较空闲时执行。
cron命令
按一定的时间间隔执行命令。
crontab命令
用于安装、删除或列出用于驱支cron后台进程的表格。
进程查看
CODE:[Copy to clipboard]who命令。
w命令
是一个比who命令更强大的命令
w –[husfV] [user]
-h 不显示标题。
-u 当列出当前进程和CPU时间时忽略用户名。
-s 使用短模式。不显示登录时间JCPU和PCPU时间。
-f 切换显示FROM项,也就是远程主机名项。
-V 显示版本信息。
user 只显示指定用户的情况。
ps命令。
-e 显示所有进程。
-f 全格式
-h 不显示标题。
-l 长格式。
-w 宽输出。
a 显示终端上所有进程,包括其他用户的进程。
r 只显示正在运行的进程。
x 显示没有控制终端的进程。
top 命令
动态显示系统当前的进程和其他状况。
5系统的启动过程。
5.1初始启动
在PC机启动时,BIOS从指定的启动设备中读入“主引导记录”(MBR)。MBR的格式是:
地址偏移量 内容 大小
+00 h 可执行的代码(启动模块) 可能变化
+1BE h 第一分区表项 16字节
+1CE h 第二分区表项 16字节
+1DE h 第三分区表项 16字节
+1EE h 第四分区表项 16字节
+1FE h 可执行的标记(AA55 h) 2字节
启动模块包含足以装入操作系统的代码,或者是第二步的加载代码的位置。启动模块需要使用BIOS调用来从磁盘装入数据,而这些中断调用,如INT 13h等,限制了最大磁盘柱面号为1023。这也就是说启动模块需要加载的一切内容,如初始内存磁盘、内核、启动的时间信息等,必须存放在1024个柱面以内。
在MBR中只有四个分区表项,每个表项的格式如下:
地址偏移 内容 大小
+00h 分区状态:00代表非启动分区,80h代表启动分区 1字节
+01h 分区的起始位置 磁头 1字节
+02h 分区的起始位置 柱面和扇区 1字节
+04h 分区的类型 1字节
+05h 分区的结束位置 磁头 1字节
+06h 分区的结束位置 柱面和扇区 1字节
+08h 在主引导区和本分区的第一个扇区间的扇区数目 4字节
+0Ch 分区内的扇区数目 4字节
5.2 Linux的启动过程
1启动的命令行参数
在Linux启动时,它处理所有传递给它的命令行参数。这可以影响Linux的运行方式。命令行参数包括:
QUOTE:
mem=xxxM:定Linux可以使用的内存大小。这在用户的计算机系统有超过64MB的内存时才需要。因为从前的主板只对第一个64MB内存进行缓存,使用超过64MB的内存会使整个计算机的性能下降,所有内存均按无缓存的速度运行。
single:使Linux按单用户方式启动,缺省方式是多用户方式。
root=/dev/xxx:指定Linux要安装为根文件系统的设备。
init=<file>;:指定作为初始化进程的文件。
initrd=<dev>;:指定作为初始内存磁盘的设备。
ro:指定根文件系统为只读。
rw:指定根文件系统为可读可写。
2 Init进程
在内核初始化自身和找到的硬件设备后,在后台启动进程init(/ *** in/init),init进程号1运行。
在UNIX世界中有许多启动过程的版本,一些是基于系统V,一些是基于BSD。大多数Linux版本使用系统V的实现方法,在这里描述的就是这样。
init是由文件/etc/inittab内容和功能控制的,随启动模式是单用户或多用户而不同。
QUOTE:
单用户模式:init进程忽略/etc/inittab文件,在执行少数几个脚本程序后调用/dev/console shell。这样,用户就可以有了一个shell,而且可以执行一定限度的任务。
多用户模式:init进程把系统带入/etc/inittab文件指定的运行级别。Init通过标准的Linux方法进入一个指定的进行级别。
3.进行级别
Linux与其他UNIX操作系统一样,可以任何时刻处于任何一个运行级别。这些运行级别提供的功能不同,为主要是由于其运行的服务方程序(后台daemon)的不同造成的。Linux共有6种运行级别。
QUOTE:
0:关闭计算机或终止计算机运行,这个级别就是系统停止运行。
1:单用户启动级别,系统只有一个用户,就是root,该用户在控制台登录。
2:多用户运行级别,但无网络功能。在这个运行级别,网络功能没有启动,但是系统允许多个用户登录,可以通过虚拟控制台或串行线路。
3:多用户模式,有网络功能。在这个运行级别,所有标准网络服务均被启动。
4:目前没有实现。
5:X11运行级别,在这个运行级别,X服务器软件运行,提供图形界面的登录方式。
6:系统重新启动。
查询当前运行级别:runlevel;
4在启动过程中运行的脚本
在init进程运行时,它负责查看缺省的运行级别,并进入该运行级别。这是通过运行在/etc/rc.d/rcX.d目录下的脚本程序来实现的,其中X代表运行的级别,即一个运行级别对应一个目录。不同的字母开头的文件有不同的作用。其中:
以K开头的脚本程序是系统离开某个运行级别时执行的,作用是停止某种服务。当系统从某个支持级别变为其他级别时,首先要进行原运行级别所对应的所有K程序。
以S开头的脚本程序是系统进入某个运行级别时所执行的,作用是启动某种服务。当系统改变为某个运行级别时,就要运行新运行级别所对应的所有S程序。
5增加启动脚本程序
用户可能有一些特定的硬件设备要初始化,或需要在系统启动时初始化一些其他应用程序,用户可以增加自己的初始化脚本程序来完成这些工作。通常步骤是:
复制一个已经存在的脚本,这样可以得到一个通用的框架格式。
修改这个脚本,以完成自己的需求,要注意使程序可以处理启动和关闭的参数,尽管可能关闭处理什么也不需要干。
把这个肢本拷贝到/etc/rc.d/init.d目录下,命名为”serv”。
按下面的方法在相应的目录下建立运行控制链接:
CODE:[Copy to clipboard]ln –s ../init.d/serv/etc/rc.d/rc3.d/s99 serv
进行测试。
6 LILO和其他的启动模块
要启动Linux,启动模块是必须的。一般用于Linux的启动模块是LILO,LILO用自己的主引导区代替一般的主引导区。LILO可以通过修改/etc/lilo.conf文件内容来进行配置,对引导区内容的更新通过lilo命令来完成。
下面给也了一个装有DOS,TurboLinux3.4.0和RedHat 5.2系统的计算机的lilo.conf文件。在例子中的数字标号是用户加上去并要在文中详细解释的。
CODE:[Copy to clipboard]# more /etc/lilo.conf
boot=dev/had
map=/boot/map
instll/boot/boot.b
prompt
#表示启动盘是/dev/had,这是主IDE硬盘。
timeout=50
#表示等待用户输入的时间是50秒。
default=TL3.4
other=dev/hda1
#表示如果在上述的时间内没有输入,缺省的启动系统是TL3.4,即TurboLinux 3.4.0
label=dos
table=dev/had
#表示如果在LILO提示用户输入启动系统时,用户按了<Tab>;键,各个系统将以label的内容显示出来,供用户选择。
image=/mnt/tl3.4/boot/vmlinuz
label=TL3.4
root=/dev/hda3
read-only
TurboLinux的启动文件,/mnt/tl3.4/boot/vmlinuz被确定,根文件系统在/dev/hda3,根文件系统是只读方式的。
CODE:[Copy to clipboard]image=/mnt/rh5.2/boot/vmlinuz-2.0.36-0.7
label=RH5.2
root=/dev/hda4
read-only
RedHat的启动文件,/mnt/rh5.2/boot/vmlinuz-2.0,36-0.7被确定,根文件系统在/dev/hda4,根文件系统可读写。