這是我昨天提問得到的答案 有點看不懂什麼意思 一個根目錄的home 還有一個登陸的home 是這樣嗎? 因為你進入的是「/home」目錄,不是「home 目錄」。通常說「home 目錄」(正式的中文翻譯為「主目錄」「家目錄」等)通常是位於「/home/你的使用者名稱」。
黄舟2017-05-16 13:26:15
/home
目录下就是用户目录,例如 /home/用户名
但是 root 用户的目录是 /root
你是哪个用户登录上去之后就进到 /home/对应用户
的这个目录
要是 root 用户,那么登录上去就是 /root
cd ~ 是直接到自己目前登入的使用者的個人目錄的快捷命令
習慣沉默2017-05-16 13:26:15
其實所謂的home目录
, 只是代表用户登录时, 默认进入的目录而已; 当我们在创建用户
时, 如果没有指定home目录
, 系统则会为我们分配默认值, 非root
用户就是默认在/home/用户名
, 而root
则是/root
. 每次我们登陆系统, 登陆程序就会根据系统的/etc/passwd
文件里面的字段, 为我们初始化信息, 包括登陆之后的shell环境(最后一个字段)
,家目录(第六个字段)
.
我们完全可以自定义家目录: useradd testtest -d /tmp/home/test
, 通过-d选项为新增用户创建新目录
甚至可以通过 -M
来指定不创建, 通常用于有些程序运行的账号, 完全就没有必要登陆和家目录的, 我们就能通过这些选项去创建这样的用户.
如果用户已经创建了, 我们也能通过修改/etc/passwd
檔案的第六個欄位, 假設
将
testtest:x:507:507::/tmp/test_home/:/bin/bash
改成
testtest:x:507:507::/tmp/:/bin/bash
那麼以後登陸testtest
用户时, 它就默认进入/tmp
, 因為那就是它的家目錄.
黄舟2017-05-16 13:26:15
你裝一個中文版一個英文版就明白區別了
一個目錄是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目錄只有一個(預設),這就是最大的差別。