Linux循序渐进(9)

  第十课(六) 文件的复制删除和移动命令

  cp命令

  该命令的功能是将给出的文件或目录拷贝到另一文件或目录中就如同DOS下的copy命令一样功能非常强大

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

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

  该命令的各选项含义如下

   a 该选项通常在拷贝目录时使用它保留链接文件属性并递归地拷贝目录其作用等于dpR选项的组合

   d 拷贝时保留链接

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

   i 和f选项相反在覆盖目标文件之前将给出提示要求用户确认回答y时目标文件将被覆盖是交互式拷贝

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

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

   l 不作拷贝只是链接文件

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

  $ cp i examc /usr/wang/shiyanc

  该命令将文件examc拷贝到/usr/wang 这个目录下并改名为 shiyanc若不希望重新命名可以使用下面的命令

  $ cp examc /usr/ wang/

  $ cp r /usr/xu/ /usr/liu/

  将/usr/xu目录中的所有文件及其子目录拷贝到目录/usr/liu中

  mv命令

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

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

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

  命令中各选项的含义为

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

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

  如果所给目标文件(不是目录)已存在此时该文件的内容将被新文件覆盖为防止用户在不经意的情况下用mv命令破坏另一个文件建议用户在使用mv命令移动文件时最好使用i选项

  需要注意的是mv与cp的结果不同mv好象文件搬家文件个数并末增加而cp对文件进行复制文件个数增加了

  例将/usr/xu中的所有文件移到当前目录(用表示)中

  $ mv /usr/xu/ *

  例将文件wchtxt重命名为wjzdoc

  $ mv wchtxt wjzdoc

  rm命令

  在linux中创建文件很容易系统中随时会有文件变得过时且毫无用处用户可以用rm命令将其删除该命令的功能为删除一个目录中的一个或多个文件或目录它也可以将某个目录及其下的所有文件及子目录均删除对于链接文件只是删除了链接原有文件均保持不变

  rm命令的一般形式为

  rm [选项] 文件…

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

  该命令的各选项含义如下

   f 忽略不存在的文件从不给出提示

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

   i 进行交互式删除

  使用rm命令要格外小心因为一旦一个文件被删除它是不能被恢复的例如用户在输入cpmv或其他命令时不小心误输入了rm命令当用户按了回车键并认识到自己的错误时已经太晚了文件已经没有了为了防止此种情况的发生可以使用rm命令中的 i选项来确认要删除的每个文件如果用户输入y文件将被删除如果输入任何其他东西文件将被保留在下一个例子中用户要删除文件test和example然后会被要求对每个文件进行确认用户最终决定删除example文件保留test文件

  $ rm ii test example

  Remove test ?n

  Remove example ?y

  第十课(七) 文件链接命令

  ln命令

  该命令在文件之间创建链接这种操作实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称对于这个新的文件名我们可以为之指定不同的访问权限以控制对信息的共享和安全性的问题

  如果链接指向目录用户就可以利用该链接直接进入被链接的目录而不用打一大堆的路径名而且即使我们删除这个链接也不会破坏原来的目录

  语法ln [选项] 目标 [链接名]

     ln [选项] 目标 目录

  链接有两种一种被称为硬链接(Hard Link)另一种被称为符号链接(Symbolic Link)建立硬链接时链接文件和被链接文件必须位于同一个文件系统中并且不能建立指向目录的硬链接而对符号链接则不存在这个问题默认情况下ln产生硬链接

  在硬链接的情况下参数中的目标被链接至[链接名]如果[链接名]是一个目录名系统将在该目录之下建立一个或多个与目标同名的链接文件链接文件和被链接文件的内容完全相同如果[链接名]为一个文件用户将被告知该文件已存在且不进行链接如果指定了多个目标参数那么最后一个参数必须为目录

  如果给ln命令加上 s选项则建立符号链接如果[链接名]已经存在但不是目录将不做链接[链接名]可以是任何一个文件名(可包含路径)也可以是一个目录并且允许它与目标不在同一个文件系统中如果[链接名]是一个已经存在的目录系统将在该目录下建立一个或多个与目标同名的文件此新建的文件实际上是指向原目标的符号链接文件

  例$ ln s lunch /home/xu

  用户为当前目录下的文件lunch创建了一个符号链接/home/xu

人的一生要疯狂一次,无论是为一个人,一段情,一段旅途,或一个梦想。

Linux循序渐进(9)

相关文章:

你感兴趣的文章:

标签云: