Linux 文件管理
1、显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录
ls -d /var/l[0-9][[:lower:]]
2、显示/etc目录下以任意一位数字开头,且以非数字结尾的文件或目录
ls -d /etc/[0-9]*[[1]]
3、显示/etc/目录下以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录
ls -d /etc/[[2]][[:alpha:]]*
4、显示/etc/目录下所有以rc开头,并后面是0-6之间的数字,其它为任意字符的文件或目录
ls -d /etc/rc[0-6]*
5、显示/etc目录下,所有以.d结尾的文件或目录
ls -d /etc/*.d
6、显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录
ls -d /etc/[mnrp]*.conf
7、只显示/root下的隐藏文件和目录
ls -d /root/.*
8、只显示/etc下的非隐藏目录
ls -d /etc/[^.]*/
1、定义别名命令baketc,每天将/etc/目录下所有文件,备份到/app独立的子目录下,并要求子目录格式为 backupYYYY-mm-dd,备份过程可见
alias baketc='cp -av /etc/ /app/backup`date +%F`'
2、创建/app/rootdir目录,并复制/root下所有文件到该目录内,要求保留原有权限
cp -a /root/ /app/rootdir
3、备份/root下所有内容(包括隐藏和非隐藏)到/data目录下
1.cp -a /root/. /data
2.cp -a /root/{.[^.],}* /data
3.cp -a /root/{.[^.]*,*} /data
1、显示/etc目录下所有以k开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录
1.ls -d /etc/k[[:digit:]][[:lower:]]
2.ls -d /etc/k[0-9][[:lower:]]
2、显示/proc目录下名字由任意三位数字组成的文件或目录
1.ls -d /proc/[0-9][0-9][0-9]
2.ls -d /proc/[[:digit:]][[:digit:]][[:digit:]]
3、显示/var/log目录下文件名包含符号及数字的文件或目录
1.ls -d /var/log/[[:punct:]][[:digit:]]*
2.ls -d /var/log/[[:punct:]][0-9]*
4、显示/usr/share/man目录下所有以m开头,以一个数字和x结尾的文件或目录
1.ls -d /usr/share/man/m[0-9]x
2.ls -d /usr/share/man/m[[:digit:]]x
5、显示/etc目录下,所有以一个大写字母开头,以两个数字结尾的文件或目录
1.ls -d /etc/[[:upper:]][[:digit:]][0-9]
6、显示/etc目录下,文件名至少包含一个小写字母和一个数字并以.conf结尾的文件或目录
1.ls -d /etc/[[:lower:]][0-9].conf
7、只显示用户家目录下的非隐藏目录
1.ls -d ~/[^.]/
8、定义别名命令baketc,将/etc/目录下所有文件,备份到/testdir独立的子目录下,并要求
子目录格式为 backupYYYY-mm-dd,备份过程可见
1.alias baketc="cp -av /etc/ /testdir/backupdate +%F
"
2.alias baketc="cp -av /etc /testdir/backup$(date +%F)"
3.alias baketc='mkdir -p /testdir/backup$(date +%F);cp -av /etc/ /testdir/backup$(date +%F)'
P.S:/etc/:是代表拷贝/etc下面的多个文件,所以必须是目录,而且要事先存在
/etc/和/etc:都是表示目录,所以是目录拷贝目录(目标目录可以事先不存在)。将/etc/和/etc这个目录拷贝并且重命名为backup$(date +%F)要配合-r选项
alias baketc="cp -av /etc/ /testdir/backupdate +%F
"
9、创建/testdir/rootdir目录,并复制/root下所有文件到该目录内,要求保留原有权限
mkdir -p /testdir/rootdir----->cp -r --preserv=mode /root/ /testdir/rootdir/
10、使用一条命令创建/testdir/dir8/x, /testdir/dir8/y, /testdir/dir8/x/a,
/testdir/dir8/x/b, /testdir/dir8/x/c, /testdir/dir8/y/a, /testdir/dir8/y/b
mkdir -pv /testdir/dir8/{x/{a,b,c},y/{a,b}}
11、使用一条命令创建 /testdir/dir9/x, /testdir/dir10/y, /testdir/dir9/x/a,
/testdir/dir10/y/b
mkdir -pv /testdir/dir{9/x/a,10/y/b}
12、使用一条命令创建/testdir/dir11, /testdir/dir12, /testdir/dir13,
/testdir/dir12/dir14, /testdir/dir13/dir15
mkdir -pv /testdir/dir