1. bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示
状态返回值:
0表示成功执行 1-255则表示失败
命令行展开:
~:自动展开用户或指定用户的家目录,
{}:可承载以逗号分隔的路径列表并将其展开为多个路径
练习:
请使用命令行展开功能来完成以下练习:
(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命令查看文件的元数据
我们可以使用touch命令来修改文件的时间戳,常用的选项有以下:
-c:指定的文件路径不存在时不予创建
-a:仅修改access time
-m:仅修改modify time
-t:使用指定的日期时间,而非现在的时间;[[CC]YY]MMDDhhmm[.ss];
3.如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
可以使用alias来定义别名,使用unalias来取消别名
引用可使用 $(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
评论列表(1条)
几个练习都完成的不错~~上面的几张图片能换成markdown会更好点~~继续加油~