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

```

相关推荐
云飞云共享云桌面7 分钟前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
逐·風9 分钟前
unity关于自定义渲染、内存管理、性能调优、复杂物理模拟、并行计算以及插件开发
前端·unity·c#
师太,答应老衲吧13 分钟前
SQL实战训练之,力扣:2020. 无流量的帐户数(递归)
数据库·sql·leetcode
Devil枫38 分钟前
Vue 3 单元测试与E2E测试
前端·vue.js·单元测试
Peter_chq44 分钟前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
尚梦1 小时前
uni-app 封装刘海状态栏(适用小程序, h5, 头条小程序)
前端·小程序·uni-app
Channing Lewis1 小时前
salesforce case可以新建一个roll up 字段,统计出这个case下的email数量吗
数据库·salesforce
一坨阿亮2 小时前
Linux 使用中的问题
linux·运维
GIS程序媛—椰子2 小时前
【Vue 全家桶】6、vue-router 路由(更新中)
前端·vue.js
前端青山2 小时前
Node.js-增强 API 安全性和性能优化
开发语言·前端·javascript·性能优化·前端框架·node.js