這是我昨天提問得到的答案 有點看不懂什麼意思 一個根目錄的home 還有一個登陸的home 是這樣嗎? 因為你進入的是「/home」目錄,不是「home 目錄」。通常說「home 目錄」(正式的中文翻譯為「主目錄」「家目錄」等)通常是位於「/home/你的使用者名稱」。
因為你進入的是「/home」目錄,不是「home 目錄」。通常說「home 目錄」(正式的中文翻譯為「主目錄」「家目錄」等)通常是位於「/home/你的使用者名稱」。
认证高级PHP讲师
/home 目录下就是用户目录,例如 /home/用户名但是 root 用户的目录是 /root你是哪个用户登录上去之后就进到 /home/对应用户 的这个目录要是 root 用户,那么登录上去就是 /rootcd ~ 是直接到自己目前登入的使用者的個人目錄的快捷命令
/home
/home/用户名
/root
/home/对应用户
其實所謂的home目录, 只是代表用户登录时, 默认进入的目录而已; 当我们在创建用户时, 如果没有指定home目录, 系统则会为我们分配默认值, 非root用户就是默认在/home/用户名, 而root则是/root. 每次我们登陆系统, 登陆程序就会根据系统的/etc/passwd文件里面的字段, 为我们初始化信息, 包括登陆之后的shell环境(最后一个字段),家目录(第六个字段). 我们完全可以自定义家目录: useradd testtest -d /tmp/home/test, 通过-d选项为新增用户创建新目录甚至可以通过 -M来指定不创建, 通常用于有些程序运行的账号, 完全就没有必要登陆和家目录的, 我们就能通过这些选项去创建这样的用户. 如果用户已经创建了, 我们也能通过修改/etc/passwd檔案的第六個欄位, 假設
home目录
创建用户
root
/etc/passwd
登陆之后的shell环境(最后一个字段)
家目录(第六个字段)
useradd testtest -d /tmp/home/test
-M
将 testtest:x:507:507::/tmp/test_home/:/bin/bash 改成 testtest:x:507:507::/tmp/:/bin/bash
那麼以後登陸testtest用户时, 它就默认进入/tmp, 因為那就是它的家目錄.
testtest
/tmp
每個用戶的home目錄就在/home/用户名下,通过cd ~就可以进入。只有root用户的home目录特殊,在/root下面。
cd ~
你裝一個中文版一個英文版就明白區別了
一個目錄是home,資料夾/目錄名叫home,小寫的,在/目錄,也就是主目錄下,屬於必備目錄。 可以看到同目錄下是tmp,var等系統級目錄,用pwd查看絕對路徑,可以看到是位於主目錄下
另一個是Home目錄,中文發行版會叫家目錄/主目錄,在Users/username/目錄下,是跟隨使用者的目錄透過pwd可以看到,他是位於使用者目錄下
如果你的系統裡沒有普通用戶帳戶,只有一個root用戶,那麼預設是不存在Home目錄的,一旦新建了一個帳戶,特別是在安裝了GUI介面之後,你建一個帳戶,對應的,對應的帳戶目錄下方就會新建一個Home目錄,而這個Home目錄的名字,就是你新建帳號的名字。 看到這個房子圖示了嗎,這就是Home目錄,我的帳戶叫a,所以這個Home目錄,也就是家目錄,他所顯示的名稱就是a,點開這個房子(Home目錄) 可以看到裡面的資料夾都是用戶資料夾,你再新建一個用戶,比如說b,那麼在Users/這個目錄下面又會出現一個叫b的Home目錄,裡面又是這個用戶文件。
如果你的系統裡有100個帳戶,那就會有100個Home目錄,但是主目錄下的home目錄只有一個(預設),這就是最大的差別。
/home
目录下就是用户目录,例如/home/用户名
但是 root 用户的目录是
/root
你是哪个用户登录上去之后就进到
/home/对应用户
的这个目录要是 root 用户,那么登录上去就是
/root
cd ~ 是直接到自己目前登入的使用者的個人目錄的快捷命令
其實所謂的
home目录
, 只是代表用户登录时, 默认进入的目录而已; 当我们在创建用户
时, 如果没有指定home目录
, 系统则会为我们分配默认值, 非root
用户就是默认在/home/用户名
, 而root
则是/root
. 每次我们登陆系统, 登陆程序就会根据系统的/etc/passwd
文件里面的字段, 为我们初始化信息, 包括登陆之后的shell环境(最后一个字段)
,家目录(第六个字段)
.我们完全可以自定义家目录:
useradd testtest -d /tmp/home/test
, 通过-d选项为新增用户创建新目录甚至可以通过
-M
来指定不创建, 通常用于有些程序运行的账号, 完全就没有必要登陆和家目录的, 我们就能通过这些选项去创建这样的用户.如果用户已经创建了, 我们也能通过修改
/etc/passwd
檔案的第六個欄位, 假設那麼以後登陸
testtest
用户时, 它就默认进入/tmp
, 因為那就是它的家目錄.每個用戶的home目錄就在
/home/用户名
下,通过cd ~
就可以进入。只有root用户的home目录特殊,在/root
下面。你裝一個中文版一個英文版就明白區別了
一個目錄是home,資料夾/目錄名叫home,小寫的,在/目錄,也就是主目錄下,屬於必備目錄。

可以看到同目錄下是tmp,var等系統級目錄,用pwd查看絕對路徑,可以看到是位於主目錄下
另一個是Home目錄,中文發行版會叫家目錄/主目錄,在Users/username/目錄下,是跟隨使用者的目錄

透過pwd可以看到,他是位於使用者目錄下
如果你的系統裡沒有普通用戶帳戶,只有一個root用戶,那麼預設是不存在Home目錄的,一旦新建了一個帳戶,特別是在安裝了GUI介面之後,你建一個帳戶,對應的,對應的帳戶目錄下方就會新建一個Home目錄,而這個Home目錄的名字,就是你新建帳號的名字。


看到這個房子圖示了嗎,這就是Home目錄,我的帳戶叫a,所以這個Home目錄,也就是家目錄,他所顯示的名稱就是a,點開這個房子(Home目錄)
可以看到裡面的資料夾都是用戶資料夾,你再新建一個用戶,比如說b,那麼在Users/這個目錄下面又會出現一個叫b的Home目錄,裡面又是這個用戶文件。
如果你的系統裡有100個帳戶,那就會有100個Home目錄,但是主目錄下的home目錄只有一個(預設),這就是最大的差別。