linux系统命令进阶

author author     2022-08-01     520

关键词:

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 "^(<[[:alpha:]]+>).*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.< ()  锚定词首    grep  "<r..t"  /etc/passwd
5.> ()  锚定词首    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字节的数据行,但不是空行





本文出自 “屋檐下的思考” 博客,请务必保留此出处http://wuyanxxk.blog.51cto.com/4130666/1843525

linux使用详解(进阶篇)(代码片段)

...2.操作防火墙3.ulimit命令和history命令4.RPM和Yum的使用5.设置系统字符集6.vi&vim编辑器7.文件同步、复制8.利用SCP命令进行文件传输Linux使用详解(进阶篇)firewall-cmd--get-active-zones1.Linux目录说明bin->usr/bin这个目录存放的是,最经常使用... 查看详情

linux命令汇总|vim|shell|进阶2022版(代码片段)

....2ifconfig1.4.3ping1.4.4修改IP地址1.4.5主机名称1.4.6远程登录1.5系统管理1.5.1Linux中的进程和服务1.5.2systemctl1.5.3systemctl设置后台服务的自启配置1.5.4系统运行级别1.5.5防火墙1.5.6关机1. 查看详情

学习计划20180918

...等常见操作命令)  2、Linux用户及权限基础  3、Linux系统进程管理进阶  4、linux高效文本、文件处理命令(vim、grep、sed、awk、find等命令)  5、shell脚本入门(可边练习边学习)第二阶段:中级进阶  中级进阶需要在充... 查看详情

如何学习linux

...file、mkdir等常见操作命令)2、Linux用户及权限基础3、Linux系统进程管理进阶4、linux高效文本、文件处理命令(vim、grep、sed、awk、find等命令)5、shell脚本入门(可边练习边学习)第二阶段:中级进阶中级进阶需要在充分了解linux原理和基... 查看详情

linux基础命令命令进阶

Linux命令格式:命令 选项 参数(大部分命令是这个格式)注意:1.命令区分大小写2.短选项可以合并  长选项不能合并  如:短选项-l -h可以合并为-lh        长选项 不能... 查看详情

linux培训哪些比较好?

...file、mkdir等常见操作命令)2、Linux用户及权限基础3、Linux系统进程管理进阶4、linux高效文本、文件处理命令(vim、grep、sed、awk、find等命令)5、shell脚本入门(可边练习边学习)第二阶段:中级进阶中级进阶需要在充分了解linux原理和基... 查看详情

python自学路线图之python进阶

...,自学完后需要掌握的Python技能:1.自学Linux操作系统,熟练使用Linux操作系统;自学网络编程,掌握网络编程相关技术,能够实现网络间数据通信;自学程序设计,掌握程序设计开发中多任务实现方式&#x... 查看详情

linux命令进阶:grep,sed,awk全家桶(文本处理技术详例)(代码片段)

...ff0c;成为热门文章。众所周知,Linux是一类强大的操作系统,它的功能强大,稳定性高,在大公司企业应用广泛,掌握Linux的相关命令操作和知识体系显得十分重要。Linux博大精深,只学习到入门时候就感受... 查看详情

linux高阶命令进阶

1.输出重定向>(1>):覆盖输出,会覆盖掉原先的文件内容 >>(1>>):追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加 2>:错误输出,会覆盖掉原先的文件内容 2>>:错误追加输出,不... 查看详情

linux笔记:命令进阶使用相关功能(代码片段)

...环境变量总结目的使用linux时用户可以通过一个又一个的命令来完成各种操作,除了基础的各个命令外linux还提供了各种便利的功能来协调使用这些命令。这些功能让用户在使用linux时可以更加得心应手,也为shell脚本编写... 查看详情

linux中uptime命令查看linux系统负载(代码片段)

阅读目录uptimecat/proc/loadavg何为系统负载呢?进阶参考uptimeuptime另外还有一个参数-V(大写),是用来查询版本的procps是一个实用程序包,主要包括pstopkill等程序主要用来显示与控制一些系统信息,进程状态之类的内容。以下显示输... 查看详情

linux磁盘管理进阶

Linux磁盘管理进阶dd命令SWAP与移动介质磁盘配额RAIDdd命令dd - convert and copy a fileCopy a file, converting and formatting according to the opera 查看详情

tar命令基本进阶使用指北(代码片段)

...命令基本、进阶使用指北摘要打包与压缩是我们在计算机系统日常使用中必备的一个工具,就如我们在使用Windows系统,也需要类似WinRAR的压缩软件来将许多数据、文件打包成一个文件,并压缩其占用空间。我们在Linux下也需要这... 查看详情

!你想要的java进阶中高级知识点大合集我都有!

...文件结构类加载过程类加载器HTTPS中的TLS从认识Linux操作系统开始初探Linux&Linux文件系统概览Linux基本命令数据结构MySQLRedis系统设计常用框架认证授权分布式Dubbo消息队列RabbitMQKafkaAPI网关分布式ID4种限流算法Zookeeper如何设计一... 查看详情

入门学习linux&&git命令大集合(代码片段)

文章目录LinuxLinux常识操作系统概述Linux发展史Linux版本Linux安装--安装步骤Linux常见目录介绍Linux常用命令基础+磁盘+文件管理命令进阶命令文本编辑vimLinux系统管理软件包管理网络管理进程管理磁盘管理GitGit常识Git常用基本... 查看详情

入门学习linux&&git命令大集合(代码片段)

文章目录LinuxLinux常识操作系统概述Linux发展史Linux版本Linux安装--安装步骤Linux常见目录介绍Linux常用命令基础+磁盘+文件管理命令进阶命令文本编辑vimLinux系统管理软件包管理网络管理进程管理磁盘管理GitGit常识Git常用基本... 查看详情

linux运维从入门到进阶(代码片段)

 Linux磁盘管理知识点磁盘和文件系统简介文件系统工具磁盘分区管理交换分区逻辑卷和阵列  磁盘和文件系统介绍正如上文中提到的,Linux中一切都是文件。这个重要的概念贯穿整个Linux的始末,磁盘也是如此。各种接... 查看详情

linux与bash:3.linux终端命令之进阶命令(curl,jq,sort,uniq,wc)(代码片段)

1.curl讲解(1)curl用法格式:curl[option][url]常用参数:-A/--user-agent<string>设置用户代理发送给服务器-b/--cookie<name=string/file>cookie字符串或文件读取位置-c/--cookie-jar<file>操作结束后把c 查看详情