bash

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

          状态返回值

                    0表示成功执行    1-255则表示失败

               

blob.png

            命令行展开:

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

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

                         

blob.png

练习:

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

   (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

(1).mkdir -pv /tmp/{a_{c,d},b_{c,d}}


(2).mkdir -pv /tmp/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}}

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

         文件的数据分两种:一种元数据,既属性数据;一种就是数据本身;可使用stat命令查看文件的元数据

            blob.png

我们可以使用touch命令来修改文件的时间戳,常用的选项有以下:

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

                               -a:仅修改access time

                               -m:仅修改modify time

                               -t:使用指定的日期时间,而非现在的时间;[[CC]YY]MMDDhhmm[.ss];

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

  可以使用alias来定义别名,使用unalias来取消别名

       QQ截图20161106175631.png

引用可使用 $(COMMAND)

练习:

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

ls /etc/[0-9]*[^0-9] -d

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

ls  /etc/[^[:alpha:]][[:alpha:]]* -d

6、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:

tfile-2016-11-06-15-21-22。

touch   /tmp/tfile$(date  +%Y-%m-%d-%H-%M-%S)

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

cp  -r /etc/p*[^[:digit:]]  /tmp/mytest1/

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

mkdir /tmp/mytest2  ;cp  -ri /etc/*.d   /tmp/mytest2

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

cp  /etc/[mn]*.conf  /tmp/mytest3







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

(0)
N24_JJPN24_JJP
上一篇 2016-11-06 17:12
下一篇 2016-11-06 18:32

相关推荐

  • http服务之二

    httpd http协议: http事务:    请求:request    响应:response 报文语法格式: request报文 <method> <request-URL> <version>     <he…

    Linux干货 2016-10-21
  • Linux源码包安装详解

    安装源码包 安装一个源码包,是需要我们自己把源代码编译成二进制的可执行文件。如果你读得懂这些源代码,那么你就可以去修改这些源代码自定义功能,然后再去编译成你想要的。使用源码包的好处除了可以自定义修改源代码外还可以定制相关的功能,因为源码包在编译的时候是可以附加额外的选项的。 源码包的编译用到了linux系统里的编译器,常见的源码包一般都是用C语言开发的,这也…

    Linux干货 2016-09-06
  • 马哥教育网络班22期+第四周课程练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 ~]# cp -r /etc/skel/ /home/tuser1/ ~]# chmod 700 /home/tuser1/ -R 2、编辑/e…

    Linux干货 2016-09-06
  • 初识路由以及小实验

    路由(routing)就是通过互联的网络把信息从源地址传输到目的地址的活动。路由发生在OSI网络参考模型中的第三层即网路层。 初识路由以及小实验 根据实验的目的要求画出实验拓扑图 准备实验环境 根据实验拓扑图开始配置 配置计算机的IP: 配置路由器R1和R2的IP 配置路由 实验目的 实验准备 实验步骤 验证实验结果 实验目的 为了更好的了解路由,通过一个小…

    Linux干货 2016-11-24
  • 基于centos7的http的应用

     练习:分别使用CentOS 7和CentOS 6实现以下任务         (1) 配置三个基于名称的虚拟主机;             (a) discuzX             …

    Linux干货 2016-10-12
  • 编译安装MariaDB源码包

        因为MySQL的发展趋势不甚乐观,MariaDB已替代MySQL被CentOS 7做为默认组件,如果想在CentOS 6中使用最新的MariaDB,则需要我们手动安装,其安装方式有三种:     1、RPM包安装     2、二进制…

    Linux干货 2015-06-08

评论列表(1条)

  • 马哥教育
    马哥教育 2016-11-10 19:16

    几个练习都完成的不错~~上面的几张图片能换成markdown会更好点~~继续加油~