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

相关推荐

  • 网络班第27期第一周作业

    1、         描述计算机的组成及其功能 CPU:主要由控制器和运算器组成,其他还有寄存器和缓存等。 控制器:其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。 运算器:功能是对数据进行各种算术运算和逻…

    2017-07-29
  • kickstart安装系统

    很多时候要安装很多机器是很繁琐,我们可以利用kickstart网络启动更加方便的去安装系统。 首先准备环境,安装相关程序。 [root@localhost ~]# yum -y install sytem-config-kickstart [root@localhost ~]# yum&n…

    Linux干货 2016-09-19
  • 四大开源协议比较:BSD、Apache、GPL、LGPL

          现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议目前有58种。我们现在常见的开源协议如BSD, GPL, LGPL,MIT等都是OSI批准的协议。如果要开源自己的代码,最好也是选择这些被批准的开源协议。   这里我们来看四种最常用的开源协议及它们的适用范围,供那些准备开…

    系统运维 2016-08-15
  • vim编辑器的使用

    vim          vim是一个类似于vi的文本编辑器,不过在vi的基础上增加了很多功能,在早起vim和Emacs编辑器打的很火热,在1999年被linuxwork文本编辑分类的优胜者,而vim屈居第二,但2000年vim赢得了salashdot beanie的最佳开放源代…

    系统运维 2016-08-09
  • lvs应用

    练习一:负载均衡一个php应用: 测试是否需要会话保持; 是否需要用到共享存储;    为了检测是否需要会话保持和共享存储,要在两台主机上分别配置LAMP环境;这样就使得两者之间没有了共享存储;负载均衡使用nat模型的wlc算法,并且不使用lvs的长连接选项。数据库故意使用了相同的账号密码来进行安装。 步骤一:配置环境: 使用yum分别安…

    Linux干货 2016-11-11
  • 编译安装Linux内核

    实验前准备:在https://www.kernel.org/下载内核 这里我们下载的是:linux-4.14.10.tar.xz du -sh /app/linux.tar/ 此命令可查看内核文件大小 编译完成后/lib/modules下会生成4.14.10版的内核 1,tar xvf linux-4.14.10.tar.xz -C /app/解压缩准备好的…

    2018-01-03

评论列表(1条)

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

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