Linux——/etc/passwd文件含义,grep,cut

/etc/passwd文件含义

作用

  • 记录用户账户信息:共分为7段,使用冒号分割

含义

  • 文件内容意义:账户名:密码代号x:UID:GID:注释:家目录:SHELL

  • 第7列/sbin/nologin:不允许登录

示例

```shell

在passwd中检索包含root的行信息

root@server \~# grep -n "root" /etc/passwd

在passwd检索不能登录的信息

root@server \~# grep -n "/sbin/nologin" /etc/passwd

在passwd中检索可以登录的账户信息

root@server \~# grep -nv "/sbin/nologin" /etc/passwd (反向)

检索包含"halt"的行及下3行信息

root@server \~# grep -nA3 "halt" /etc/passwd

检索包含"sshd"的行及上5行信息

root@server \~# grep -nB5 "sshd" /etc/passwd

检索包含"ftp"的行及上下2行

root@server \~# grep -nC2 "ftp" /etc/passwd

检索不能登录的账户个数

root@server \~# grep -c "/sbin/nologin" /etc/passwd

相当于 grep -n "/sbin/nologin" /etc/passwd | wc -l

检索包含大小写字母d的行信息

root@server \~# grep -ni "d" /etc/passwd

```

使用特殊符号匹配

匹配模式 说明

grep h 文件名 查找文件里有字符h的行

grep ^q 文件名 匹配以q开始的行

grep ^qf 文件名 匹配以q或者f开头的行

grep ^ \^qf 文件名 不匹配以q或者f开头的行

grep ^0-9 文件名 匹配以数字开头的行

grep q$ 文件名 匹配以q结束的行

grep ^$ 过滤空白行

grep -r h ./* 如果要明确搜索当前目录中的子目录有h的行

grep -d s kip h ./* 忽略当前目录下的子目录下的普通文件

bash

root@server \~# grep ^a /etc/passwd

root@server \~# grep -n "^root" /etc/passwd

root@server \~# grep -n "^#" /etc/sos/sos.conf 找注释行

root@server \~# grep -n 0-9$ /etc/sos/sos.conf

root@server \~# grep -n ^$ /etc/sos/sos.conf

切割显示-cut

作用

  • cut命令用于按列提取文本内容

格式

```bash

cut -d "分隔符" -f列数字 文件名

```

示例

  • /etc/passwd文件在保存用户数据信息时,每一项值之间是采用冒号来间隔的,如:

```bash

root@server \~# head 2 /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

```

  • 基于"行"的方式来提取数据是比较简单的,只需要设置好要搜索的关键词即可,但如果按列搜索,不仅要使用-f参数来设置需要看的列数,还需要使用-d参数来设置间隔符号。

```shell

root@kongd \~# cut -d : -f1 /etc/passwd

root

bin

daemon

adm

lp

```

  • 例:提取内核版本号

```bash

root@server \~# uname -a | cut -d " " -f3

```

  • 例:提取IP地址

```bash

root@server \~# ip a | grep ens160 | grep inet | cut -d "/" -f1 | cut -d " " -f6

注意空格

```

  • 例:提取mac地址

```bash

root@server \~# ip a | grep link/ether | cut -d " " -f6

```

相关推荐
roman_日积跬步-终至千里5 小时前
【数据Agent论文·查询与语义|06】RAT-SQL:怎样把问题、表和字段真正关联起来?
数据库·sql·数据分析
鶴哥只手遮天5 小时前
React 19.3.1 源码深度剖析-第 12 章(下)RSC 与 Flight 协议
前端·react.js·开源
deli0075 小时前
TCP 三次握手到底发几个包?丢包重传动画实测一遍
前端
是真的小外套5 小时前
2021年软考中级信息安全工程师:选择题+案例分析真题全解析(含答案)
网络
盟接之桥6 小时前
盟接之桥谈线束数字化-按单入按单出:线束企业库存管理的破局之道
大数据·前端·网络·数据库·人工智能·制造
高晶6 小时前
ARM 嵌入式 Linux 文件系统从入门到实战:目录结构、权限管理、选型与挂载排查全攻略
linux·程序员
巴勒个啦6 小时前
Prompt Engineering 实战:5 个让 AI 生成生产级业务代码的工程模式
java·前端
去伪存真6 小时前
AI时代,古法编程的码农路在何方?
前端
计算机魔术师6 小时前
从7月绕过沙盒到9月再曝违规,OpenAI的AI安全防线在漏什么
前端
南棋网络安全6 小时前
ssrf跨站请求伪造(保姆级教程)
运维·服务器·网络·网络安全