M20 – 1- 第二周(2):课堂练习与作业

课堂练习:

1、显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件和目录

[root@centos6 ~]# ls /var/l*[[:digit:]]*[[:lower:]]
ls: cannot access /var/l*[[:digit:]]*[[:lower:]]: No such file or directory
[root@centos6 ~]# touch /var/l5x
[root@centos6 ~]# ls /var/l*[[:digit:]]*[[:lower:]]
/var/l5x

2、显示/etc目录下以任意一位数字开头,且以非数字结尾的文件或目录

[root@centos6 ~]# ls /etc/[[:digit:]]*[^[:digit:]]
ls: cannot access /etc/[[:digit:]]*[^[:digit:]]: No such file or directory
[root@centos6 ~]# touch /etc/7abc
[root@centos6 ~]# ls /etc/[[:digit:]]*[^[:digit:]]
/etc/7abc

3、显示/etc目录下以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件和目录

[root@centos6 ~]# ls -d /etc/[^[:alpha:]][[:alpha:]]*
/etc/7abc

4、显示/etc目录下所有以m开头以非数字结尾的文件或目录

[root@centos6 ~]# ls -d /etc/m*[^0-9]
/etc/magic    /etc/mail.rc    /etc/man.config  /etc/mime.types   /etc/modprobe.d  /etc/mtab         /etc/my.cnf
/etc/mailcap  /etc/makedev.d  /etc/maven       /etc/mke2fs.conf  /etc/motd        /etc/mtools.conf

5、显示/etc目录下,所有以.d结尾的文件或目录

[root@centos6 ~]# ls -d /etc/*.d
/etc/bash_completion.d  /etc/init.d         /etc/modprobe.d      /etc/rc0.d  /etc/rc6.d          /etc/setuptool.d
/etc/chkconfig.d        /etc/latrace.d      /etc/oddjobd.conf.d  /etc/rc1.d  /etc/rc.d           /etc/statetab.d
/etc/cron.d             /etc/ld.so.conf.d   /etc/pam.d           /etc/rc2.d  /etc/request-key.d  /etc/sudoers.d
/etc/depmod.d           /etc/logrotate.d    /etc/popt.d          /etc/rc3.d  /etc/rsyslog.d      /etc/sysctl.d
/etc/dnsmasq.d          /etc/lsb-release.d  /etc/prelink.conf.d  /etc/rc4.d  /etc/rwtab.d        /etc/xinetd.d
/etc/dracut.conf.d      /etc/makedev.d      /etc/profile.d       /etc/rc5.d  /etc/sane.d         /etc/yum.repos.d

6、显示/etc目录下,所有以.conf结尾,且以m,n,r,p开头的文件或目录

[root@centos6 ~]# ls -d /etc/[mnrp]*.conf
/etc/mke2fs.conf    /etc/nsswitch.conf  /etc/pm-utils-hd-apm-restore.conf  /etc/readahead.conf    /etc/rsyslog.conf
/etc/mtools.conf    /etc/ntp.conf       /etc/pnm2ppa.conf                  /etc/request-key.conf
/etc/nfsmount.conf  /etc/pbm2ppa.conf   /etc/prelink.conf                  /etc/resolv.conf

作业:

1、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中

[root@centos6 ~]# cat /etc/issue | tr 'a-z' 'A-Z' > /tmp/issue.out
[root@centos6 ~]# cat !$
cat /tmp/issue.out
CENTOS RELEASE 6.8 (FINAL)
KERNEL \R ON AN \M
TTY IS \L
DATE IS \D
HOSTNAME IS \N

2、将当前系统登录用户的信息转换为大写后保存至/tmp/who.out文件中

[root@centos6 ~]# who | tr 'a-z' 'A-Z' > /tmp/who.out
[root@centos6 ~]# cat !$
cat /tmp/who.out
ROOT     PTS/0        2016-07-30 19:26 (172.18.19.236)

3、一个linux用户给root发邮件,要求邮件标题为“help”,邮件正文如下:

Hello,I am 用户名,the system version is here,pleasehelp me to check it,thanks!

[root@centos6 ~]# mail -s help wang
Hello, I am wang, the system version is here, pleasehelp me to check it, thanks!
.
EOT
[root@centos6 ~]# su - wang
[wang@centos6 ~]$ mail
Heirloom Mail version 12.4 7/29/08.  Type ? for help.
"/var/spool/mail/wang": 2 messages 2 new
>N  1 root                  Sat Jul 30 20:59  18/662   "help"
 N  2 root                  Sat Jul 30 20:59  18/662   "help"
& 1
Message  1:
From root@centos6.localdomain  Sat Jul 30 20:59:41 2016
Return-Path: <root@centos6.localdomain>
X-Original-To: wang
Delivered-To: wang@centos6.localdomain
Date: Sat, 30 Jul 2016 20:59:41 +0800
To: wang@centos6.localdomain
Subject: help
User-Agent: Heirloom mailx 12.4 7/29/08
Content-Type: text/plain; charset=us-ascii
From: root@centos6.localdomain (root)
Status: R

Hello, I am wang, the system version is here, pleasehelp me to check it, thanks!

&

4、将/root/下文件列表,显示成一行,并以文件名之间用空格隔开

[root@centos6 ~]# ls -a | tr '\n' ' '
. .. .abrt anaconda-ks.cfg .bash_history .bash_logout .bash_profile .bashrc bc .cache .config .cshrc .dbus dead.letter 
Desktop Documents Downloads edrawmax-cn.exe .esd_auth file1 .gconf .gconfd .gnome2 .gnote .gnupg .gtk-bookmarks .gvfs .ICEauthority .imsettings.log install.log install.log.syslog .local Music .nautilus Pictures Public .pulse .pulse-cookie root.out .ssh .tcshrc Templates tr Videos .viminfo [root@centos6 ~]#

5、file文件的内容为:“1 2 3 4 5 6 7 8 9 10” 计算出所有数字的总和

[root@centos6 ~]# cat file1 
1 2 3 4 5 6 7 8 9 10
[root@centos6 ~]# cat file1 |xargs|sed 's/ /+/g'|bc
55
[root@centos6 ~]# cat file1
1 2 3 4 5 6 7 8 9 10
[root@centos6 ~]# cat file1|tr ' ' '+' |bc
55

6、删除Windows文本文件中的"^M"字符

[root@centos6 ~]# cat -A file4.txt 
a^M$
b^M$
c^M$
d^M$
f^M$
g[root@centos6 ~]# tr -d '\r' <  file4.txt > file5.txt
[root@centos6 ~]# cat -A file5.txt 
a$
b$
c$
d$
f$
g[root@centos6 ~]#

7、处理字符串“xt.,1 1 jr#!$mn2 c*/fe3 uz4 ”,只保留其中的数字和空格

[root@centos6 ~]# echo "xt.,1 1 jr#bcmn2 c*/fe3 uz4" | tr -d '[[:alpha:]][[:punct:]]'
1 1 2 3 4

8、将PATH变量每个目录显示在独立的一行

[root@centos6 ~]# echo $PATH |tr ':' '\012'
/usr/lib64/qt-3.3/bin
/usr/local/sbin
/usr/local/bin
/sbin
/bin
/usr/sbin
/usr/bin
/root/bin

9、删除指定文件的空行

[root@centos6 ~]# cat file2
a

b

c
         
[root@centos6 ~]# sed -i '/^$/d' file2
[root@centos6 ~]# cat file2
a
b
c

10、将文件中每个单词(字母)显示在独立的一行,并无空行

[root@centos6 ~]# cat file6
how are you! how old are you!
[root@centos6 ~]# cat file6 |tr ' ' '\n'
how
are
you!
how
old
are
you!

原创文章,作者:Aleen,如若转载,请注明出处:http://www.178linux.com/26882

(0)
AleenAleen
上一篇 2016-08-02 10:58
下一篇 2016-08-02 10:58

相关推荐

  • SHELL中的变量

    SHELL中的变量            运行SHELL脚本中的单个命令自然有用,但这有其自身的限制。通常你会需要在SHELL命令使用其他数据来处理信息。这可以通过变量来实现。变量允许你临时性地将信息存储在SHELL脚本中,以便和脚本中的其他命令一起使用。 1 环境变量…

    Linux干货 2017-04-16
  • rsyslog日志存储到mysql数据库中并利用loganalyzer进行web图形化分析管理

    概述     系统日志的重要性,相信大家都深有体会,当发生故障后,第一时间就是查看相关报错信息和日志信息,以定位问题所在,还可以基于日志,进行日志的分析,从而获取系统运行状态的一些规律,本篇就介绍关于系统日志的先关内容,具体分为:     1、rsyslog相关概念的介绍 &nb…

    Linux干货 2016-10-18
  • N23 9月底的

    1.linux下文件管理命令 cat 读取文件 或者连接显示touch 建立文件 改变时间 cp 复制文件 -f 强制复制 不论覆盖-r 连同子目录递归处理-l 建立硬链接-s 建立符号连接 rm 删除文件 -r 递归删除 连同子目录也一起干掉-f 强制 删除文件或者目录-d 直接删除目录 file 辨识文件类型 find 查找文件 whereis 查找文件…

    Linux干货 2016-09-25
  • Bash的基础特性之命令执行状态返回值和命令行展开

    Bash的基础特性之命令的执行状态 Linux的命令执行结果状态有两种,分别为:1、成功2、失败bash使用特殊变量 $? 保存最近一条命令的执行状态结果使用echo $? 命令来查看命令执行状态返回值:0:成功1-255:失败 示例:         [root@localho…

    Linux干货 2016-11-04
  • 0803作业

    课上练习 1.当用户xiaoming 对/testdir  目录无执行权限时,意味着无法做哪些操作?  drwxr-xr–. 14 root root 4096 Aug  3 13:35 /testdir [xiaoming@localhost ~]$ touch /testdir/f1…

    Linux干货 2016-08-04
  • linux内核(kernel)版本号的意义

      在linux下有一个目录,即/usr/src/kernels/目录,下面记载着一个linux系统的内核文件, 例如:2.6.18-164.el5-x86_64、2.6.18-8.el5-x86_64和2.6.18-194.el5-x86_64等,这些文件编号意味着什么呢?例如2.6.18代表着什么?el5代表着什么?x86_64又代表着什么? …

    Linux干货 2016-01-14