linux 从入门到跑路
text0 ls,cp,mkdir命令练习
1、显示/etc/目录下以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录
1 [root@localhost test]# touch 1a24d564fd ^s2124545 afsdf4s5d42 *02645
2
3 [root@localhost test]# ls
4
5 *02645 1a24d564fd afsdf4s5d42 ^s2124545
6
7 [root@localhost test]# ls [^[:alpha:]][[:alpha:]]*
8
9 1a24d564fd ^s2124545
2、显示/etc/目录下所有以rc开头,并后面是0-6之间的数字,其它为任意字符的文件或目录
[root@localhost test]# touch rc1sdasd rc2sdsfs rc88 rcrwrw asdasd
[root@localhost test]# ls
asdasd rc1sdasd rc2sdsfs rc88 rcrwrw
[root@localhost test]# ls rc[0-6]*
rc1sdasd rc2sdsfs
3、显示/etc目录下,所有以.d结尾的文件或目录
[root@localhost test]# touch dasd.d eqwe.f hrthy 215645 2sd2134 ds21456f.d
[root@localhost test]# ls
215645 2sd2134 dasd.d ds21456f.d eqwe.f hrthy
[root@localhost test]# ls *.d
dasd.d ds21456f.d
4、显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录
[root@localhost test]# touch m2e2.conf ngesd.conf rsds.conf pdfgds.conf 2123.conf asdas.conf
[root@localhost test]# ls
2123.conf asdas.conf m2e2.conf ngesd.conf pdfgds.conf rsds.conf
[root@localhost test]# ls [mnrp]*.conf
m2e2.conf ngesd.conf pdfgds.conf rsds.conf
5、只显示/root下的隐藏文件和目录
1 [root@localhost ~]# ls -d .*
2 . .bash_profile .cshrc .local
3 .. .bashrc .dbus .redhat
4 .bash_history .cache .esd_auth .tcshrc
5 .bash_logout .config .ICEauthority .Xauthority
6、只显示/etc下的非隐藏目录
[root@localhost etc]# ls -d [^.]*
abrt magic
adjtime mail.rc
aliases makedumpfile.conf.sample
#中间文件省略
locale.conf wvdial.conf
localtime X11
login.defs xdg
logrotate.conf xinetd.d
logrotate.d xml
lsm yum
lvm yum.conf
machine-id yum.repos.d
7、显示/etc目录下所有以k开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录
[root@localhost ~]# cd /etc/
[root@localhost etc]# ls [k]*[0-9]*[[:lower:]]
krb5.conf
krb5.conf.d:
8、显示/proc目录下名字由任意三位数字组成的文件或目录
[root@localhost ~]# ls -d /proc/[0-9][0-9][0-9]
#或
[root@localhost ~]# ls -d /proc/[[:digit:]][[:digit:]][[:digit:]]
/proc/100 /proc/371 /proc/406 /proc/601 /proc/684 /proc/735
/proc/275 /proc/381 /proc/479 /proc/627 /proc/706 /proc/738
/proc/276 /proc/382 /proc/506 /proc/628 /proc/708 /proc/749
/proc/277 /proc/395 /proc/514 /proc/629 /proc/709 /proc/753
/proc/278 /proc/396 /proc/537 /proc/630 /proc/710 /proc/755
/proc/279 /proc/397 /proc/571 /proc/631 /proc/711 /proc/756
/proc/280 /proc/398 /proc/576 /proc/632 /proc/712 /proc/758
/proc/282 /proc/399 /proc/578 /proc/633 /proc/713 /proc/759
/proc/290 /proc/400 /proc/582 /proc/634 /proc/718 /proc/771
/proc/291 /proc/401 /proc/584 /proc/658 /proc/719 /proc/783
/proc/292 /proc/402 /proc/590 /proc/677 /proc/721 /proc/797
/proc/293 /proc/403 /proc/592 /proc/679 /proc/722 /proc/819
/proc/330 /proc/404 /proc/594 /proc/681 /proc/723
/proc/370 /proc/405 /proc/597 /proc/682 /proc/726
9、显示/var/log目录下文件名包含符号及数字的文件或目录
[root@localhost log]# ls -d *[[:punct:][:digit:]]*
boot.log grubby_prune_debug vmware-vgauthsvc.log.0
boot.log-20180711 maillog-20201001 vmware-vmsvc.log
boot.log-20180712 messages-20201001 vmware-vmusr.log
boot.log-20201001 qemu-ga wpa_supplicant.log
boot.log-20201002 secure-20201001 Xorg.0.log
btmp-20201001 speech-dispatcher Xorg.0.log.old
cron-20201001 spooler-20201001 Xorg.9.log
dmesg.old vmware-install.log yum.log
10、显示/usr/share/man目录下所有以m开头,以一个数字和x结尾的文件或目录
[root@localhost man]# ls -d [m]*[[:digit:]]x
man1x man2x man3x man4x man5x man6x man7x man8x man9x、
11、显示/etc目录下,所有以一个大写字母开头,以两个数字结尾的文件或目录
[root@localhost etc]# ls -d [[:upper:]]*[[:digit:]][[:digit:]]
X11
12、显示/etc目录下,文件名至少包含一个小写字母和一个数字并以.conf结尾的文件或目录
[root@localhost etc]# ls -d *[[:lower:][:digit:]]*.conf
asound.conf kdump.conf pnm2ppa.conf
autofs.conf krb5.conf radvd.conf
autofs_ldap_auth.conf ksmtuned.conf request-key.conf
brltty.conf ld.so.conf resolv.conf
cgconfig.conf libaudit.conf rsyncd.conf
cgrules.conf libuser.conf rsyslog.conf
cgsnapshot_blacklist.conf locale.conf sestatus.conf
chrony.conf logrotate.conf sos.conf
dleyna-server-service.conf man_db.conf sudo.conf
dnsmasq.conf mke2fs.conf sudo-ldap.conf
dracut.conf mtools.conf sysctl.conf
e2fsck.conf nfs.conf tcsd.conf
fprintd.conf nfsmount.conf tpvmlp.conf
fuse.conf nsswitch.conf updatedb.conf
GeoIP.conf ntp.conf usb_modeswitch.conf
host.conf numad.conf vconsole.conf
idmapd.conf oddjobd.conf wvdial.conf
ipsec.conf pbm2ppa.conf yum.conf
13、只显示用户家目录下的非隐藏目录
[root@localhost ~]# ls -d [^.]*
123 test 模板 音乐
172.18.250.240 testdir 视频 桌面
anaconda-ks.cfg VMwareTools-10.2.5-8068393.tar.gz 图片
hello.txt vmware-tools-distrib 文档
initial-setup-ks.cfg 公共 下载
14、定义别名命令baketc,将/etc/目录下所有文件,备份到/testdir独立的子目录下,并要求
子目录格式为 backupYYYY-mm-dd,备份过程可见
alias baketc='cp -rv /etc testdir/backup`date +%F`'
15、创建/testdir/rootdir目录,并复制/root下所有文件到该目录内,要求保留原有权限
[root@localhost ~]# cp -prv /root testdir/rootdir
16、如何创建/testdir/dir3, /testdir/dir4, /testdir/dir5, /testdir/dir5/dir6,
/testdir/dir5/dir7
[root@localhost ~]# mkdir -p testdir/dir{3,4,5/dir{6,7}}
[root@localhost ~]# tree testdir/
testdir/
├── dir3
├── dir4
└── dir5
├── dir6
└── dir7
5 directories, 0 files
17、使用一条命令创建/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
[root@localhost ~]# mkdir -p testdir/dir8/{x/{a,b,c},y{a,b}}
[root@localhost ~]# tree testdir/
testdir/
└── dir8
├── x
│ ├── a
│ ├── b
│ └── c
├── ya
└── yb
7 directories, 0 files
18、使用一条命令创建 /testdir/dir9/x, /testdir/dir10/y, /testdir/dir9/x/a,
/testdir/dir10/y/b
[root@localhost ~]# mkdir -p testdir/dir{9/x/a,10/y/b}
[root@localhost ~]# tree testdir/
testdir/
├── dir10
│ └── y
│ └── b
└── dir9
└── x
└── a
6 directories, 0 files
19、 使用一条命令创建/testdir/dir11, /testdir/dir12, /testdir/dir13,
/testdir/dir12/dir14, /testdir/dir13/dir15
[root@localhost ~]# mkdir -p testdir/dir{11,12/dir14,13/dir15}
[root@localhost ~]# tree testdir/
testdir/
├── dir11
├── dir12
│ └── dir14
└── dir13
└── dir15
5 directories, 0 files