马哥教育网络班22期+第2周课程练习

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

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

    1. cp:copy

    

     使用方法:  

            单源复制:cp [OPTION]… [-T] SOURCE DEST

            多源复制:cp [OPTION]… SOURCE… DIRECTORY

            cp [OPTION]… -t DIRECTORY SOURCE…

    

     常用选项:

        -i:交互式复制,即覆盖之前提醒用户确认

        -f:强制覆盖目标文件

        -r,-R:递归复制目录

         -d:复制符号链接文件本身,而非其指向的源文件

         -a:-dR –preserve=all,archive,用于实现归档

         –preserv=

              mode:权限

              ownership:属主和属组

              timestamps:时间戳

              context:安全标签

              xattr:扩展属性

              links:符号链接

              all:上述所有属性

        

     实例:

     [root@test samba]# cp -air /etc/samba /tmp   将samba目录下的所有文件包括子目录及其所有属性以交互的方式的复制到/tmp目录下

     [root@test samba]# ll /etc/samba /tmp/samba/

     /etc/samba:

     total 20

     -rw-r–r–. 1 root root   20 May 12 13:23 lmhosts

     -rw-r–r–. 1 root root 9778 May 12 13:23 smb.conf

     -rw-r–r–. 1 root root   97 May 12 13:23 smbusers

    

     /tmp/samba/:

     total 20

     -rw-r–r–. 1 root root   20 May 12 13:23 lmhosts

     -rw-r–r–. 1 root root 9778 May 12 13:23 smb.conf

     -rw-r–r–. 1 root root   97 May 12 13:23 smbusers

    

   2. mv:move

    

    使用方法:

     mv [OPTION]… [-T] SOURCE DEST

    mv [OPTION]… SOURCE… DIRECTORY

    mv [OPTION]… -t DIRECTORY SOURCE..  

      

    常用选项:

           -i:交互式;

           -f:force

    实例:

    [root@test tmp]# mv samba  mv_samba  将samba目录重命名为mv_samba

    [root@test tmp]# ll |grep *samba               

     drwxr-xr-x. 3 root root 4096 Aug 19 09:43 mv_samba

    

     [root@test tmp]# mv test  test2   将test目录移动到test2目录下

    

    

   3. rm:remove

    

     使用方法:

     rm [OPTION]… FILE…

    

    常用选项:

         -i:interactive

         -f:force

         -r: recursive

    

    实例:

     [root@test tmp]# rm -rf mv_samba   删除mv_samba目录及目录内所有子目录和文件

    

             危险操作:rm -rf /*

    

             注意:所有不用的文件建议不要直接删除,而是移动至某个专用目录;(模拟回收站)

    

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

 1.bash的基础特性:命令的执行状态结果

  命令执行的状态结果:

     bash通过状态返回值来输出此结果:

     成功:0

     失败:1-255

    

     命令执行完成之后,其状态返回值保存于bash的特殊变量$?中;

  示例 :

     [root@test tmp]# ll tmp   命令失败输出结果为:2

     ls: cannot access tmp: No such file or directory

     [root@test tmp]# echo $?

     2

  

     [root@test tmp]# ll tfile-2016-08-20-22-17-45   命令成功输出结果为:0

     -rw-r–r–. 1 root root 0 Aug 20 22:17 tfile-2016-08-20-22-17-45

     [root@test tmp]# echo $?

     0

    

 2.bash的基础特性之:命令行展开

    ~:自动展开为用户的家目录,或指定的用户的家目录;

  示例:

     [root@test tmp]# cd ~   进入root家目录

     [root@test ~]# pwd

     /root

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

    

  示例:

     [root@test tmp]# mkdir ./{a,b}  在tmp目录同时创建a,b两个目录

     [root@test tmp]# ll -d a b

     drwxr-xr-x. 2 root root 4096 Aug 20 22:34 a

     drwxr-xr-x. 2 root root 4096 Aug 20 22:34 b

    

3、请使用命令行展开功能完成以下练习:

  (1)、创建/tmp目录下的:a_c,a_d,b_c,b_d

   mkdir /tmp/{a,b}_{c,d}

   mkdir /tmp/{a_{c,d},b_{c,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

   [root@test tmp]# mkdir -p 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}}

   [root@test tmp]# tree 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:多少块

     IO Block: 块大小

     regular file:文件类型

     Device: 设备

     Inode: 索引节点

     Links: 连接数

     Access: (0600/-rw——-) 文件权限

     Uid: 所属用户ID  

     Gid: 所属组ID  

     Access: 访问时间

     Modify: 修改时间

     Change: 改动时间

    

  查看文件的元数据:stat FILE…

    

  示例:

     [root@test tmp]# stat sshd_config   

      File: `sshd_config'

      Size: 3880            Blocks: 8          IO Block: 4096   regular file

     Device: fd00h/64768d    Inode: 68946       Links: 1

     Access: (0600/-rw——-)  Uid: (    0/    root)   Gid: (    0/    root)

     Access: 2016-08-20 23:00:29.481616790 +0800

     Modify: 2016-08-20 23:00:29.481616790 +0800

     Change: 2016-08-20 23:00:29.481616790 +0800

    

    

  修改文件时间戳信息:

    

  touch命令:

     touch – change file timestamps

    

     touch [OPTION]… FILE…  注:不加选项时,所有时间都会改变

     -c: 指定的文件路径不存在时不予创建;

     -a: 仅修改access time;

     -m:仅修改modify time;

     -t STAMP

     [[CC]YY]MMDDhhmm[.ss]

  示例:

     [root@test tmp]# touch -m -t 200201010101.01 sshd_config 

     [root@test tmp]# stat sshd_config   更改时间改为:2002年1月1日1点1分1秒(注:改动时间为命令执行时间)

      File: `sshd_config'

      Size: 3880            Blocks: 8          IO Block: 4096   regular file

     Device: fd00h/64768d    Inode: 68946       Links: 1

     Access: (0600/-rw——-)  Uid: (    0/    root)   Gid: (    0/    root)

     Access: 2016-08-20 23:00:29.481616790 +0800

     Modify: 2002-01-01 01:01:01.000000000 +0800

     Change: 2016-08-20 23:18:48.023616905 +0800

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

  1.定义命令别名格式:

     alias [-p] [name[=value] … ]

    

   实例:

     [root@test ~]# alias cls=clear   用cls命令实现清屏功能

    

  2.引用命令执行结果:

    $(COMMAND)  或  $'COMMAND'

    

   实例:

     [root@test tmp]# mkdir $(date +%Y-%m-%d)   创建以今天的日期为名字的目录

     [root@test tmp]# ll

     total 60

     drwxr-xr-x.  2 root root 4096 Aug 20 21:22 2016-08-20

6、显示/var目录下所有以l开头,且非数字结尾的文件或目录。

      [root@test var]# ls -d l*[^0-9]          

      lib  local  lock  log

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

     [root@test var]# ls -d /etc/[0-9]*[^0-9]

     ls: cannot access /etc/[0-9]*[^0-9]: No such file or directory

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

     1.[root@test var]# ls /etc/[^a-z][a-z]*

      ls: cannot access /etc/[^a-z][a-z]*: No such file or directory

     2.[root@test var]# ls /etc/[^[:alpha:]][a-z]*

      ls: cannot access /etc/[^[:alpha:]][a-z]*: No such file or directory

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

     [root@test tmp]# touch tfile-$(date +%F-%H-%M-%S)

     [root@test tmp]# ls |grep tfile

     tfile-2016-08-20-22-17-45

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

     1.[root@test tmp]# cp -r /etc/p*[^0-9] /tmp/mytest1

     2.[root@test tmp]# cp -r /etc/p*[^[:digit:]] /tmp/mytest1

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

    [root@test tmp]# cp -r /etc/*.d /tmp/mytest2

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

    [root@test tmp]# cp -r /etc/[lmn]*.conf /tmp/mytest3

原创文章,作者:N22_上海_长清,如若转载,请注明出处:http://www.178linux.com/38129

(0)
上一篇 2016-08-22 09:30
下一篇 2016-08-22 09:30

相关推荐

  • 【招聘】北京/互联网/运维工程师/7-15K/双休,五险一金

    岗位职责:   1、负责服务器的规划、调试优化、日常监控、故障处理、数据备份、日志分析等工作;   2、参与运维流程制定,确保任何突发情况都能高效响应;  3、负责服务器部署,对服务器构架和网络进行优化和改进;  4、负责运维相关数据的收集、分析和总结;  5、负责技术运维相关的文档、手册…

    Linux干货 2016-04-05
  • passwd

    http://www.cnblogs.com/wzhuo/p/6706774.html

    Linux干货 2017-04-17
  • Shell脚本编程入门

    认识Shell Shell原意为贝壳 Linux系统中的shell是一个特殊的应用程序,它介于操作系统内核与用户之间,充当一个“命令解释器”的角色,负责接收用户输入的操作指令(命令)并进行解释,将需要执行的操作传递给内核执行,并输出执行结果。 可以使用命令查看当前使用的是哪种shell以及当前Linux系统中都支持哪些shell种类。   查看当前…

    Linux干货 2016-08-12
  • find总结及练习

    文件查找: 在文件系统上查找符合条件的文件; 文件查找:locate, find非实时查找(数据库查找):locate 实时查找:find locate: 依赖于事先构建的索引;索引的构建是在系统较为空闲时自动进行(周期性任务);手动更新数据库(updatedb); 索引构建过程需要遍历整个根文件系统,极消耗资源; 工作特点: 查找速度快; 模糊查…

    Linux干货 2016-07-22
  • 精解局域网访问及共享(三)

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeffyyko.blog.51cto.com/28563/155109    上一节中的2种情况都是默认的简单共享,下面我们着重分析一下高级共享方式下的各种访问情况。毕竟这种方式用的很普遍,而且在权限…

    Linux干货 2015-03-25
  • Kickstart实现CentOS 6.5的网络自动安装

    1.KickStart KickStart是一种无人职守安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找KickStart生成的文件,当找到合适的参数时,就采用找到的…

    Linux干货 2016-10-24

评论列表(2条)

  • 马哥教育
    马哥教育 2016-08-22 14:17

    写的很好,排版还可以在漂亮一点,加油,3大题2小题在仔细看看老师出的题目

    • N22_长清
      N22_长清 2016-08-22 15:15

      @马哥教育老师,我是进入tmp目录下使用的mkdir -p mylinux/ , [root@test tmp]# 相对路径 ,是这个有问题吗?