zoukankan      html  css  js  c++  java
  • Unix_06_文件系统高级操作_1

    8.4  文件操作命令  见书之P159

       1  复制文件:cp 命令

        cp(copy)命令用来创建文件的副本。可以将文件从一个目录复制到另一个目录,来制作文件的备份。

        命令选项:

        UNIX    Linux对应的选项    功能说明

        ---------------------------------------------------------------------------------

        -b      --backup       如果指定的文件已存在,就创建它的备份

        -i      --interactive      如果目标文件已存在,要求确认

        -r      --recursive      将目录复制到新的目录

                --verbose        解释操作

                --help        显示帮助页并退出

        ---------------------------------------------------------------------------------

        例:将文件myfile创建一个副本myfile.copy

          $cp myfile myfile.copy [return] ............  创建文件的副本myfile.copy

          $ls [return] .......................................  用列表命令查看,可以看到当前目录中刚创建的文件副本

        例:假设当前目录下有aa子目录与test文件,下面命令将test文件备份到aa子目录下

          $cp test aa [return] ...........................  将test文件备份到aa子目录下

          $ls aa [return] ..................................  列表子目录查看,可以看到aa目录下多了test文件

        例:将当前目录下的test1 test2两个文件拷到aa子目录下

          $cp test1 test2 aa [return] ..................  将test1、test2两个文件拷到aa子目录下

          $ls aa [return] ...................................  列表aa子目录查看

        -b 选项:  如果在目标目录下已经存在要复制的文件,-b(backup)选项就创建该文件的副本。

              这样可以防止用户覆盖一个已经存在的文件。

          例:略---macbook中的cp命令没有-b选项,所以略了

        -i 选项:  -i选项使用户不能覆盖已有的文件,如果目标文件已经存在,就要求确认。

          例:将test文件拷到子aa子目录下,而aa目录下已经有test文件

            $cp -i test aa [return] .......................  将test文件拷到aa子目录下

            overwrite aa/test? (y/n [n]) _ ............  提示信息:是否覆盖aa/test文件,选择y/n, 默认是n

        -r 选项:  将目录及其下的内容复制到目标目录下

          例: 将当前目录的aa子目录拷到bb子目录下

            $cp -r aa bb [return] ........................  将aa子目录及其下内容复制到bb子目录下

            $ls bb [return] ................................  列表bb子目录

      2  移动文件: mv 命令

          使用mv命令将文件从一个地方移到另一个地方,或者改变文件名或目录名

          例:将当前目录下的test文件改名为test.old

            $mv test test.old [return] ..................  将test文件改名为test.old 

            $ ....................................................  命令提示符

          注:cp和mv命令都接受两个以上的参数,但最后一个参数必须是目录。

          例:将test1、test2两个文件移到bb子目录下

            $mv test1 test2 bb [return] ..............  将test1、test2两个文件移到bb子目录下

            $ ...................................................  命令提示符

          例:改变目录名,假设当前目录下有bb子目录,下面将其改名为cc目录

            $mv bb cc [return] ..........................  将bb子目录改名为cc

            $ ...................................................  命令提示符

          

      mv命令选项    Linux对应的选项      功能

    ---------------------------------------------------------------------------------

      -b        --backup          如果指定文件已存在,就创建它的备份

      -i         --interactive         如果目标文件已存在,要求确认 

      -f         --force           如果目标文件已存在,直接删除,不要求确认

      -v        --verbose           解释操作

               --help             显示帮助页并退出

               --version          显示版本信息并退出

    ---------------------------------------------------------------------------------

    3  链接文件: ln 命令 

      ln命令在已经存在文件和新文件名之间创建新链接(名字)。这意味着可以为已存在的文件创建别外的名字,从而使用不同的名字引用相同的文件。

    相当于原来的文件又有了一个别名。

      例:  $ls -l [return] ........................................  列表详细信息 

         total 8                     文件总体大小8个块,每块512字节 

         -rw-r--r--  1  cnyxj  staff  13  6  3  21:51  test 

         $ln test test_ln [return] ..........................  为test建一个新名字test_ln, 注意不是新建一个文件

           $ls -l [return] ........................................  列表详细信息

         total 16                      

        -rw-r--r--  2  cnyxj  staff  13  6  3  21:51  test

        -rw-r--r--  2  cnyxj  staff  13  6  3  21:51  test_ln

      注意:第一次列表中,第二列数字( -rw-r--r--后面跟的数字)是1, 表示链接数为1,而第二次列表中链接数显示为2

      ln跟cp不同,cp在物理上将文件复制到另一个地方,用户有两个独立的文件。修改其中的一个文件,另一个文件不受影响。

      而ln命令只是为同一个文件创建了另一个文件名,而没有创建新文件,如果改变了其中任何一个链接文件的内容,不管用户引用的是它的哪一个名字,这些文件都会发生改变。

      例: 假设原来test文件的内容为“this is test"

        $cat >> test [return] ................................  在test文件尾部添加内容

        plus new ..................................................  添加"plus new"

        [Ctr+d] ....................................................  用ctr+d键退出

        $cat test_ln [return] ..................................  显示test_ln文件内容,注意不是test文件名

        this is test

        plus new

        $ .............................................................  命令提示符

       可以看到,虽然修改的是test,但test_ln的内容也随之改变了,因为它们其实都是指向同一个文件。

    4  计算字数:wc 命令

      wc 命令计算指定的一个或多个文件中的行数、字数或字符数。

      例:  $cat test [return] ..................................  显示刚才那个test文件

          this is test

          plue new

          $wc test[return] ..................................  计算test中的行数、字数和字符数

            2  5  22  test            2行5个字22个字符,应该是把空格与换行符也算在内的

          $ .......................................................  命令提示符

      如果wc后面没有文件名,wc就从标准输入设备(键盘)获得输入。

      例:  用wc计算键盘输入的行数、字数和字符数

          $wc [return] .......................................  不带文件名的wc命令

          what ?

          [ctr+d] ...............................................  退出输入

            1  2  7               输入1行2个字7个字符,因为问号与前面有空格,所以算两个字 

          $ .......................................................  命令提示符

      例:  计算文件的行数字数字符数

          $ wc test test_ln [return] .....................  指定了两个文件名

            2  5  22  test

            2  5  22  test_ln

             4  10  44  total

          $ ........................................................  命令提示符

      

      wc的选项

        UNIX选项     Linux对应的选项    功能说明

     --------------------------------------------------------------------------- 

        -l          --lines        报告行数

        -w          --words        报告字数

        -c         --chars         报告字符数

                  --help         显示帮助页并退出

                  --version        显示版本信息并退出 

     ---------------------------------------------------------------------------- 

      可以将wc命令计算的结果重定向到新文件中

      例:  $wc -w test test_ln > test.wc [return] ............  将test test_ln两文件的字数重定向到test.wc文件

          $cat test.wc [return] .....................................  显示test.wc的内容

            5  test

            5  test_ln

            10  total

          $ ................................................................  命令提示符 

     

        

       

           

  • 相关阅读:
    字符串阵列分别输出元素的索引,原值和长度
    一个字符转换为整数
    从字符串数组中寻找数字的元素
    C#创建自己的扩展方法
    判断是否为空然后赋值
    C# yield关键词使用
    从字符串数组中把数字的元素找出来
    C#实现一张塔松叶
    计算2个时间之间经过多少Ticks
    对int array进行排序
  • 原文地址:https://www.cnblogs.com/cnyxj/p/4540990.html
Copyright © 2011-2022 走看看