这是我昨天提问得到的答案 有点看不懂什么意思 一个根目录的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目录只有一个(默认),这就是最大的区别。