getent - get entries(entry的复数,条目、项目、记载、记录)
getent命令可以用来察看系统的数据库中的相关记录
经常使用getent查看用户账号:
- 之前实验我们创建了一个UID为1001的lighthouse系统账号,我们现在要查看lighthouse账号的信息
- 通常的做法是我们cat etc下的passwd得到账号lighthouse信息
- 因为passwd也是系统的一种数据库,我们这时候就可以使用getent命令查看
root@VM-4-7-ubuntu:~# cat /etc/passwd | grep lighthouse
lighthouse:x:1001:1001::/home/lighthouse:/bin/bash
root@VM-4-7-ubuntu:~# getent passwd lighthouse
lighthouse:x:1001:1001::/home/lighthouse:/bin/bash
语法
getent [OPTION...] database [key ...]
root@VM-4-7-ubuntu:~# getent --help
Usage: getent [OPTION...] database [key ...]
Get entries from administrative database.
-i, --no-idn disable IDN encoding
-s, --service=CONFIG Service configuration to be used
-?, --help Give this help list
--usage Give a short usage message
-V, --version Print program version
Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.
Supported databases:
ahosts ahostsv4 ahostsv6 aliases ethers group gshadow hosts initgroups
netgroup networks passwd protocols rpc services shadow
For bug reporting instructions, please see:
<https://bugs.launchpad.net/ubuntu/+source/glibc/+bugs>.
参考实例#
从hosts库中得到my-test-host的IP信息:
[root@my-test-host ~]# getent hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
127.0.0.1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.200.62.14 my-test-host
[root@my-test-host ~]# getent hosts ito
[root@my-test-host ~]# getent hosts my-test-host
10.100.10.10 my-test-host
从passwd库中得到账号lighthouse信息:
[root@my-test-host ~]# getent passwd lighthouse
lighthouse:x:1001:1001::/home/lighthouse:/bin/bash
从services中获取22、10050端口信息:
[root@my-test-host ~]# getent services 22
ssh 22/tcp
[root@my-test-host ~]# getent services 10050
lighthouse-agent 10050/tcp
普通用户netstat -tlnp无法看到非自己的进程名,这时getent命令非常有用