N21_第二周练习

1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。

文件管理类命令:cp,mv.rm

复制命令:cp

格式:

       cp [OPTION]… [-T] SOURCE DEST

       cp [OPTION]… SOURCE… DIRECTORY

       cp [OPTION]… -t DIRECTORY SOURCE…

场景:

       cp SRC  DEST

            SRC是文件

              如果目标不存在:新建DEST,并将SRC中内容填充至DEST中;

              如果目标存在:

                    如果DEST是文件:将SRC中的内容覆盖至DEST中;

                        此时建议为cp命令使用-i选项;

                    如果DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中

       cp SRC …..DEST

            SRC…:多个文件

                DEST必须存在,且为目录,其它情形均会报错;

        cp SRC DEST

            SRC是目录:

                此时使用选项:-r

                如果DEST不存在:则创建指定目录,复制SRC目录中所有文件至DEST中;

                如果DEST存在:

                    如果DEST是文件:报错

                    如果DEST是目录:复制SRC目录中文件到DEST

选项:

      -i: 交互的,root用户默认使用cp -i,普通用户没有,复制要注意,如果觉得交互麻烦可以使用\cp

      -r,-R: 递归复制,复制目录经常用到

      -a: 归档,相当于-dR –preserv=all

            -d:–no-dereference –preserv=links   不跟随

            –preserv[=ATTR_LIST]

                  mode: 权限

                  ownership: 属主属组

                  timestamp: 时间戳

                  links :链接

                  xattr :扩展

                  context

                  all

     -p: –preserv=mode,ownership,timestamp

     -v: –verbose

     -f: –force

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

实例:

 

mv: 

move:移动文件

格式:

      mv [OPTION]… [-T] SOURCE DEST

      mv [OPTION]… SOURCE… DIRECTORY

      mv [OPTION]… -t DIRECTORY SOURCE…

常用选项:

     -i:   交互,和cp类似

     -f:  强制覆盖

     -b: 覆盖前先行备份

     -u: 源文件比目标文件新时才执行更新

     -t:–target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。

实例:

rm

remove:删除命令

格式:

     rm [OPTION]… FILE…

选项:

     -i: 交互式删除

     -f: 强制删除

     -r: 递归删除

2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。

命令执行状态返回值:

命令执行的结果状态有两种:

            成功

            失败

bash使用特殊变量$?保存最近一条命令的执行状态结果:

            0:成功

            1-255:失败

实例:

命令行展开:

~: 展开为用户的主目录

       ~USERNAME:展开为指定用户的主目录



{}:  可承载一个以逗号分隔的列表,并将其展开为多个路径

            /tmp/{a,b} = /tmp/a, /tmp/b

            /tmp/{tom,jerry}/hi = /tmp/tom/hi, /tmp/jerry/hi

    注意:花括号展开,前缀不能是$,因为${…}在shell中是变量

3、请使用命令行展开功能来完成以下练习:
   (1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
   (2)、创建/tmp/mylinux目录下的:
mylinux/
    ├── bin
    ├── boot
    │   └── grub
    ├── dev
    ├── etc
    │   ├── rc.d
    │   │   └── init.d
    │   └── sysconfig
    │       └── network-scripts
    ├── lib
    │   └── modules
    ├── lib64
    ├── proc
    ├── sbin
    ├── sys
    ├── tmp
    ├── usr
    │   └── local
    │       ├── bin
    │       └── sbin
    └── var
        ├── lock
        ├── log

        └── run

4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。

文件的元数据信息:

File:文件名

size:文件大小   Blocks:block个数    block大小   文件类型

块大小             Inode号     硬链接数

权限                属主          属组

访问时间

修改时间

改变时间


当然使用stat命令查看

  选项:

      -f:显示了有关文件系统(而非文件)的信息

      -t:显示了完全相同的信息

如何修改时间戳?

时间戳:

      access time:访问时间,简写为atime,读取文件内容

      modify time: 修改时间, mtime,改变文件内容(数据)

      change time: 改变时间, ctime,元数据发生改变

touch命令:

    touch [OPTION]… FILE…

     -a或–time=atime或–time=access或–time=use  只更改存取时间

     -m或–time=mtime或–time=modify  只更改变动时间

     -t<日期时间>:  使用指定的日期时间,而非现在的时间。

     -c或–no-create:  不建立任何文件

     -r: 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?

定义命令别名:使用alias命令

    (1) alias

             显示当前shell进程所有可用的命令别名;

    (2) alias NAME='VALUE'

             定义别名NAME,其相当于执行命令VALUE;

     注意:在命令行中定义的别名,仅对当前shell进程有效;如果想永久有效,要定义在配置文件中;

               仅对当前用户:~/.bashrc

               对所有用户有效:/etc/bashrc

               编辑配置给出的新配置不会立即生效;

         bash进程重新读取配置文件:

                source /path/to/config_file

                .  /path/to/config_file

   撤消别名:unalias

          unalias [-a] name [name …]

        注意: 如果别名同原命令的名称,则如果要执行原命令,可使用"\COMMAND";

引用另一个命令的执行结果

  目前知道如下几种:

      1、通过引用符:"",'',

      2、通过变量:将命令执行结果定义为变量

      3、通过重定向

      4、通过管道


6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。

7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。

8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。

9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。

10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。

12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

原创文章,作者:N21_Lorne,如若转载,请注明出处:/24070

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-17 21:44

    写的很好,排版还可以在改进一下,加油

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:1823388528@qq.com

工作时间:周一至周五,9:30-18:30,节假日同时也值班

友情链接:万达娱乐直属  万达娱乐开户  华宇招商  万达娱乐主管  万达招商QQ  guoqibee.com  万达直属QQ  万达主管  万达娱乐注册  万达主管