标签: home

为什么选择“~”来代表主目录?

我经常想知道为什么~(波浪号)代表用户的主目录。这背后有什么原因,还是只是一些不常用的字符?

history home

836
推荐指数
2
解决办法
17万
查看次数

为什么有些应用程序使用 ~/.config/appname 作为其配置数据,而其他应用程序使用 ~/.appname?

我注意到一些应用程序将它们的配置文件放在其中,~/.config/appname而其他应用程序为此使用~/.appname(经典方式,AFAIK)。这种区别有什么意义,我的应用程序可以更好地考虑什么?

更新:看起来我的(XUbuntu 11.10 默认)$XDG_CONFIG_HOME 设置为~/并且我系统中的大多数应用程序(如 Mozilla Firefox、Adobe Flash Player、Midnight Commander、Opera、Wine 等)都符合这一点。但仍有许多应用程序(如 Compiz、Deadbeef、VLC、Qt Creator、Google Chrome、XFCE 等)在使用~/.config/。另一个可疑的事情是目录~/.config/本身不是隐藏的(它们的名称中没有点) - 应用程序配置目录是否不希望在不依赖于位置($XDG_CONFIG_HOME 值)的情况下具有恒定的自己的名称?

configuration posix freedesktop home dot-files

43
推荐指数
3
解决办法
8370
查看次数

~ 总是等于 $HOME

我知道以前可能有人问过这个问题,但我在 Google 上找不到。

给定的

  • Linux内核
  • 没有改变 $HOME 的配置
  • 猛击

~ == $HOME是真的吗?

shell bash environment-variables home

42
推荐指数
2
解决办法
8415
查看次数

将 $HOME 放在 git 中而不是符号链接点文件是否存在缺陷?

多年来,我一直将我的整个$HOME目录检查到 subversion 中。这包括我所有的点文件和应用程序配置文件、许多脚本、工具和技巧、我喜欢的基本主目录结构、不是一些奇怪的项目和一个值得随机数据的仓库。这是一件好事。虽然持续了。

但它已经失控了。几十个系统的基本结账是相同的,但并非所有这些东西都适合我的所有机器。它甚至不能在不同的发行版中都能很好地发挥作用。

我正在清理房子——将数据从它所属的地方分离出来,将一些脚本拆分为单独的项目,修复一些应该自动化的东西中的断开链接,等等。

我的意图是,以取代subversiongit为顶层结账$HOME,但我想这削减下来,只是我想对我所有的系统,这意味着点文件,一些目录和一些基本的自定义脚本的事情。

在在线阅读时,很多人似乎都使用符号链接方法来执行此操作:克隆到子目录中,然后从$HOME存储库中创建符号链接。$HOME十多年来,我一直在完全版本控制之下,我不喜欢这种方法的想法,我无法弄清楚为什么人们似乎如此反对直接结帐方法。我需要了解特定于git作为顶级结帐的陷阱$HOME吗?

PS 部分作为良好编码的练习,我还计划在 GitHub 上公开我的根结帐。令人恐惧的是,我允许在应该毫不犹豫地共享的文件中收集多少安全敏感信息!WiFi 密码、未加密的 RSA 密钥等。 Eeek!

git version-control home dot-files

39
推荐指数
4
解决办法
8664
查看次数

Ubuntu 和 Debian 如何为具有 sudo 权限的用户管理 $HOME?

我有一个myhome.sh只包含一行的 bash 脚本:

echo $HOME
Run Code Online (Sandbox Code Playgroud)

脚本的所有者是一个用户:

$ ls -l myhome.sh
-rw-rw-r-- 1 user user <date> <time> myhome.sh
Run Code Online (Sandbox Code Playgroud)

Ubuntu 16.04 和 17.10 中,我得到:

$ echo $HOME
/home/user

$ sudo echo $HOME
/home/user

$ bash myhome.sh
/home/user

$ sudo bash myhome.sh
/home/user
Run Code Online (Sandbox Code Playgroud)

Debian Buster/Testing我得到:

$ echo $HOME
/home/user

$ sudo echo $HOME
/home/user

$ bash myhome.sh
/home/user

# WHY ?
$ sudo bash myhome.sh
/root
Run Code Online (Sandbox Code Playgroud)

我不明白为什么在 Debian 的脚本中,如果它是用 sudo 执行的,我总是$HOME=/root在 Ubuntu 中得到$HOME=/home/user. …

bash ubuntu debian sudo home

39
推荐指数
1
解决办法
3327
查看次数

根据“〜”使 pwd 结果?

pwd 给我

/data/users/me/some/random/folder
Run Code Online (Sandbox Code Playgroud)

有没有简单的获取方式

~/some/random/folder
Run Code Online (Sandbox Code Playgroud)

pwd?

filenames home pwd

38
推荐指数
3
解决办法
9649
查看次数

为什么 crontab 不存储在用户主目录中?

我很想知道:为什么 crontab 存储在 /var 而不是用户的主目录中?隔离这些文件进行升级非常痛苦,但我怀疑有一个合乎逻辑的原因......

cron directory-structure home

36
推荐指数
1
解决办法
2349
查看次数

/home 目录是在什么时候出现的?

最初在 Unix 中,/usr用于用户(主)目录。因此,如果我有一个名为 的用户alex,我的主目录将是/usr/alex. (有趣的是,Unix 的后继者Plan 9 中仍然有用户目录/usr。)

现在,当然,我们将主目录存储在/home. (至少在 GNU/Linux 上。我不知道其他的 Unices,但 OS X 不算数。)这在什么时候成为标准做法?它出现在什么 Unix 风格中?其他 Unices 的采用需要多长时间?先后/home已通过大家?

我在这里做了一些搜索,但什么也没找到。

fhs history directory-structure home

30
推荐指数
1
解决办法
1232
查看次数

~/.local/bin 是如何开始的?它有多普遍?

我发现越来越多的工具将可执行文件放入 ~/.local/bin。我老了,对我来说 ~/bin 是我的 $HOME 中可执行文件的地方。

这种疯狂的新时尚起源于哪里?人们为什么要这样做?它有多普遍?它在任何地方正式化吗?它不在 XDG 目录规范中。

有一个相关的问题: 哪些发行版在 $PATH 中有 $HOME/.local/bin?

对另一个问题的评论指的是https://www.python.org/dev/peps/pep-0370,它在 2008 年就已经有了: Why did this program install into ~/.local/bin ... thats the first我见过这种情况发生的时间吗?

fhs path executable home xdg-user-dirs

28
推荐指数
1
解决办法
2653
查看次数

如何更改当前登录用户的主目录

我目前登录到 CentOS 服务器,我想将我的主目录从 更改/home/myuserName//var/www/html/

我尝试了以下命令:

> sudo usermod -d /var/www/html myuserName
Run Code Online (Sandbox Code Playgroud)

但这给了我一个错误:

usermod: user myUserName is currently logged in
Run Code Online (Sandbox Code Playgroud)

linux users centos home

27
推荐指数
3
解决办法
29万
查看次数