我正在尝试管理用户帐户。它们基本上只是数字,但我宁愿在屏幕上看到用户的姓氏。是否可以自动用其他内容替换显示的文本?
例如,当我转到/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 开始递增地命名所有用户绝对不理想。