您可以用命令窗口中的其他内容替换显示的文本吗?

您可以用命令窗口中的其他内容替换显示的文本吗?

我正在尝试管理用户帐户。它们基本上只是数字,但我宁愿在屏幕上看到用户的姓氏。是否可以自动用其他内容替换显示的文本?

例如,当我转到/home/users并输入时ls-al,我可以以某种方式看到:

Smith
Johnson
Adams
Andrews

代替

001 
002 
003 
004

或者我能以某种方式看到两者吗?

001 "Smith"
002 "Johnson"
003 "Adams"
004 "Andrews"

答案1

如果我理解正确的话,您按号码命名了所有用户,并且您想查看他们的姓氏。

他们的姓氏存储在哪里?换句话说,你需要在名称和数字之间建立某种关联;该信息的来源在哪里?

ls假设您有一些将 NUMBER 与 LAST-NAME 相关联的主列表,那么您可以为自己设置一个前端。例如:

如果您有一个文件“usernames.list”:

001 Smith
002 Johnson
003 Adams
004 Andrews

然后你可以编写一个循环来重新实现ls,但在你的列表和它在 /home 中找到的键之间具有相关性:

for DIR in * ; do fgrep ${DIR} /path/to/usernames.list ; done

这将打印:

001 Smith
002 Johnson
003 Adams
004 Andrews

如果您的用户列表比这些键/值对更复杂,您可以cut根据需要使用它来解析信息。

根据记录,这不是管理用户的标准方法。

POSIX 系统上的用户已经拥有唯一标识符(用户 ID,请参阅命令id),因此从 001 开始递增地命名所有用户绝对不理想。

相关内容