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