Linux服务器配置与管理完全学习手册
上QQ阅读APP看书,第一时间看更新

4.4 常用的基本命令

Linux常用命令是对Linux系统进行管理的基本命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标还是用户等,都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。

4.4.1 常用命令集

Linux的常用命令很多,包括复制、移动、删除等。

1.cp命令

该命令的功能是将给出的文件或目录复制到另一文件或目录中,同MS DOS下的copy命令一样,功能十分强大。

语法:

  cp [选项] 源文件或目录 目标文件或目录

说明:该命令用于把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。

命令中各选项的含义如下。

- a:该选项通常在复制目录时使用,它可保留链接、文件属性,并递归地复制目录,其作用等于dpR选项的组合。

- d:复制时保留链接。

- f:删除已经存在的目标文件而不提示。

- i:和f选项相反,在覆盖目标文件前将给出提示要求用户确认。回答“y”时目标文件将被覆盖,是交互式复制。

- p:此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。

- r:若给出的源文件是一个目录文件,cp将递归复制该目录下所有的子目录和文件,此时目标文件必须为一个目录名。

- l:不作复制,只是链接文件。

需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件(如用户指定的目标文件名已存在,用cp命令复制文件后,这个文件就会被新源文件覆盖),因此,建议用户在使用cp命令复制文件时,最好使用i选项。

2.mv命令

用户可以使用mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中。该命令如同MS DOS下的ren和move的组合。

语法:

  mv [选项] 源文件或目录 目标文件或目录

说明:视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先复制,再将原有文件删除,而链至该文件的链接也将丢失。

命令中各选项的含义如下。

- I:交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答“y”或“n”,以避免误覆盖文件。

- f:禁止交互操作。在mv操作要覆盖某已有的目标文件时不给任何指示。指定此选项后,i选项将不再起作用。

如果给定的目标文件(不是目录)已存在,此时该文件的内容将被新文件覆盖。为防止用户使用mv命令破坏另一个文件,故使用mv命令移动文件时,最好使用i选项。

3.rm命令

用户可以用rm命令删除不需要的文件。该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是断开了链接,原文件保持不变。

rm命令的一般形式为:

  rm [选项] 文件…

如果没有使用- r选项,则rm不会删除目录。

命令中各选项的含义如下。

- f:忽略不存在的文件,从不给出提示。

- r:指示rm命令将参数中列出的全部目录和子目录均递归地删除。

- i:进行交互式删除。

使用rm命令要小心。因为一旦文件被删除,是不能被恢复的。了防止这种情况的发生,可以使用i选项来逐个确认要删除的文件。如果用户输入“y”,文件将被删除。如果输入任何其他信息,则文件不会被删除。

4.4.2 目录的创建与删除命令

本小节主要讲述和目录相关的命令,包括目录的创建和删除,有如下几种。

1.mkdir命令

功能:创建一个目录(类似MSDOS下的md命令)。

语法:

  mkdir [选项] dir-name

说明:该命令创建由dir-name命名的目录。要求创建目录的用户在当前目录中(dir-name的父目录中)具有写权限,并且dirname不能是当前目录中已有的目录或文件名称。

命令中各选项的含义如下。

- m:对新建目录设置存取权限。也可以用chmod命令设置。

- p:可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。

2.rmdir命令

功能:删除空目录。

语法:

  rmdir [选项] dir-name

说明:dir-name表示目录名。该命令用于从一个目录中删除一个或多个子目录项。需要特别注意的是,一个目录被删除之前必须是空的。rm - r dir命令可代替rmdir,但是有一定的危险性。删除某目录时也必须具有对父目录的写权限。

命令中各选项的含义如下。

- p:递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。

3.cd命令

功能:改变工作目录。

语法:

  cd [directory]

说明:该命令将当前目录改变至directory所指定的目录。若没有指定directory,则回到用户的主目录。为了改变到指定目录,用户必须拥有对指定目录的执行和读权限。

在该命令中可以使用通配符。

4.pwd命令

在Linux层次目录结构中,用户可以在被授权的任意目录下利用mkdir命令创建新目录,也可以利用cd命令从一个目录转换到另一个目录。然而,没有提示符来告知用户目前处于哪一个目录中。要想知道当前所处的目录,可以使用pwd命令,该命令将显示整个路径名。

语法:

  pwd

说明:此命令显示出当前工作目录的绝对路径。

5.ls命令

ls是英文单词list的简写,其功能为列出目录的内容。这是用户最常用的命令之一,因为用户需要不时地查看某个目录的内容。该命令类似于DOS下的dir命令。

语法:

  ls [选项] [目录或是文件]

对于每个目录,该命令将列出其中的所有子目录与文件。对于每个文件,ls将输出其文件名以及所要求的其他信息。默认情况下,输出条目按字母顺序排序。当未给出目录名或是文件名时,就显示当前目录的信息。

命令中各选项的含义如下。

- a:显示指定目录下所有子目录与文件,包括隐藏文件。

- A:显示指定目录下所有子目录与文件,包括隐藏文件,但不列出“.”和“..”。

- b:对文件名中的不可显示字符用八进制逃逸字符显示。

- c:按文件的修改时间排序。

- C:分成多列显示各项。

- d:如果参数是目录,只显示其名称而不显示其下的各文件。该选项往往与l选项一起使用,以得到目录的详细信息。

- f:不排序。该选项将使lts选项失效,并使aU选项有效。

- F:在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记“@”,管道(或FIFO)后面标记“|”,socket文件后面标记“=”。

- i:在输出的第一列显示文件的i节点号。

- l:以长格式来显示文件的详细信息。这个选项最常用。

每行列出的信息依次是:文件类型与权限、链接数、文件属主、文件属组、文件大小、建立或最近修改的时间和名字。

对于符号链接文件,显示的文件名之后有“→”和引用文件路径名。

对于设备文件,其“文件大小”字段显示主、次设备号,而不是文件大小。

目录中的总块数显示在长格式列表的开头,其中包含间接块。

- L:若指定的名称为一个符号链接文件,则显示链接所指向的文件。

- m:输出按字符流格式,文件跨页显示,以逗号分开。

- n:输出格式与l选项相同,只不过在输出中文件属主和属组是用相应的UID号和GID号来表示,而不是实际的名称。

- o:与l选项作用相同,只是不显示拥有者信息。

- p:在目录后面加一个“/”。

- q:将文件名中的不可显示字符用“?”代替。

- r:按字母逆序或最早优先的顺序显示输出结果。

- R:递归式显示指定目录中各个子目录的文件。

- s:给出每个目录项所用的块数,包括间接块。

- t:显示时按修改时间(最近优先)而不是按名字排序。若文件修改时间相同,则按字典顺序。修改时间取决于是否使用了c或u选顶。缺省的时间标记是最后一次修改时间。

- u:显示时按文件上次存取的时间(最近优先)而不是按名字排序。即将-t的时间标记修改为最后一次访问的时间。

- x:按行显示出各排序项的信息。

用ls - l命令显示的信息中,开头是由10个字符构成的字符串,其中第一个字符表示文件类型,它可以是下述类型之一。

-:普通文件。

d:目录。

l:符号链接。

b:块设备文件。

c:字符设备文件。

后面的9个字符表示文件的访问权限,分为3组,每组3位。

第一组表示文件属主的权限,第二组表示同组用户的权限,第三组表示其他用户的权限。每一组的三个字符分别表示对文件的读、写和执行权限。

各权限说明如下。

r:读。

w:写。

x:执行。对于目录,表示进入权限。

s:当文件被执行时,把该文件的UID或GID赋予执行进程的UID(用户ID)或GID(组ID)。

t:设置标志位(留在内存,不被换出)。如果该文件是目录,在该目录中的文件只能被超级用户、目录拥有者或文件属主删除。如果它是可执行文件,在该文件执行后,指向其正文段的指针仍留在内存。这样再次执行它时,系统就能更快地装入该文件。

4.4.3 文本处理命令

文本处理命令主要对文本内容进行操作,常用的有如下两种。

1.sort命令

sort命令的功能是对文件中的各行进行排序。sort命令有许多非常实用的选项,这些选项最初是用来对数据库格式的文件内容进行各种排序操作的。实际上,sort命令被认为是一个非常强大的数据管理工具,用来管理内容类似数据库记录的文件。

sort命令将逐行对文件中的内容进行排序,如果两行的首字符相同,该命令将继续比较这两行的下一字符,如果还相同,将继续进行比较。

语法:

  sort [选项] 文件

说明:sort命令对指定文件中所有的行进行排序,并将结果显示在标准输出上。如不指定输入文件或使用“-”,则表示排序内容来自标准输入。

sort排序是根据从输入行抽取的一个或多个关键字进行比较来完成的。排序关键字定义了用来排序的最小的字符序列。默认情况下以整行为关键字按ASCII字符顺序进行排序。

改变默认设置的选项主要有以下一些。

- m:若给定文件已排好序,则合并文件。

- c:检查给定文件是否已排好序,如果它们没有排好序,则打印一个出错信息,并以状态值1退出。

- u:对排序后认为相同的行只留其中一行。

- o:输出文件。将排序输出写到输出文件中而不是标准输出。如果输出文件是输入文件之一,sort先将该文件的内容写入一个临时文件,然后再排序和写输出结果。

改变默认排序规则的选项主要有以下几项。

- d:按字典顺序排序,比较时仅字母、数字、空格和制表符有意义。

- f:将小写字母与大写字母同等对待。

- I:忽略非打印字符。

- M:作为月份比较:“JAN”<“FEB”

- r:按逆序输出排序结果。

+posl - pos2:指定一个或几个字段作为排序关键字,字段位置从posl开始,到pos2为止(包括posl,不包括pos2)。如不指定pos2,则关键字为从posl到行尾。字段和字符的位置从0开始。

- b:在每行中寻找排序关键字时忽略前导的空白(空格和制表符)。

- t separator:指定字符separator作为字段分隔符。

2.uniq命令

文件经过处理后在它的输出文件中可能会出现重复的行。例如,使用cat命令将两个文件合并后,再使用sort命令进行排序,就可能出现重复行。这时可以使用uniq命令将这些重复行从输出文件中删除,只留下每条记录的唯一样本。

语法:

  uniq [选项]文件

说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个及以后更多个重复行将被删去。行比较是根据所用字符集的排序序列进行的。该命令加工后的结果会写到输出文件中。输入文件和输出文件必须不同。如果输入文件用“-”表示,则从标准输入读取。

命令中各选项的含义如下。

- c:显示输出中,在每行行首加上本行在文件中出现的次数。它可取代- u和- d选项。

- d:只显示重复行。

- u:只显示文件中不重复的各行。

- n:前n个字段与每个字段前的空白一起被忽略。一个字段是一个非空格、非制表符的字符串,彼此由制表符和空格隔开(字段从0开始编号)。

+n:前n个字符被忽略,之前的字符被跳过(字符从0开始编号)。

- fn:与- n相同,这里n是字段数。

- sn:与+n相同,这里n是字符数。

4.4.4 备份与压缩命令

备份与压缩功能主要是使文件便于保存,主要命令有如下几类。

1.tar命令

tar命令可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备,如软盘上创建档案。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。Linux上的tar命令是GNU版本的。

语法:

  tar [主选项+辅选项] 文件或者目录

使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。

主选项如下。

c:创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。

r:把要存档的文件追加到档案文件的末尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将后来的目录或文件追加到备份文件中。

t:列出档案文件的内容,查看已经备份了哪些文件。

u:更新文件。用新增的文件取代原备份文件。如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。

x:从档案文件中释放文件。

辅助选项如下。

b:该选项是为磁带机设定的。其后跟一数字,用来说明区块的大小,系统预设值为20(20*512 bytes)。

f:使用档案文件或设备,这个选项通常是必选的。

k:保存已经存在的文件。例如把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖操作。

m:在还原文件时,把所有文件的修改时间设定为当前时间。

M:创建多卷的档案文件,以便在几个磁盘中存放。

v:详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。

w:每一步都要求确认。

z:用gzip来压缩/解压缩文件。加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。

2.gzip命令

减少文件大小有两个明显的好处,一是可以减少占用的存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。

语法:

  gzip [选项] 压缩(解压缩)的文件名

命令中各选项的含义如下。

-c:将输出写到标准输出上,并保留原有文件。

-d:将压缩文件解压。

-l:对每个压缩文件,显示下列字段:

压缩文件的大小。

未压缩文件的大小。

压缩比。

未压缩文件的名字。

-r:递归式地查找指定目录并压缩其中的所有文件或者是解压缩。

-t:测试,检查压缩文件是否完整。

-v:对每一个压缩和解压的文件,显示文件名和压缩比。

-num:用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6。

3.unzip命令

可以将以MS Windows下的压缩软件winzip压缩的文件在Linux系统下展开。该命令用于解压缩扩展名为.zip的压缩文件。

语法:

  unzip [选项] 压缩文件名.zip

命令中各选项的含义如下。

-x:文件列表解压缩文件,但不包括指定的file文件。

-v:查看压缩文件目录,但不解压。

-t:测试文件有无损坏,但不解压。

-d:目录。把压缩文件解压到指定目录下。

-z:只显示压缩文件的注解。

-n:不覆盖已经存在的文件。

-o:覆盖已存在的文件且不要求用户确认。

-j:不重建文档的目录结构,把所有文件解压到同一目录下。

4.4.5 改变文件或目录的访问权限命令

Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。

文件或目录的访问权限分为只读、只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作为一个程序来执行。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件进行阅读和修改。用户也可根据需要把访问权限设置为需要的任何组合。

有三种不同类型的用户可对文件或目录进行访问:文件所有者、同组用户和其他用户。所有者一般是文件的创建者,所有者可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。

每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。当用ls -l命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。例如:

  $ ls -l sobsrc. tgz
  -rw-r--r-- 1 root root 483997 Ju1 l5 17:3l sobsrc. tgz

这里横线代表不许可,r代表只读,w代表写,x代表可执行。注意这里共有10个位置。第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。例如文件sobsrc.tgz的访问权限为:

  - rw- r-- r--

表示sobsrc.tgz是一个普通文件;sobsrc.tgz的属主有读写权限;与sobsrc.tgz属主同组的用户只有读权限;其他用户也只有读权限。

确定了一个文件的访问权限后,用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限;也可以利用chown命令来更改某个文件或目录的所有者;利用chgrp命令来更改某个文件或目录的用户组。下面分别对这些命令加以介绍。

1.chmod命令

chmod是非常重要的命令,用于改变文件或目录的访问权限。用户可使用它来控制文件或目录的访问权限。该命令有两种用法,一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。

文字设定法

  chmod [who] [+ | - | =] [mode] 文件名

命令中各选项的含义如下:

操作对象who可是下述字母中的任一个或者它们的组合。

u:表示“用户(user)”,即文件或目录的所有者。

g:表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。

o:表示“其他(others)用户”。

a:表示“所有(all)用户”。它是系统的默认值。

操作符号含义如下。

+:添加某个权限。

-:取消某个权限。

=:赋予给定权限并取消其他所有权限。

设置mode所表示的权限可以是下述字母的任意组合。

r:可读。

w:可写。

x:可执行。

x:只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x属性。

s:在文件执行时把进程的属主或组ID设置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。

t:保存程序的文本到交换设备上。

u:与文件属主拥有一样的权限。

g:与和文件属主同组的用户拥有一样的权限。

o:与其他用户拥有一样的权限。

文件名:以空格分开的要改变权限的文件列表,支持通配符。

在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:

  chmod g+r,o+r example

使同组和其他用户对文件example有读权限。

数字设定法

用数字表示的属性的含义为:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3个0~7的八进制数,其顺序是(u)(g)(o)。

例如,如果想让某个文件的属主有“读/写”二种权限,需要把可读与可写相加,即4(可读)+2(可写)=6(读/写)。

数字设定法的一般形式为:

  chmod [mode] 文件名

2.chgrp命令

功能:改变文件或目录所属的组。

语法:

  chgrp [选项] group filename?

该命令改变指定文件所属的用户组。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。

命令中各选项的含义如下。

- R:递归式地改变指定目录及其下的所有子目录和文件的属组。

3.chown命令

功能:更改某个文件或目录的属主和属组。这个命令也很常用。假如root用户要把自己的一个文件复制给用户xu,为了让用户xu能够存取这个文件,root用户应该把这个文件的属主设为xu,否则,用户xu无法存取这个文件。

语法:

  chown [选项] 用户或组 文件

说明:chown将指定文件的拥有者改为指定的用户或组。用户可以是用户名或用户ID。组可以是组名或组ID。文件是以空格分开的要改变权限的文件列表,支持通配符。

命令中各选项的含义如下。

- R:递归式地改变指定目录及其下所有子目录和文件的拥有者。

- v:显示chown命令所做的工作。

4.4.6 与用户管理有关的命令

与用户管理相关的命令主要是用户口令和权限命令,有如下两种。

1.passwd命令

出于系统安全考虑,Linux系统中的每一个用户除了有自己的用户名外,还有自己的用户口令。因此使用useradd命令增加用户时,还需使用passwd命令为每一位新增加的用户设置口令;用户以后还可以随时用passwd命令来改变自己的口令。

该命令的一般格式为:

  passwd [用户名]

其中,用户名为需要修改口令的用户名。只有超级用户可以使用“passwd用户名”修改其他用户的口令,普通用户只能用不带参数的passwd命令修改自己的口令。

该命令的使用方法如下。

输入:

  passwd< Enter>;

在(current)Unix passwd:下输入当前的口令。

在new password:提示下输入新的口令(在屏幕上看不到这个口令)。

系统提示再次输入这个新口令。

输入正确后,这个新口令被加密并放入/etc/shdow文件。选用一个不易被破译的口令是很重要的。

选取口令应遵守如下规则:口令应该至少有六位(最好是八位)字符;口令应该是大小写字母、标点符号和数字混合的。

超级用户修改其他用户(xxq)的口令的过程如下。

  # passwd root
  New Unix password:
  Retype new Unix password:
  passwd: all authentication tokens updated successfully

2.su命令

这个命令非常重要,它可以让一个普通用户拥有超级用户或其他用户的权限,也可以让超级用户以普通用户的身份做一些事情。普通用户使用这个命令时必须有超级用户或其他用户的口令。如要离开当前用户的身份,可以输入“exit”。

该命令的一般形式为:

   su [选项] [-] [使用者账号]

说明:若没有指定使用者账号,则系统预设值为超级用户root。该命令中各选项的含义分别如下。

c:表示执行一个命令后就结束。

m:表示保留环境变量不变。

4.4.7 磁盘管理命令

磁盘管理命令有如下四种。

1.df命令

功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

语法:

  df [选项]

说明:df命令可显示所有文件系统对i节点和磁盘块的使用情况。

命令中各个选项的含义如下。

-a:显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。

-k:以k字节为单位显示。

-i:显示i节点信息,而不是磁盘块。

-t:显示各指定类型的文件系统的磁盘空间使用情况。

-x:列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。

-T:显示文件系统类型。

2.du命令

du的英文原义为“disk usage”,含义为显示磁盘空间的使用情况。

功能:统计目录(或文件)所占磁盘空间的大小。

语法:

  du [选项] [Names…]

说明:该命令逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块(1024字节)的情况。若没有给出Names,则对当前目录进行统计。

命令中各选项的含义如下。

-s:对每个Names参数只给出占用的数据块总数。

-a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。

-b:以字节为单位列出磁盘空间使用情况(系统缺省以k字节为单位)。

-k:以1024字节为单位列出磁盘空间使用情况。

-c:最后再加上一个总计(系统缺省设置)。

-l:计算所有的文件大小,对硬链接文件则计算多次。

-x:在不同文件系统上的目录不予统计。

3.dd命令

功能:把指定的输入文件复制到指定的输出文件中,并且在复制过程中可以进行格式转换。可以用该命令实现DOS下的diskcopy命令的作用。先用dd命令把软盘上的数据写成硬盘的一个寄存文件,再把这个寄存文件写入第二张软盘上,完成diskcopy的功能。需要注意的是,应该将硬盘上的寄存文件用rm命令删除掉。系统默认使用标准输入文件和标准输出文件。

语法:

  dd [选项]
  if = file             输入文件名,缺省为标准输入
  of = file             输出文件名,缺省为标准输出
  ibs = bytes                   一次读入 bytes 个字节(即一个块大小为 bytes 个字节)
  skip = blocks                 从输入文件开头跳过 blocks 个块后再开始复制
  obs = bytes                   一次写 bytes 个字节(即一个块大小为 bytes 个字节)
  bs = bytes                    同时设置读写块的大小为 bytes ,可代替 ibs 和 obs
  cbs = byte                    一次转换 bytes 个字节,即转换缓冲区大小
  count = blocks                仅拷贝 blocks 个块,块大小等于 ibs 指定的字节数
  conv = conversion[,conversion...]

用指定的参数转换文件

转换参数如下:

  conv = ASCII                  把EBCDIC码转换为ASCIl码
  conv = ebcdic                 把ASCIl码转换为EBCDIC码
  conv = ibm                    把ASCIl码转换为alternate EBCDIC码
  conv = block                  把变动位转换成固定字符
  conv = ublock                 把固定位转换成变动位
  conv = ucase                  把字母由小写转换为大写
  conv = lcase                  把字母由大写转换为小写
  conv = notrunc                不截短输出文件
  conv = swab                   交换每一对输入字节
  conv = noerror                出错时不停止处理
  conv = sync                   把每个输入记录的大小都调到ibs的大小(用NUL填充)

4.fdformat命令

软盘是用户常用的存储介质之一。软盘在使用之前必须先作格式化操作,然后可以用tar、dd、cpio等命令存储数据,也可以在软盘上建立可安装的文件系统。

功能:低级格式化软盘。

语法:

  format [-n] device

说明:该命令的作用是对软盘进行格式化。

-n:软盘格式化后不作检验。

device:指定要进行格式化的设备,通常是下述设备之一。

/dev/fd0d360

/dev/fd0h1200

/dev/fd0D360

/dev/fd0H360

/dev/fd0D720

/dev/fd0H720

/dev/fd0h360

/dev/fd0h720

/dev/fd0H1440

4.4.8 在Linux环境下运行DOS命令

Linux系统提供了一组称为mtools的可移植工具,可以让用户轻松地从标准的MS DOS软盘上读、写文件和目录。它们对MS DOS和Linux环境之间交换文件非常有用。它们是不具备共同的文件系统格式的系统之间交换文件的有力手段。对于一个MS DOS的软盘,只要把软盘放在软驱中,就可以利用mtools提供的命令来访问软盘上的文件。

mtools的主要命令如下。

mcd目录名:改变MS DOS目录。

mcopy源文件目标文件:在MS DOS和Unix之间复制文件。

mdel文件名:删除MS DOS文件。

mdir目录名:显示MS DOS目录。

mformat驱动器号:在低级格式化的软盘上创建MS DOS文件系统。

rnlabel驱动器号:产生MS DOS卷标。

mmd目录名:建立MS DOS目录。

mrd目录名:删除MS DOS目录。

mren源文件目标文件:重新命名已存在的MS DOS文件。

mtype文件名:显示MS DOS文件的内容。

这些命令和对应的MS DOS命令非常相似。