集中练习3

用户管理、文本处理、文件管理相关

(1) 显示当前系统上root、fedora或user1用户的默认shell
“`
~]# grep -E “^(root|fedora|user1)” /etc/passwd | cut -d: -f7
/bin/bash
/bin/bash
/bin/bash
“`
(2) 找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello();
“`
~]# grep -E “[[:alpha:]]+\(\)” /etc/rc.d/init.d/functions
checkpid() {
__kill_pids_term_kill_checkpids() {
__kill_pids_term_kill() {
__pids_var_run() {
__pids_pidof() {
daemon() {
killproc() {
pidfileofproc() {
pidofproc() {
status() {
echo_success() {
echo_failure() {
echo_passed() {
echo_warning() {
update_boot_stage() {
success() {
failure() {
passed() {
warning() {
action() {
strstr() {
is_ignored_file() {
is_true() {
is_false() {
apply_sysctl() {
“`
(3) 使用echo命令输出一个绝对路径,使用grep取出其基名;扩展:取出其路径名
“`
~]# echo “/etc/sysconfig/network-scripts/ifcfg-ens33” | grep -Eo “[^/]+/?$” | cut -d’/’ -f1
ifcfg-ens33
~]# echo “/etc/sysconfig/network-scripts/ifcfg-ens33” | grep -Eo “^/.*/”
/etc/sysconfig/network-scripts/
“`
(4) 找出ifconfig命令结果中的1-255之间的数字
“`
~]# ifconfig | grep -E “(\<[1-9]\>|\<[1-9][0-9]\>|\<1[0-9][0-9]\>|\<2[0-4][0-9]\>|\<25[0-5]\>)”
“`
(5) 挑战题:写一个模式,能匹配合理的IP地址
“`
~]# ifconfig | grep -E “(\<[1-9]\>|\<[1-9][0-9]\>|\<1[0-9][0-9]\>|\<2[0-4][0-9]\>|\<25[0-4]\>).(\<[0-9]\>|\<[1-9][0-9]\>|\<1[0-9][0-9]\>|\<2[0-4][0-9]\>|\<25[0-4]\>).(\<[0-9]\>|\<[1-9][0-9]\>|\<1[0-9][0-9]\>|\<2[0-4][0-9]\>|\<25[0-4]\>).(\<[1-9]\>|\<[1-9][0-9]\>|\<1[0-9][0-9]\>|\<2[0-4][0-9]\>|\<25[0-4]\>)”
inet 10.6.9.148 netmask 255.255.255.0 broadcast 10.6.9.255
inet 127.0.0.1 netmask 255.0.0.0
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
“`
(6) 挑战题:写一个模式,能匹配出所有的邮件地址
“`
~]# vim mail.test
tom@cartoon.com hello
13810773388@139.com —o9fkdjfi#
sssjji4f4e@126.com jfeifj389j
hhd8-12dd@hh99-jd.net jjjjllllll

~]# grep -Eo “\<[[:alnum:][:punct:]]+@[[:alnum:][:punct:]]+.[[:alpha:]]\>” mail.test
tom@cartoon.com
13810773388@139.com
sssjji4f4e@126.com
hhd8-12dd@hh99-jd.net
“`
(7) 查找/var目录下属主为root,且属组为mail的所有文件或目录
“`
~]# find /var -user root -a -group mail
/var/spool/mail
/var/spool/mail/root
“`
(8) 查找当前系统上没有属主或属组的文件;扩展:查找当前系统上没有属主或属组,且最近三天内曾被访问过的文件或目录;
“`
~]# find / -nouser -o -nogroup -a -type f
扩展:
~]# find / -nouser -o -nogroup -a atime -3
“`
(9) 查找/etc目录下所有用户都有写权限的文件
“`
~]# find /etc -perm -222 -a -type f
“`
(10) 查找/etc目录下大于1M,且文件类型为普通文件的所有文件
“`
~]# find /etc -size +1M -type f -exec ls -lh {} \;
-rw-r–r–. 1 root root 3.6M Nov 12 2016 /etc/selinux/targeted/active/policy.kern
-rw-r–r–. 1 root root 1.4M Nov 12 2016 /etc/selinux/targeted/contexts/files/file_contexts.bin
-rw-r–r–. 1 root root 3.6M Nov 12 2016 /etc/selinux/targeted/policy/policy.30
-r–r–r–. 1 root root 7.0M Aug 29 14:42 /etc/udev/hwdb.bin
-rw-r–r–. 1 root root 1.4M Nov 6 2016 /etc/brltty/zh-tw.ctb
“`

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/87471

(0)
N27_sapbcsN27_sapbcs
上一篇 2017-09-20 17:51
下一篇 2017-09-23 10:37

相关推荐

  • linux用户与组管理

    一、linux用户与组管理的基本介绍 1、任何一个用户想要使用Linux系统都要向管理员申请一个账号,对这些账号的管理即是对用户的管理,所谓组,就是多个账号的集合。用户和组管理可以提高用户的管理效率、工作效率以及系统的安全性,比如将同一个部门的成员放在一个组里并设置权限,这样可有效的对资源共享,同时可以避免其他部门的人恶意破坏。 2、用户和组的管理内容一般有…

    Linux干货 2016-08-02
  • Redis应用场景

    1.  MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: 1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发…

    Linux干货 2015-02-25
  • VIM编辑器用法及练习

    VIM编辑器用法及练习 什么是vim? vim是从vi发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。 Vim的第一个版本由布莱姆·米勒在1991年发布。最初的简称是Vi IMitation,随着功能的不断增加,正式名称改成了Vi IMproved。现…

    Linux干货 2016-10-30
  • 第十周-Centos启动流程及Shell脚本编程

    一、CentOS启动流程 POST –> Boot Sequence(BIOS) –> Boot Loader (MBR) –> Kernel(ramdisk) –> rootfs –> switchroot –> /sbin/init –…

    2017-10-14
  • cp复制软链接失效的原因

    在学习cp命令时我们会知道复制软链接时,如果要保留链接文件使用-d,但当我们实际操作时却常常出现如下情况 [root@localhost ~]# ls -l /etc/redhat-release     #此文件为链接文件 lrwxrwxrwx. …

    Linux干货 2016-10-25
  • 实战:ansible自动化部署nginx+keepalived+mysql负载均衡集群

    一、目的 使用ansible自动化部署nginx+keepalived+mysql负载均衡集群。 二、拓扑规划 三、详细步骤 1、环境的搭建         (1)安装ansible,同时配置私钥免密码进行通信 [root@localhost ~]# ssh-keygen &nb…

    Linux干货 2016-11-11