linux命令实例进阶,linux系统命令进阶(示例代码)

1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。cp -a /etc/group /home/tuser1

chown -R o-rwx /home/tuser1

2、编辑/etc/group文件,添加组hadoop。新建方法了解到的有如下两种

例子1:

echo "hadoop:x:2024:" >> /etc/group

例子2:

group hadoop

下面这种的创建方式,相对比较常见,具体看个人操作习惯

3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。

这里也提供两种新建的方法:例子1:

echo "hadoop:x:2020:2026::/home/hadoop:/bin/bash"

例子2:

useradd hadoop

讲解:默认创建的用户都会在/home目录下面,默认/bin/bash/下的用户都允许登录系统,如果需要拥有最大的超级管理员权限,只需要将ID号修改为0:0即可。

4、复制/etc/skel目录为/home/hadoop,要求修改hadoop目录的属组和其它用户没有任何访问权限。[[email protected] ~]# cp  -a /etc/skel /home/hadoop

[[email protected] ~]# chmod go-y /home/hadoop

[[email protected] hadoop]# su hadoop

bash: /home/hadoop/.bashrc: Permission denied

bash-4.2$

根据上面操作,hadoop,就没有访问家目录的权限了

5、修改/home/hadoop目录及其内部所有文件的属主为hadoop,属组为hadoop。chown -R hadoop.hadoop /home/hadoop || chown -R hadoop:doop /home/hadoop

上面两种操作方式都可以执行的,5系列的大部分都是使用前者,后者由于没有环境是否也可行,暂时未知,下次有机会试验,再补上。

6、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;案例1

[[email protected] hadoop]# grep "^[sS]" /proc/meminfo

案例2

[[email protected] hadoop]# cat /proc/meminfo |grep -i "^s"

讲解:关于这里其实不需要使用管道符号也是可以的 “|” ,在工作中,我们难免需要用到管道符,在写匹配的时候能尽量不用管道最好不用,加多一道管道,意味着需要增加资源的损耗。具体看个人习惯以及需求而定。

7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;[[email protected] hadoop]# grep "/bin/nologin" /etc/passwd

8、显示/etc/passw d文件中其默认shell为/bin/bash的用户;[[email protected] hadoop]# grep "/bin/bash" /etc/passwd

9、找出/etc/passwd文件中的一位数或两位数;grep -o "[0-9]\{1,2\}" /etc/passwd

10、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;grep "^[[:space:]]" /boot/grub/grub.conf

11、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;[[email protected] hadoop]# grep "^#[[:space:]]\+[^[:space:]]\+" /etc/rc.d/rc.sysinit

12、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;[[email protected] hadoop]# netstat -lan | grep "LISTEN[[:space:]]\+$"

参数介绍:

a (all)显示所有选项,默认不显示LISTEN相关

-t (tcp)仅显示tcp相关选项

-u (udp)仅显示udp相关选项

-n 拒绝显示别名,能显示数字的全部转化成数字。

-l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名

-r 显示路由信息,路由表

-e 显示扩展信息,例如uid等

-s 按各个协议进行统计

-c 每隔一个固定时间,执行该netstat命令。

13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;[[email protected] hadoop]# useradd bash

[[email protected] hadoop]# useradd testbash

[[email protected] hadoop]# useradd basher

[[email protected] hadoop]# useradd nologin -s /sbin/nologin

[[email protected] hadoop]# grep "^\(\\).*\1$" /etc/passwd

总结:

本章用的最多的就是grep的命令例子了,主要是配合正则去匹配题目上要求的结果,这里对grep的一些高级用法,在下面列举一下。

励志话语:烂木头,如果现在努力了,后面就是甘泉,如果现在不努力,后面将是,噩梦的开始。

grep

一.匹配字符.    匹配任意单个字符

[ ]  匹配指定范围内的任意字符

[^]  匹配飞指定范围内的任意字符

[:alpha:] 字母字符

[:lower:] 小写字母字符

[:upper:] 大写字母字符

[:digit:] 数字

[:alnum:] 字母数字字符

[:space:] 空白字符(禁止打印),如回车符、换行符、竖直制表符和换页符

[:punct:] 标点字符

[:cntrl:] 控制字符(禁止打印)

[:print:] 可打印字符

使用时一般使用两个中括号,具体会在下面的例子中使用。

二.匹配次数*      匹配前面的字符任一次

.*    匹配任意长度的任意字符(注意贪婪模式,比如  grep  “r.*t” /etc/passwd  )

x\{m,n\}  指定前面的字符至少出现m次,至多出现N次。

x\{m,\}    指定前面的字符至少出现m次

x\{0,n\}  指定前面的字符至多出现N次

x\{m\}    精确匹配m次

?        匹配其前面的字符0或1次

三.锚定符1.^  锚定行首    grep  "^r..t"  /etc/passwd

2.$  锚定行尾    grep  "h$"  /etc/passwd

3.^$ 锚定空白行  grep  "^$"  /etc/passwd

4.\

5.\> (\b)  锚定词首    grep  "r..t\>"  /etc/passwd

示例(容易混淆):

至少包含一个空白字符          grep  "[[:space:]]\{1,\}"  /etc/passwd

至少包含一个非空白字符        grep  "[^[:space:]]\{1,\}"  /etc/passwd

没有一个空白字符              grep  -v "[^[:space:]]\{1,\}"  /etc/passwd

6.\(\)对字符分组  grep  "\(l..e\).*\1r"

示例:

grep --color "l\([13]\):\1:.*:\1"  /etc/inittab

四.选项-v:对结果取反

-i:忽略字母大小写

-o:仅显示匹配到的字符串(行的其他内容不显示)

-E:支持扩展的正则表达式

-A:显示匹配到的行下面n行

-B:显示匹配到的行上面n行

-C:显示匹配到的行上下面各显示n行

-E:扩展正则表达式egrep

-F:一个换行符分隔的字符串的集合fgrep

-G:基本正则

-P:调用的perl正则

-e:后面根正则模式,默认无

-f:从文件中获得匹配模式

-i:不区分大小写

-w:匹配整个单词

-x:匹配整行

-z:一个 0字节的数据行,但不是空行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值