1.用命令和正则表达式按照要求建立文件
创建文件命令:touch 是通过时间戳来建立文件,当没有这个文件时,就建立这个文件
stat file 查看文件的修改时间
用法:touch 目的地绝对路径/文件名
当创建文件时,如果文件名里有特殊字符(如分号";")时,需要用但引号将文件名括起来;如果文件名前有"-"等表示参数的符号,则需要用"./"加文件名,表示在当前目录下创建这个文件。
创建目录命令:mkdir
用法:mkdir 目的地绝对路径/目录名
mkdir -p 第归建立目录
*)用一条命令建立12个文件WESTOS_classX_linuxY(X的数值范围为1-2,Y的数值范围为1-6)
*)这些文件都包含在root用户桌面的study目录中
touch /root/Desktop/study/WESTOS_class{1,2}_linux{1..6}
其中
(1)touch为创建一个文件的命令
(2){}为正则表达式,里面的取值是所要创建的文件的范围。例如{1,2}表示class1,class2。如果文件数目较少,可以用","逗号隔开,如果文件数目较多,可以使用".."(如{1..6}表示1,2,3,4,5,6)隔开。上述命令则是创建了2*6=12个文件。
(3)如果没有study目录,则需要用 mkdir 路径/study 创建study目录,如果有则不需要创建。
*)用一条命令建立8个文件redhat_virsionX(x的范围为1-8)
*)redhat_virsionX这些文件都包含在/mnt目录中的VERSION中
这个的做法与上一个类似,命令如下:
touch /mnt/VERSION/redhat_virsion{1..8}
注意:如果mnt目录中没有VERSION目录,则需用 "mkdir 路径/study" 创建VERSION目录,如果有则不需要创建。
2.管理刚才新建立的文件要求如下
*)用一条命令把redhat_virsionX中的带有奇数的文件复制到桌面的SINGLE中
复制命令 cp
用法:cp 源文件绝对路径/文件名 目的地绝对路径
cp -r 第归复制
复制是一个新建的过程,移动道相通磁盘是一个重命名的过程,移动到不同磁盘是一个新建并删除源文件的过程
mkdir /root/Desktop/SINGLE
cp /mnt/VERSION/redhat_virsion{1,3,5,7} SINGLE
*)用一条命令把redhat_virsionX中的带偶数数的文件复制到/DOUBLE中
mkdir /root/Desktop/DOUBLE
cp /mnt/VERSION/redhat_virsion{2,4,6,8}
*)用一条命令把WESTOS_classX_linuxY中class1的文件一动到当前用户桌面的CLASS1中
移动命令:mv
用法:mv 源文件绝对路径/文件名 目的绝对路径
mv -r 第归移动
mkdir /root/Desktop/CLASS1
mv /root/Desktop/study/WESTOS_class1_linux{1..6} /root/Desktop/CLASS1
*)用一条命令把WESTOS_classX_linuxY中class2的文件一动到当前用户桌面的CLASS2中
mkdir /root/Desktop/CLASS2
mv /root/Desktop/study/WESTOS_class2_linux{1..6} /root/Desktop/CLASS2
3.备份/etc目录中所有带有名字带有数字并且以.conf结尾的文件到桌面上的confdir中
备份文件可以使用 cp 命令
cp /etc/*[[:digit:]]*.conf /root/Desktop/confdir
注意:
*:通配符,匹配0-任意字符,即可以表示带有任意字符名字的文件
[[:digit:]]:数字,即选出文件名中带有数字的文件
.conf:文件后缀,即选出所有文件后缀为.conf的文件
5.删掉刚才建立或者备份的所有文件
文件删除命令:
rm 待删除的文件
rm -r 待删除的目录
rm -fr 待删除文件或目录 (不询问是否删除)
####################正则表达式######################
* #匹配0-任意字符
? #匹配任意单个字符
~ #匹配当前用户家目录
~user #匹配到user的家目录
~+ #当前目录
~- #当前目录之前所在的
[abc] #有a或者有b或者有c
eg: mv ??[a]?? test/ #移动文件名里有字母a的文件到test目录里 ?????表示不知道五个字符是什么的文件名
[!abc] #除了含有a或者b或者c
[^abc] #除了含有a或者b或者c
[[:alpha:]] ##单个字母
eg: mv ??[[:alpha:]]?? test/ ##/是Tab键自动不全的,是目录则有,是文件则无
[[:lower:]] ##单个小写字母
[[:upper:]] ##单个大写字母
[[:alnum:]] ##单个字母或数字
[[:punct:]] ##单个符号,不包含数字,字母以及空格
[[:digit:]] ##数字
[[:space:]] ##单个空格