马哥门徒-N26-邢岩
我们接着说今天的分享,接着,我们来看看bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容好了。
1.bash的基础特性之:命令的执行状态结果
bash通过状态返回值来输出此结果:
成功:0
失败:1-255
命令执行完成之后,其状态返回值保存于bash的特殊变量$?中;
命令正常执行时,有的还有命令的返回值:根据命令及其功能不同,结果各不相同;
2.bash的基础特性之:命令行展开
~:自动展开为用户的家目录,或指定的用户的家目录
{}:可承载一个以逗号分割的路径列表,并将其展开为多个路径
例如:/tmp/{a,b}相当于 /tmp/a /tmp/b
不知道文艺青年们的fish是个神马样子的。。。别神游了,安心的回来做个练习题吧。
请使用命令行展开功能来完成以下练习:
(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
文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
文件可以分成两类数据:
元数据: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
如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
1.alias命令可以定义一个命令的别名
alias name=’value’
注意:别名只对当前shell有效,如果想永久生效,需要定义在配置文件中。
2.引用命令的执行结果:
$(COMMAND)
或`COMMAND`
最后,我再来做一些练习题来结束我今天的分享。温故而知新,那么我就开始了。
显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
复制/etc/目录下所有以l或m或n开头,以.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
Don't be so excited!虽然此刻我已经学完了上百个常用的Linux命令,但是光用命令本身是不能做好工作滴,任重而道远,还会有什么呢?且听下次分解吧,bye!
原创文章,作者:jeque,如若转载,请注明出处:http://www.178linux.com/68061
评论列表(1条)
很棒,继续加油!