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
下一篇 2016-11-06

相关推荐

  • LINUX–命令的格式、类型、别名的概述及运用

    命令格式       COMMAND [OPTIONS…] [ARGUMENTS..]      [OPTIONS..] 选项:用于启用或关闭命令的某个或某些功能                &n…

    2017-05-21
  • CentOS 7 安装 mysql-5.7.14

    在centos7上安装 路上遇过各种坑 把在centos7正确安装mysql-5.7.14分享一下 1. CentOs7 默认的数据库为MariaDB,先卸载MariaDB,否则安装mysql,引起冲突 rpm -qa mariadb rpm -e –nodeps mariadb 2. 准备好工作环境 mkdir /application&nbs…

    Linux干货 2017-05-07
  • 处理文本的工具sed,vim 编辑器的使用 Linux版

    处理文本的工具sed Stream EDitor 行编辑器 sed一次处理一行的内容,处理时,将当前处理的行存储在临时缓冲区,称为“模式空间”,接着用sed命令处理缓冲区中的内容,处理完成后,将缓冲区的内容送往屏幕,接着处理下一行不断重复,直到末尾。            一次处理一行 文件&#82…

    Linux干货 2016-08-11
  • Week9’s homework

    Week9's homework 1、写一个脚本(1)判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin)(2)分别统计两类用户的个数;通过字符串比较来实现。 #!/bin/bash # for i in $(cat /etc/passwd |…

    Linux干货 2016-12-24
  • corosync v2+pacemaker实现mariadb的高可用

    高可用mariadb拓扑图 一、设计前提 1、时间同步 # ntpdate 172.16.0.1 或者 # chronyc sources 2、所有的主机对应的IP地址解析可以正常工作, 主机名要与命令#uname -n 所得的结果一致 因此,/etc/hosts中的内容为以下内容         172.16.23.10 node1.rj.com node…

    2017-11-02

评论列表(1条)

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

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