linux查看所有用户 三种方式查看linux用户

linux查看所有用户 三种方式查看linux用户,第1张

1.查看 /etc/passwd 文件

/etc/passwd 包含了登录 Linux 系统所必需的每个用户的信息

# cat /etc/passwd

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

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

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

..

2. 使用 getent 命令

getent命令显示类似于/etc/passwd 文件的用户详细信息,它将每个用户详细信息显示为包含七个字段的单行。

# getent passwd

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

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

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

...

3. 使用 compgen 命令

compgen 是 bash 的内置命令,运行: compgen -u 可以查看所有linux的用户。

# compgen -u

root

bin

daemon

adm

lp

...

Linux系统下显示所有可用命令,可以利于Shell脚本来实现,方法如下:

#Shell[bash+rel4调试通过]代码:

var=`echo $PATH|sed "s/:/ /g"`

for list in $var

do

ls -lR $list|grep -v '^d'

done

-EOF-

因为终端中的命令是通过PATH环境变量中的路径进行搜索,只要在PATH路径下能找到的可执行文件都可以直接作为命令使用,所以先echo $PATH,找到所有路径,依次ls即可显示所有Linux命令。

1、自动补全是Bash Shell的功能,相关的命令(compgen、complete、compopt)

2、complete实例

创建hello_complete,内容:

complete -F _hello_complete_func hello.sh

_hello_complete_func ()

{

local cur prev opts

COMPREPLY=()

cur="${COMP_WORDS[COMP_CWORD]}"

prev="${COMP_WORDS[COMP_CWORD-1]}"

opts="help usage version"

if [[ ${cur} == * ]] then

COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )

return 0

fi

}

3、source hello_complete让补全的参数生效。

4、创建hello.sh

#!/bin/sh

echo "hello world"

5、./hello.sh [TAB][TAB]

help usageversion

6、不用complete简单的提醒需要输入参数

#!/bin/sh

str=$1

if [[ $1 == '' ]]then

echo "Usage: $0 help|version"

exit 0

fi

echo "$str"


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7549585.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-07
下一篇 2023-04-07

发表评论

登录后才能评论

评论列表(0条)

保存