24

I read recently that .desktop files that are used as desktop shortcuts are placed in the $HOME/Desktop directory. Where is this directory?

Also, what does the $ part mean / do?

TellMeWhy
  • 17,484

2 Answers2

34

$HOME is an environment variable that contains the location of your home directory, usually /home/$USER. The $ tells us it's a variable. So assuming your user is called DevRobot the .desktop files are placed in /home/DevRobot/Desktop/.

If you want to know where $HOME points to, you can run the following in a terminal.

[ajefferiss@localhost ~]$ echo "$HOME"
/home/ajefferiss

You can use it to move around the filesystem, for example cd $HOME but generally you won't see that because you can use ~/ to represent the current users home directory. Or just run cd by itself to move to the home directory.

AJefferiss
  • 1,154
  • 9
  • 17
5

$HOME is an environment variable that points to /home/<username>. It is located under /, and it contains the user's files.

For more information you may want to take a look at Bash Reference Manual

hytromo
  • 4,904
Mitch
  • 107,631
  • 4
    There's absolutely no rule that $HOME has to point to /home/<username>. Apache on Ubuntu creates a user www-data whose $HOME is /var/www, e.g. – Alex Oct 19 '15 at 15:32
  • @Alex we are talking here in regards to Ubuntu and, Linux. :) – Mitch Oct 19 '15 at 16:07
  • Actually HOME is the environment variable. The shell needs you to prepend it with $ to signify it. – Mark Hurd Oct 20 '15 at 04:34
  • 1
    I was talking about Ubuntu/Linux too, Mitch. /home/<username> is a convention, not a requirement. It's easy to add a user whose $HOME is at /somewhere/entirely/different. – Alex Oct 20 '15 at 14:27
  • I set my $HOME location to something different (another partition from an earlier install) and now can't find it... – DPSSpatial Jul 04 '18 at 15:10