如何查看所有文件或文件夹的UID

当我执行ls -al命令时,我可以看到文件或文件夹的所有者和组。然而,最近我更改了我的UID,那么如何确定所有的文件夹都属于我的用户名新的UID呢?

我对这个问题不太确定。你是指你想找到所有具有旧UID的文件,并将它们的所有权更改为新的UID吗? - Rmano
4个回答

如果你希望看到文件的 UID,那么可以使用 ls 命令。

你可以使用带有 n 标志的 ls

    ls -n

-n man页的解释:

-n, --numeric-uid-gid
              like -l, but list numeric user and group IDs.

完美。正是我所寻找的。 - semtex41

嗯,Linux 只按 uid 跟踪所有权

find / -uid 1000

将uid 1000更改为您希望搜索的uid。


它发现了很多,并且显示权限被拒绝。 - john smith
在Ubuntu中似乎没有一个流程来创建具有特定UID的第一个用户帐户。如果您想使用非默认的UID,似乎必须通过更改UID来破坏系统中的所有内容,然后在发现问题时尝试修复其中的一部分。这真的很糟糕,我完全不知道需要改变什么以及需要改变的位置在哪里。 - john smith
不,你必须正确地更改uid,最好使用一个活动的USB。你可以在安装程序的高级选项中选择一个uid。参见https://muffinresearch.co.uk/linux-changing-uids-and-gids-for-user/。但是,如果你不了解如何更改事物,尤其是系统设置,那么你会破坏Ubuntu。 - Panther
我通常做的是安装系统并创建一个管理员用户(比如说"defaultadm"),然后再通过adduser命令创建一个具有不同特殊UID的用户(你知道的,在1992年我们有一个个人UID用于与没有UID表的NFS共享文件,我对此有些感情 :-))。这种方式很干净,你不会遇到任何问题。试图在整个系统中更改UID几乎是不可能的 --- 这不仅涉及文件所有权,还涉及一些文件内部 --- 想想/etc/groups吧。 - Rmano

$ ls -lnR yourdir

  • 如果需要查看目录的信息

检查目录所有者:组的uid:gid
$ ls -nd /path/to/directory