linux里面的sed命令怎么用,做什么的?请详细说明

linux里面的sed命令怎么用,做什么的?请详细说明,第1张

sed 编辑器是 Linux 系统管理员的工具包中最有用的资产之一

Linux *** 作系统最大的一个好处是它带有各种各样的实用工具。存在如此之多不同的实用工具,几乎不可能知道并了解所有这些工具。可以简化关键情况下 *** 作的一个实用 工具是 sed。它是任何管理员的工具包中最强大的工具之一,并且可以证明它自己在关键情况下非常有价值。

sed 实用工具是一个“编辑器”,但它与其它大多数编辑器不同。除了不面向屏幕之外,它还是非交互式的。这意味着您必须将要对数据执行的命令插入到命令行或要处 理的脚本中。当显示它时,请忘记您在使用 Microsoft Word 或其它大多数编辑器时拥有的交互式编辑文件功能。sed 在一个文件(或文件集)中非交互式、并且不加询问地接收一系列的命令并执行它们。因而,它流经文本就如同水流经溪流一样,因而 sed 恰当地代表了流编辑器。它可以用来将所有出现的 "Mr. Smyth" 修改为 "Mr. Smith",或将 "tiger cub" 修改为 "wolf cub"。流编辑器非常适合于执行重复的编辑,这种重复编辑如果由人工完成将花费大量的时间。其参数可能和一次性使用一个简单的 *** 作所需的参数一样有限, 或者和一个具有成千上万行要进行编辑修改的脚本文件一样复杂。sed 是 Linux 和 UNIX 工具箱中最有用的工具之一,且使用的参数非常少。

sed 的工作方式

sed 实用工具按顺序逐行将文件读入到内存中。然后,它执行为该行指定的所有 *** 作,并在完成请求的修改之后将该行放回到内存中,以将其转储至终端。完成了这一行 上的所有 *** 作之后,它读取文件的下一行,然后重复该过程直到它完成该文件。如同前面所提到的,默认输出是将每一行的内容输出到屏幕上。在这里,开始涉及到 两个重要的因素—首先,输出可以被重定向到另一文件中,以保存变化;第二,源文件(默认地)保持不被修改。sed 默认读取整个文件并对其中的每一行进行修改。不过,可以按需要将 *** 作限制在指定的行上。

该实用工具的语法为:

sed [options] '{command}' [filename]

在这篇文章中,我们将浏览最常用的命令和选项,并演示它们如何工作,以及它们适于在何处使用。

替换命令

sed 实用工具以及其它任何类似的编辑器的最常用的命令之一是用一个值替换另一个值。用来实现这一目的的 *** 作的命令部分语法是:

's/{old value}/{new value}/'

因而,下面演示了如何非常简单地将 "tiger" 修改为 "wolf":

$ echo The tiger cubs will meet on Tuesday after school | sed

's/tiger/wolf/'

The wolf cubs will meet on Tuesday after school

$

注意如果输入是源自之前的命令输出,则不需要指定文件名—同样的原则也适用于 awk、sort 和其它大多数 LinuxUNIX 命令行实用工具程序。

多次修改

如果需要对同一文件或行作多次修改,可以有三种方法来实现它。第一种是使用 "-e" 选项,它通知程序使用了多条编辑命令。例如:

$ echo The tiger cubs will meet on Tuesday after school | sed -e '

s/tiger/wolf/' -e 's/after/before/'

The wolf cubs will meet on Tuesday before school

$

这是实现它的非常复杂的方法,因此 "-e" 选项不常被大范围使用。更好的方法是用分号来分隔命令:

$ echo The tiger cubs will meet on Tuesday after school | sed '

s/tiger/wolf/s/after/before/'

The wolf cubs will meet on Tuesday before school

$

注 意分号必须是紧跟斜线之后的下一个字符。如果两者之间有一个空格, *** 作将不能成功完成,并返回一条错误消息。这两种方法都很好,但许多管理员更喜欢另一种 方法。要注意的一个关键问题是,两个撇号 (' ') 之间的全部内容都被解释为 sed 命令。直到您输入了第二个撇号,读入这些命令的 shell 程序才会认为您完成了输入。这意味着可以在多行上输入命令—同时 Linux 将提示符从 PS1 变为一个延续提示符(通常为 ">")—直到输入了第二个撇号。一旦输入了第二个撇号,并且按下了 Enter 键,则处理就进行并产生相同的结果,如下所示:

$ echo The tiger cubs will meet on Tuesday after school | sed '

>s/tiger/wolf/

>s/after/before/'

The wolf cubs will meet on Tuesday before school

$

全局修改

让我们开始一次看似简单的编辑。假定在要修改的消息中出现了多次要修改的项目。默认方式下,结果可能和预期的有所不同,如下所示:

$ echo The tiger cubs will meet this Tuesday at the same time

as the meeting last Tuesday | sed 's/Tuesday/Thursday/'

The tiger cubs will meet this Thursday at the same time

as the meeting last Tuesday

$

与 将出现的每个 "Tuesday" 修改为 "Thursday" 相反,sed 编辑器在找到一个要修改的项目并作了修改之后继续处理下一行,而不读整行。sed 命令功能大体上类似于替换命令,这意味着它们都处理每一行中出现的第一个选定序列。为了替换出现的每一个项目,在同一行中出现多个要替换的项目的情况下, 您必须指定在全局进行该 *** 作:

$ echo The tiger cubs will meet this Tuesday at the same time

as the meeting last Tuesday | sed 's/Tuesday/Thursday/g'

The tiger cubs will meet this Thursday at the same time

as the meeting last Thursday

$

请记住不管您要查找的序列是否仅包含一个字符或词组,这种对全局化的要求都是必需的。

sed 还可以用来修改记录字段分隔符。例如,以下命令将把所有的 tab 修改为空格:

sed 's// /g'

其 中,第一组斜线之间的项目是一个 tab,而第二组斜线之间的项目是一个空格。作为一条通用的规则,sed 可以用来将任意的可打印字符修改为任意其它的可打印字符。如果您想将不可打印字符修改为可打印字符—例如,铃铛修改为单词 "bell"—sed 不是适于完成这项工作的工具(但 tr 是)。

有时,您不想修改在一个文件中出现的所有指定项目。有时,您只想在满足某些条件时才作修改—例如,在与其它一些数据匹配之后才作修改。为了说明这一点,请考虑以下文本文件:

$ cat sample_one

one 1

two 1

three 1

one 1

two 1

two 1

three 1

$

假定希望用 "2" 来替换 "1",但仅在单词 "two" 之后才作替换,而不是每一行的所有位置。通过指定在给出替换命令之前必须存在一次匹配,可以实现这一点:

$ sed '/two/ s/1/2/' sample_one

one 1

two 2

three 1

one 1

two 2

two 2

three 1

$

现在,使其更加准确:

$ sed '

>/two/ s/1/2/

>/three/ s/1/3/' sample_one

one 1

two 2

three 3

one 1

two 2

two 2

three 3

$

请 再次记住唯一改变了的是显示。如果您查看源文件,您将发现它始终保持不变。您必须将输出保存至另一个文件,以实现永久保存。值得重复的是,不对源文件作修 改实际是祸中有福—它让您能够对文件进行试验而不会造成任何实际的损害,直到让正确命令以您预期和希望的方式进行工作。

以下命令将修改后的输出保存至一个新的文件:

$ sed '

>/two/ s/1/2/

>/three/ s/1/3/' sample_one >sample_two

该输出文件将所有修改合并在其中,并且这些修改通常将在屏幕上显示。现在可以用 head、cat 或任意其它类似的实用工具来进行查看。

脚本文件

sed 工具允许您创建一个脚本文件,其中包含从该文件而不是在命令行进行处理的命令,并且 sed 工具通过 "-f" 选项来引用。通过创建一个脚本文件,您能够一次又一次地重复运行相同的 *** 作,并指定比每次希望从命令行进行处理的 *** 作详细得多的 *** 作。

考虑以下脚本文件:

$ cat sedlist

/two/ s/1/2/

/three/ s/1/3/

$

现在可以在数据文件上使用脚本文件,获得和我们之前看到的相同的结果:

$ sed -f sedlist sample_one

one 1

two 2

three 3

one 1

two 2

two 2

three 3

$

注意当调用 "-f" 选项时,在源文件内或命令行中不使用撇号。脚本文件,也称为源文件,对于想重复多次的 *** 作和从命令行运行可能出错的复杂命令很有价值。编辑源文件并修改一个字符比在命令行中重新输入一条多行的项目要容易得多。

限制行

编辑器默认查看输入到流编辑器中的每一行,且默认在输入到流编辑器中的每一行上进行编辑。这可以通过在发出命令之前指定约束条件来进行修改。例如,只在此示例文件的输出的第 5 和第 6 行中用 "2" 来替换 "1",命令将为:

$ sed '5,6 s/1/2/' sample_one

one 1

two 1

three 1

one 1

two 2

two 2

three 1

$

在这种情况下,因为要修改的行是专门指定的,所以不需要替换命令。因此,您可以灵活地根据匹配准则(可以是行号或一种匹配模式)来选择要修改哪些行(从根本上限制修改)。

禁止显示

sed 默认将来自源文件的每一行显示到屏幕上(或重定向到一个文件中),而无论该行是否受到编辑 *** 作的影响,"-n" 参数覆盖了这一 *** 作。"-n" 覆盖了所有的显示,并且不显示任何一行,而无论它们是否被编辑 *** 作修改。例如:

$ sed -n -f sedlist sample_one

$

$ sed -n -f sedlist sample_one >sample_two

$ cat sample_two

$

在 第一个示例中,屏幕上不显示任何东西。在第二个示例中,不修改任何东西,因此不将任何东西写到新的文件中—它最后是空的。这不是否定了编辑的全部目的吗? 为什么这是有用的?它是有用的仅因为 "-n" 选项能够被一条显示命令 (-p) 覆盖。为了说明这一点,假定现在像下面这样对脚本文件进行了修改:

$ cat sedlist

/two/ s/1/2/p

/three/ s/1/3/p

$

然后下面是运行它的结果:

$ sed -n -f sedlist sample_one

two 2

three 3

two 2

two 2

three 3

$

保持不变的行全部不被显示。只有受到编辑 *** 作影响的行被显示了。在这种方式下,可以仅取出这些行,进行修改,然后把它们放到一个单独的文件中:

$ sed -n -f sedlist sample_one >sample_two

$

$ cat sample_two

two 2

three 3

two 2

two 2

three 3

$

利用它的另一种方法是只显示一定数量的行。例如,只显示 2-6 行,同时不做其它的编辑修改:

$ sed -n '2,6p' sample_one

two 1

three 1

one 1

two 1

two 1

$

其它所有的行被忽略,只有 2-6 行作为输出显示。这是一项出色的功能,其它任何工具都不能容易地实现。Head 将显示一个文件的顶部,而 tail 将显示一个文件的底部,但 sed 允许从任意位置取出想要的任意内容。

删除行

用一个值替换另一个值远非流编辑器可以执行的唯一功能。它还具有许多的潜在功能,在我看来第二种最常用的功能是删除。删除与替换的工作方式相同,只是它删除指定的行(如果您想要删除一个单词而不是一行,不要考虑删除,而应考虑用空的内容来替换它—s/cat//)。

该命令的语法是:

'{what to find} d'

从 sample_one 文件中删除包含 "two" 的所有行:

$ sed '/two/ d' sample_one

one 1

three 1

one 1

three 1

$

从显示屏中删除前三行,而不管它们的内容是什么:

$ sed '1,3 d' sample_one

one 1

two 1

two 1

three 1

$

只显示剩下的行,前三行不在显示屏中出现。对于流编辑器,一般当它们涉及到全局表达式时,特别是应用于删除 *** 作时,有几点要记住:

上三角号 (^) 表示一行的开始,因此,如果 "two" 是该行的头三个字符,则

sed '/^two/ d' sample_one

将只删除该行。

美元符号 ($) 代表文件的结尾,或一行的结尾,因此,如果 "two" 是该行的最后三个字符,则

sed '/two$/ d' sample_one

将只删除该行。

将这两者结合在一起的结果:

sed '/^$/ d' {filename}

删除文件中的所有空白行。例如,以下命令将 "1" 替换为 "2",以及将 "1" 替换为 "3",并删除文件中所有尾随的空行:

$ sed '/two/ s/1/2//three/ s/1/3//^$/ d' sample_one

one 1

two 1

three 1

one 1

two 2

two 2

three 1

$

其通常的用途是删除一个标题。以下命令将删除文件中所有的行,从第一行直到第一个空行:

sed '1,/^$/ d' {filename}

添加和插入文本

可以结合使用 sed 和 "a" 选项将文本添加到一个文件的末尾。实现方法如下:

$ sed '$a

>This is where we stop

>the test' sample_one

one 1

two 1

three 1

one 1

two 1

two 1

three 1

This is where we stop

the test

$

在该命令中,美元符号 ($) 表示文本将被添加到文件的末尾。反斜线 () 是必需的,它表示将插入一个回车符。如果它们被遗漏了,则将导致一个错误,显示该命令是错乱的;在任何要输入回车的地方您必须使用反斜线。

要将这些行添加到第 4 和第 5 个位置而不是末尾,则命令变为:

$ sed '3a

>This is where we stop

>the test' sample_one

one 1

two 1

three 1

This is where we stop

the test

one 1

two 1

two 1

three 1

$

这将文本添加到第 3 行之后。和几乎所有的编辑器一样,您可以选择插入而不是添加(如果您希望这样的话)。这两者的区别是添加跟在指定的行之后,而插入从指定的行开始。当用插入来代替添加时,只需用 "i" 来代替 "a",如下所示:

$ sed '3i

>This is where we stop

>the test' sample_one

one 1

two 1

This is where we stop

the test

three 1

one 1

two 1

two 1

three 1

$

新的文本出现在输出的中间位置,而处理通常在指定的 *** 作执行以后继续进行。

读写文件

重定向输出的功能已经演示过了,但需要指出的是,在编辑命令运行期间可以同步地读入和写出文件。例如,执行替换,并将 1-3 行写到名称为 sample_three 的文件中:

$ sed '

>/two/ s/1/2/

>/three/ s/1/3/

>1,3 w sample_three' sample_one

one 1

two 2

three 3

one 1

two 2

two 2

three 3

$

$ cat sample_three

one 1

two 2

three 3

$

由于为 w (write) 命令指定了 "1,3",所以只有指定的行被写到了新文件中。无论被写的是哪些行,所有的行都在默认输出中显示。

修改命令

除了替换项目之外,还可以将行从一个值修改为另一个值。要记住的是,替换是对字符逐个进行,而修改功能与删除类似,它影响整行:

$ sed '/two/ c

>We are no longer using two' sample_one

one 1

We are no longer using two

three 1

one 1

We are no longer using two

We are no longer using two

three 1

$

修 改命令与替换的工作方式很相似,但在范围上要更大些—将一个项目完全替换为另一个项目,而无论字符内容或上下文。夸张一点讲,当使用替换时,只有字符 "1" 被字符 "2" 替换,而当使用修改时,原来的整行将被修改。在两种情况下,要寻找的匹配条件都仅为 "two"。

修改全部但……

对于大多数 sed 命令,详细说明各种功能要进行何种修改。利用感叹号,可以在除指定位置之外的任何地方执行修改—与默认的 *** 作完全相反。

例如,要删除包含单词 "two" 的所有行, *** 作为:

$ sed '/two/ d' sample_one

one 1

three 1

one 1

three 1

$

而要删除除包含单词 "two" 的行之外的所有行,则语法变为:

$ sed '/two/ !d' sample_one

two 1

two 1

two 1

$

如果您有一个文件包含一系列项目,并且想对文件中的每个项目执行一个 *** 作,那么首先对那些项目进行一次智能扫描并考虑将要做什么是很重要的。为了使事情变得更简单,您可以将 sed 与任意迭代例程(for、while、until)结合来实现这一目的。

比如说,假定您有一个名为 "animals" 的文件,其中包含以下项目:

pig

horse

elephant

cow

dog

cat

您希望运行以下例程:

#mcd.ksh

for I in $*

do

echo Old McDonald had a $I

echo E-I, E-I-O

done

结 果将为,每一行都显示在 "Old McDonald has a" 的末尾。虽然对于这些项目的大部分这是正确的,但对于 "elephant" 项目,它有语法错误,因为结果应当为 "an elephant" 而不是 "a elephant"。利用 sed,您可以在来自 shell 文件的输出中检查这种语法错误,并通过首先创建一个命令文件来即时地更正它们:

#sublist

/ a a/ s/ a / an /

/ a e/ s/ a / an /

/a i/ s / a / an /

/a o/ s/ a / an /

/a u/ s/ a / an /

然后执行以下过程:

$ sh mcd.ksh 'cat animals' | sed -f sublist

现 在,在运行了 mcd 脚本之后,sed 将在输出中搜索单个字母 a (空格,"a",空格)之后紧跟了一个元音的任意位置。如果这种位置存在,它将把该序列修改为空格,"an",空格。这样就使问题更正后才显示在屏幕上, 并确保各处的编辑人员在晚上可以更容易地入睡。结果是:

Old McDonald had a pig

E-I, E-I-O

Old McDonald had a horse

E-I, E-I-O

Old McDonald had an elephant

E-I, E-I-O

Old McDonald had a cow

E-I, E-I-O

Old McDonald had a dog

E-I, E-I-O

Old McDonald had a cat

E-I, E-I-O

提前退出

sed 默认读取整个文件,并只在到达末尾时才停止。不过,您可以使用退出命令提前停止处理。只能指定一条退出命令,而处理将一直持续直到满足调用退出命令的条件。

例如,仅在文件的前五行上执行替换,然后退出:

$ sed '

>/two/ s/1/2/

>/three/ s/1/3/

>5q' sample_one

one 1

two 2

three 3

one 1

two 2

$

在退出命令之前的项目可以是一个行号(如上所示),或者一条查找/匹配命令:

$ sed '

>/two/ s/1/2/

>/three/ s/1/3/

>/three/q' sample_one

one 1

two 2

three 3

$

您 还可以使用退出命令来查看超过一定标准数目的行,并增加比 head 中的功能更强的功能。例如,head 命令允许您指定您想要查看一个文件的前多少行—默认数为 10,但可以使用从 1 到 99 的任意一个数字。如果您想查看一个文件的前 110 行,您用 head 不能实现这一目的,但用 sed 可以:

sed 110q filename

处理问题

当使用 sed 时,要记住的重要事项是它的工作方式。它的工作方式是:读入一行,在该行上执行它已知要执行的所有任务,然后继续处理下一行。每一行都受给定的每一个编辑命令的影响。

如果您的 *** 作顺序没有十分彻底地考虑清楚,那么这可能会很麻烦。例如,假定您需要将所有的 "two" 项目修改为 "three",然后将所有的 "three" 修改为 "four":

$ sed '

>/two/ s/two/three/

>/three/ s/three/four/' sample_one

one 1

four 1

four 1

one 1

four 1

four 1

four 1

$

最初读取的 "two" 被修改为 "three"。然后它满足为下一次编辑建立的准则,从而变为 "four"。最终的结果不是想要的结果—现在除了 "four" 没有别的项目了,而本来应该有 "three" 和 "four"。

当执行这种 *** 作时,您必须非常用心地注意指定 *** 作的方式,并按某种顺序来安排它们,使得 *** 作之间不会互相影响。例如:

$ sed '

>/three/ s/three/four/

>/two/ s/two/three/' sample_one

one 1

three 1

four 1

one 1

three 1

three 1

four 1

$

这非常有效,因为 "three" 值在 "two" 变成 "three" 之前得到修改。

标签和注释

可以在 sed 脚本文件中放置标签,这样一旦文件变得庞大,可以更容易地说明正在发生的事情。存在各种各样与这些标签相关的命令,它们包括:

接下来的步骤

访问并收藏 Linux 技术中心

阅读 Dale Dougherty 和 Arnold Robbins 的著作 sed &awk, 2nd Edition (O'Reilly &Associates 出版社)。

: 冒号表示一个标签名称。例如:

:HERE

以冒号开始的标签可以由 "b" 和 "t" 命令处理。

b

充当 "goto" 语句的作用,将处理发送至前面有一个冒号的标签。例如,

b HERE

将处理发送给行

:HERE

如果紧跟 b 之后没有指定任何标签,则处理转至脚本文件的末尾。

t

只要自上次输入行或执行一次 "t" 命令以来进行了替换 *** 作,就转至该标签。和 "b" 一样,如果没有给定标签名,则处理转至脚本文件的末尾。

# 符号作为一行的第一个字符将使整行被当作注释处理。注释行与标签不同,不能使用 b 或 t 命令来转到注释行上。

Linux系统跟windows系统的安装不大一样,有不少需要注意的地方,以Redhat

Linux

9.0为例

一、

安装前的注意事项。

关于机器配置:Linux设计之初衷就是用较低的系统配置提供高效率的系统服务!因此安装Linux并没有严格的系统配置要求,只要Pentium以上的CPU、64MB以上的内存、1GB左右的硬盘空间即可正常安装基本的Linux系统并能运行一些系统服务;要顺畅地运行Linux的图形界面,建议内存要在128MB以上。

其它硬件支持上:Linux目前支持几乎所有的处理器(CPU)。另外要提一下,如果你手头的Linux版本较早的话,可能只支持很少的显卡、声卡类型,而一般现在所使用的版本,如本文后例的RedHat

Linux9.0,就不需担心这些了。

关于安装方式:Redhat

Linux

9.0可以有两种方式进行安装。一种是硬盘安装,即从网上直接下载Linux的ISO映像文件。一共包括三个文件①shrike-i386-disc1.iso;②shrike-i386-disc2.iso;③

shrike-i386-disc3.iso,这就好似三张安装光盘。接着使用Daemon

Tool之类的虚拟光驱软件将其解压出来,找到dosutils目录,执行里面的autoboot.bat批处理文件即可。

另一种最方便的就是光盘安装(一般是3CD)。

Redhat

Linux

9.0保留了以前版本中的字符模式安装界面,并同时具有“豪华”的GUI图形化界面。在开始安装时RedHat

9会对安装光盘介质进行检测,以防止在安装过程中的因光盘无法读取等情况造成安装失败,非常实用

二、

实际安装过程。

无论是从硬盘安装还是光盘安装,最终都会进入如下的安装过程。全图形化界面,我们可以很快上手。

第一步:选择安装语言:RedHat支持世界上几乎所有国家的语言,当然包括中文。这一步比较简单,直接选中简体中文一项点“next”即可。选择为简体中文后,剩下的安装步骤即为全中文,在安装结束后,Linux的界面也将默认为简体中文!

第二步:选择键盘类型。在这一步里是要我们选择在系统上使用的键盘布局类型,一般点选其默认“U.S.

English”即可

第三步:选择你的鼠标类型。这一步和上一步一样,一般以其默认即可。这里有点小小的问题需注意:尽量在列表中找到与你鼠标相匹配的类型,否则安装完成后的系统 *** 作会出现错误。比如你还用的是比较

老的串口(扁口)鼠标,要在“设备”一栏内选择与其对应的端口

第四步:确定安装类型。一共提供了四个选择。上面三项其实是省心设计,因为要定制自己的Linux系统,完全可以选择第四项“定制”!而如果你想要安装过程更快一些,可以根据自己的用途选择前面三项。每一项都有说明,大家应该不难理解,这里不在详述。我们选“定制”进入下一步

第五步:确定磁盘分区方式。REDHAT

Linux

9.0提供了两种分区方式——自动分区和使用DISK

DRUID程序进行手动分区。

其中自动分区选择,如果你是新购的计算机,硬盘上没有任何 *** 作系统,建议使用此选项,它会自动根据磁盘和内存的大小,分配磁盘空间和SWAP空间。一定注意要是硬盘没有安装过任何 *** 作系统,因为它会自动删除原先硬盘上的数据并格式化成为Linux的分区文件系统(EXT2、EXT3等格式)!

而手动分区就更好一些。如果你的系统已安装过windows系列的 *** 作系统,就可以用这种DISK

DRUID程序的方式进行手动分区。利用DISK

DRUID可以很方便的对磁盘分区进行删除、添加和修改

第六步:开始磁盘分区。这是Linux安装过程中最重要的一步。Linux有自己的文件系统格式(redhat

linux默认为EXT3),而且其分区在Windows *** 作系统下无法识别,所以要为Linux单独开辟一个(或若干个)分区。在使用DISK

DRUID对磁盘分区进行 *** 作时,有四个重要的参数需要仔细设定:它们是挂载点、文件系统类型、分区大小以及驱动器

以下对四个参数作个简单说明:

1、

挂载点:它指定了该分区对应Linux文件系统的哪个目录。意思就是将不同的物理磁盘上的分区映射到不同的目录,这样可以实现将不同的服务程序放在不同的物理磁盘上,当其中一个分区损坏不会影响到其他的分区数据。

2、

文件系统类型:可选择的类型有EXT2、EXT3、REISERFS、SWAP等。前两个是系统默认类型,SWAP是建立虚拟内存空间。

3、

大小:以MB为单位。这里主要提一下SWAP分区大小,一般设为物理内存的两倍,如果你的物理内存大于1GB,SWAP分区建议设置为2GB。

4、

驱动器:即是指计算机中有多个物理磁盘,可以很方便的选择你要进行分区 *** 作的那个物理磁盘。类似于“FDISK”分区中的 *** 作。

第七步:配置引导装载程序。当你机子还有windows系统存在时,就要注意在这里配置一下了。框内部分即为你机器里安装的所有系统列表,如果没有发现其它系统而你确实安装过的,可以点“添加”进行加入,不然计算机将会默认启动Linux,你先前的 *** 作系统将无法启动!点“编辑”可以设定某个系统的启动等待时间

第八步:网络配置。如果你是拨号上网的话,就直接选NEXT;而如果你是通过局域网或是宽带上网,就需要填写IP和网关。到这一步,安装程序会自动检测计算机的所有网络设备,故要进行配置,直接点选安装程序检测到的本机网络设备,再点“编辑”即可进行配置。可以选择DHCP动态分配和手动配置两种方式,请根据你的网络类型而定此步的设置。

第九步:防火墙配置。这一步是网络安全配置。对系统安全要求较高的朋友可以选择“高级”级别,而一般的用户勾选“使用默认的防火墙规则”即可。另外就是注意“允许进入”一项,在这里对你的Linux将要开展的一些服务作规划,如要架设WEB服务器,上网冲浪,应当勾选“www(HTTP)”一项;“SSH”是一种对系统进行保护的安全机制,建议勾选

接下来是选择系统默认使用语言、时区选择、以及设置根口令这三步。由于这几步没什么需要注意的,按其默认点下一步即可,唯有设置根口令一步提醒一下,只有在管理时才使用根帐号。

第十步:欲安装软件组选择。即定制你的Linux程序组,从上往下有“桌面”、“应用程序”、“网络组件”等详尽的分类,当选定某一个组件后,点击“细节”可以查看此组件所包含的子组件数(前面也有数字提示)

要使Linux以图形界面启动,就点选“X窗口系统”;在“应用程序”中“图形化互联网”也应点选,这样才能在Linux系统下正常的浏览网页及进行各种网络应用。一般说来,在“

程序组件”所示的所有选项中,可以点选右边的“细节”按钮一个一个的去看看,挑自己最实用的安装

第十一步:开始安装。经过前面十步,现在终于可以开始安装了。Linux比起windows *** 作系统的安装来说,要慢得多,根据你机器的配置情况,此过程会持续一小时左右.期间会让提示让你插入第二张、第三张光盘,因此得乖乖的呆在电脑面前!OK,一小时过后,满足的使用你的Linux系统吧

首先去下载一个syslinux包,提取memdisk文件。。

把memdisk文件和WinPE.iso镜像放到根目录下。。

打开grub.cfg

sudo gedit /boot/grub/grub.cfg

在文件最后添加:

menuentry "启动WinPE.iso镜像"--class windows {

set root='(hd0,1)'

linux16 /memdisk iso raw

initrd16 /WINPE.iso

}

重启,选择“启动WinPE.iso镜像”进入WinPE系统!!


======这是我以前搜集的资料,但未经测试,你可以试试============

欢迎分享,转载请注明来源:

内存溢出

原文地址:

http://outofmemory.cn/yw/8564915.html
*** 作
(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
万金油专业 万金油专业 一级用户组
如何加快linux android 的编译速度
上一篇
2023-04-18
Linux正则表达式与通配符
2023-04-18

发表评论
请登录后评论... 登录
提交

    评论列表(0条)
保存
{label} {label}