N26-第二周作业-邢岩(2)

 马哥门徒-N26-邢岩


  我们接着说今天的分享,N26-第二周作业-邢岩(2)接着,我们来看看bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容好了。


 

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

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

      成功:0

      失败:1-255

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

   命令正常执行时,有的还有命令的返回值:根据命令及其功能不同,结果各不相同;

 56.jpg 

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

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

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

   例如:/tmp/{a,b}相当于 /tmp/a /tmp/b

 58.jpg


   不知道文艺青年们的fish是个神马样子的。。。N26-第二周作业-邢岩(2)别神游了,安心的回来做个练习题吧。

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


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

55.jpg

   (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

53.jpg54.jpg


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


   

  文件可以分成两类数据:

    元数据:metadata 包括文件名称,文件大小,文件类型,访问权限,时间戳等等

     可以使用stat命令来查看。

    数据:data

  时间戳: 用touch命令来修改文件的时间戳信息

     access time:2017-02-04 15:30:21.454611619 +0800

     modify time:2017-02-04 15:29:57.681410179 +0800

     change time:2017-02-04 15:29:57.681410179 +0800

59.jpg

60.jpg


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


 1.alias命令可以定义一个命令的别名

    alias  name=’value’

    注意:别名只对当前shell有效,如果想永久生效,需要定义在配置文件中。

 2.引用命令的执行结果:

     $(COMMAND)

     或`COMMAND`

57.jpg


最后,我再来做一些练习题来结束我今天的分享。温故而知新,那么我就开始了。N26-第二周作业-邢岩(2)


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

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

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

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

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

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

复制/etc/目录下所有以lmn开头,以.conf结尾的文件至/tmp/mytest3目录中。


[root@localhost ~]# ls -d  /var/1*[0-9]*[[:lower:]]

/var/1a2sa

[root@localhost ~]# ls  -d /etc/[0-9]*[^0-9]

/etc/1aaa

[root@localhost ~]# ls -d  /etc/[^[:alpha:]][a-z]*

/etc/1aaa

[root@localhost ~]# touch /var/tfile-$(date +%F-%H-%M-%S)

[root@localhost ~]# cp -r /etc/p*[^0-9] /tmp/mytest1/

 

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

[root@localhost ~]#cp -r /etc/[1mn]*.conf /tmp/mytest3

61.jpg62.jpg63.jpg64.jpg65.jpg


 Don't be so excited!虽然此刻我已经学完了上百个常用的Linux命令,但是光用命令本身是不能做好工作滴,任重而道远,还会有什么呢?且听下次分解吧,bye!

原创文章,作者:jeque,如若转载,请注明出处:http://www.178linux.com/68061

(0)
jequejeque
上一篇 2017-02-10 20:40
下一篇 2017-02-10 20:51

相关推荐

  • 网络管理命令

    网络管理

    Linux干货 2018-01-07
  • shell脚本练习题

    1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信 息,包括主机名,IPv4地址,操作系统版本,内核版本, CPU型号,内存大小,硬盘大小。 #!/bin/bash ##编写脚本/root/bin/systeminfo.sh,显示当前主机系统信 息,包括主机名,IPv4地址,操作系统版本,内>核版本, C…

    Linux干货 2016-08-24
  • find可以这么用

    在工作中不可或缺的工具find:查找系统中的各种文件,对查找的文件进行操作,这就是find的作用。进入正题: 1、查找下系统中有一下系统中有几个文件叫issue的     [root@localhost private]#find / -name issue      …

    Linux干货 2017-03-05
  • 初学Linux之标准 I/O 和管道

    前面我们已经了解了文件系统的部分内容,我们可以通过 ls 命令让当前目录下的内容都显示在屏幕上,也可以使用 pwd 命令,显示当前的所在的目录路径。但是我们输入的是命令,本身并没有输入“显示”这类命令和要求,但是系统就自动的在屏幕上输出我们命令指定的信息。由此可以想象到,系统自身有默认的一种输出方式,同时,有输出就有输入,当输入的和系统无关,系统也会自动提示错误,以上就是我们接下来要了解的基础内容——标准 I/O。具体的涉及内容包括:三种 I/O 设备,把 I/O 重定向入文件,tr 命令的使用,使用管道链接命令。

    2017-12-02
  • NFS服务器的安装与配置

    一、NFS服务简介 NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。 NFS 的基本原则是“容许…

    Linux干货 2017-05-02
  • keepalived双主模型的实现

    一、简介  keepalived 简介:是服务器高可用的一个重要软件,它的核心组件有vrrp ,stack, checker ,ipvs, warpper, watch dog  它是vrrp协议的实现,原生设计目的为高可用ipvs服务;keepalived能够通过配置文件中定义生成ipvs规则 并能够对RS的健康状态进行检测;vrrp_…

    Linux干货 2016-08-30

评论列表(1条)

  • 马哥教育
    马哥教育 2017-02-26 15:26

    很棒,继续加油!