List of "dot files" that may appear in a user's home directory on Debian systems, what they are, and what to do with them. Also see XDG Base Directory Specification
File name |
Program (Package) |
Type |
Confidential |
Documentation |
Notes |
Location overriding |
.abbrev_defs |
(emacs*) |
config |
|
info emacs |
||
.addressbook/ |
evolution |
data |
|
? |
||
.adobe/Flash_Player/ |
(flashplugin-nonfree) |
cache |
|
|
||
.aptitude/cache |
aptitude |
cache |
|
|
|
|
.aptitude/config |
aptitude |
config |
|
|
|
|
.autom4te.cfg |
autom4te (autoconf) |
config |
|
info Autoconf |
also used by automake, libtool |
|
.bash_history |
bash |
history |
|
|
export HISTFILE=file (DANGEROUS, this environment variable also affects most other shells; at least pdksh and mksh have a different format (binary; bash, ksh93, zsh have plaintext) |
|
.bash_logout |
bash |
config |
|
optional |
||
.bash_profile |
bash |
config |
|
|||
.bashrc |
bash |
config |
|
|
bash --rcfile file |
|
.bazaar/bazaar.conf |
bzr |
config |
|
|
BZR_HOME |
|
.bzr.log |
bzr |
log |
|
|
BZR_HOME |
|
.cache/ |
(various) |
cache |
|
|
export XDG_CACHE_HOME=dir |
|
.ccache/ |
ccache |
cache |
|
|
export CCACHE_DISABLE CCACHE_DIR=dir CCACHE_TEMPDIR=dir CCACHE_LOGFILE=file |
|
.camel_certs/ |
evolution |
data |
|
|||
.config/ |
(various) |
config |
|
|
XDG_CONFIG_HOME, XDG_CONFIG_DIRS |
|
.cvspass |
cvs |
data |
yes |
contains passwords if you use non-anonymous pserver |
||
.cvsrc |
cvs |
config |
|
almost mandatory for sensible use of cvs |
||
.dbus/ |
dbus-launch (dbus) |
data |
|
|||
.devscripts |
(devscripts) |
config |
|
various man pages via devscripts(1) |
||
.devscripts_cache |
devscripts |
cache |
|
various man pages via devscripts(1) |
||
.d-feet/config |
d-feet |
config |
no |
|
automatically written |
|
.dia/ |
dia |
config |
|
|||
.dmrc |
gdm, kdm |
config |
|
GDM GNOME help |
saves selected display manager session type as default for next login |
|
.dosboxrc |
dosbox |
config |
|
|
|
|
.dput.cf |
dput |
config |
|
|||
.dsh/ |
dsh |
config |
|
|||
.dupload.conf |
dupload |
config |
|
|||
.emacs |
(emacs*) |
config |
|
info emacs |
can also be modified from within Emacs |
|
.emacs.d/ |
(emacs*) |
config, data |
|
info emacs |
||
.emacs-desktop |
(emacs*) |
data |
|
info emacs |
||
.emacs-places |
(emacs-el) |
history |
yes |
? (/usr/share/emacs/23.1/lisp/saveplace.el.gz) |
||
.esd_auth |
(libesd0, esound-common) |
data |
? |
? (/usr/share/doc/esound-common/html/x302.html) |
||
.evolution/ |
evolution |
data |
yes |
contains mail, addressbook, etc. |
||
.farsight/*.cache |
libfarsight |
cache |
no |
|
no longer used in squeeze |
|
.fetchmailrc |
fetchmail |
config |
yes |
|
FETCHMAILHOME |
|
.fontconfig/ |
(fontconfig) |
cache |
|
|
FONTCONFIG_PATH |
|
.fonts.conf |
(fontconfig-config) |
config |
|
|
FONTCONFIG_PATH |
|
.forward |
exim, postfix, ... |
config |
|
|
mail forwarding |
|
.gbp.conf |
git-buildpackage |
config |
|
|||
.gconf/ |
(gconf2) |
config |
|
|
/etc/gconf/2/path |
|
.gconfd/ |
(gconf2) |
data |
|
|
||
.gentoo-history |
gentoo |
history |
|
|
history of directories visited |
|
.gimp-2.* |
gimp |
config, cache |
|
|
GIMP2_DIRECTORY |
|
.gitconfig |
git (git-core) |
config |
|
|||
.gitk |
gitk |
config |
|
written automatically by the program |
||
.gksu.lock |
gksu |
lock? |
|
see also bug 559632 |
||
.gnome2/ |
(GNOME) |
config, data |
|
http://library.gnome.org/devel/libgnome/stable/libgnome-gnome-config.html |
|
|
.gnome2_private/ |
(GNOME) |
config, data |
yes |
http://library.gnome.org/devel/libgnome/stable/libgnome-gnome-config.html |
|
|
.gnupg/ |
gpg (gnupg), gpgsm, dirmngr |
config, data |
yes |
man pages contain details on all the files |
GNUPGHOME |
|
.gstreamer-0.10/registry.*.bin |
gstreamer |
cache |
|
|
cached plugin registry |
|
.gtk-bookmarks |
(GTK?) |
data |
|
? |
||
.gvfs/ |
(gvfs-*) |
mounts |
|
(http://grumbel.blogspot.com/2008/05/playing-around-with-gvfs.html) |
|
|
.hgrc |
mercurial |
config |
|
|
HGRCPATH |
|
.hushlogin |
login |
config |
|
should have length zero |
||
.ICEauthority |
(X) |
config |
|
|||
.inputrc |
(libreadline*) |
config |
|
readline(3) and info page |
||
.java/ |
(openjdk*) |
cache,config,data |
|
? |
||
.jnewsrc |
slrn |
data |
|
|
SLRNHOME |
|
.jnewsrc.dsc |
slrn |
data |
|
|
SLRNHOME |
|
.k5login |
ksu |
config |
|
|||
.kde/ |
(KDE) |
config,data |
(yes) |
http://techbase.kde.org/KDE_System_Administration/KDE_Filesystem_Hierarchy |
|
KDEHOME, KDEROOTHOME, KDEDIRS |
.kernel-pkg.conf |
make-kpkg (kernel-package) |
config |
|
|||
.keychain |
keychain |
data |
|
ssh, gpg agent socket addresses |
keychain --dir dir |
|
.lessfilter |
lesspipe (less) |
config |
|
should be executable |
||
.lesshst |
less |
history |
yes |
history of searches in less |
export LESSHISTFILE=file |
|
.lftp/ |
lftp |
config, log, history |
|
|
LFTP_HOME |
|
.local/ |
(various) |
data |
|
|
XDG_DATA_HOME, XDG_DATA_DIRS |
|
.m2/ |
maven |
cache,config |
||||
.macromedia/ |
(flashplugin-nonfree) |
cache, config, history |
yes |
? |
effectively tracks visited web sites (with Flash content), can be controlled using Adobe's Flash Player Settings Manager |
|
.mc/ |
mc |
config, data |
|
|
||
.mpdconf |
mpd |
config |
|
|
mpd file |
|
.mplayer/ |
mplayer |
config |
|
|
MPLAYER_HOME |
|
.minirc.dfl |
minicom |
config |
|
|
automatically saved |
|
.mission-control/ |
telepathy-mission-control-5 |
data |
yes |
|
Empathy/Telepathy accounts: contains passwords if you don't have gnome-keyring |
|
.mkshrc |
mksh |
config |
|
via /etc/skel, never created |
export ENV=file (nonexistent filename to disable) – this environment variable also affects other shells |
|
.mrconfig |
mr |
config |
|
|
mr -c file |
|
.mrtrust |
mr |
config |
|
|
||
.muttrc |
mutt |
config |
|
[1/mutt|mutt(1)]] |
|
|
.mutt/ |
mutt |
config |
|
[1/mutt|mutt(1)]] |
|
|
.mozilla/ |
iceweasel |
cache, config, data, history |
yes |
? |
evidently used by various Mozilla products -- documentation? |
|
.nano_history |
nano |
history |
yes |
history of searches in nano |
||
.nanorc |
nano |
config |
|
|||
.netrc |
ftp, mc, lftp, python... |
config |
yes |
|||
.nexuiz |
nexuiz |
config,data,cache? |
|
|
|
|
.nofinger |
finger |
config |
|
|
||
.octave_hist |
octave* |
history |
|
|
|
|
.offlineimaprc |
offlineimap |
config |
yes |
may contain passwords |
||
.openarena |
openarena |
config,data,cache |
|
|
|
|
.openoffice.org/ |
(openoffice.org*) |
config,data,cache |
yes |
? |
|
|
.opera/ |
opera |
config,data,cache |
yes |
? |
|
|
.pbuilderrc |
pbuilder, cowbuilder |
config |
|
|||
.plan |
finger |
config |
|
|
||
.pgpkey |
finger |
config |
|
|
||
.profile |
ash, bash, dash, ksh93, mksh, pdksh, posh, zsh |
config |
|
via /etc/skel, never created |
||
.project |
finger |
config |
|
|
||
.psql_history |
psql (postgresql-client) |
history |
|
|||
.psqlrc |
psql (postgresql-client) |
config |
|
|||
.pulse/ |
(pulseaudio) |
config |
|
|||
.pulse-cookie |
(pulseaudio) |
data |
yes |
|||
.pylint.d/ |
pylint |
data |
|
results from previous runs, can usually be deleted |
PYLINTHOME |
|
.pylintrc |
pylint |
config |
|
|
--rcfile=, PYLINTRC |
|
.python-eggs/ |
(python-setuptools) |
cache |
|
(http://stackoverflow.com/questions/2192323/what-is-the-python-egg-cache-python-egg-cache) |
|
PYTHON_EGG_CACHE |
.qt/ |
(libqt3-mt) |
config |
|
|
edit with qtconfig-qt3; Qt 4 config is in .config/Trolltech.conf |
|
.quiltrc |
quilt |
config |
|
|
quilt --quiltrc file |
|
.recently-used |
(GTK+ <2.10?) |
data |
yes |
? |
||
.recently-usex.xbel |
(GTK+ >=2.10?) |
data |
yes |
? |
||
.reportbugrc |
reportbug |
config |
|
|||
.rhosts |
sshd |
config |
|
|
||
.rnd |
openssl (openssl/libssl*) |
cache |
yes |
confidential because it might be used in creating key material |
||
.sbuildrc |
sbuild |
config |
|
|
||
.screenlayout/ |
arandr |
config |
|
|
|
|
.shosts |
sshd |
config |
|
|
||
.Skype/ |
skype |
config,data |
|
|
|
|
.slocdata/ |
sloccount |
cache |
|
|
||
.slrnrc |
slrn |
config |
|
|
SLRNHOME |
|
.sqliterc |
sqlite3 |
config |
|
|
|
|
.sqlite_history |
sqlite3 |
history |
|
|
command history |
|
.ssh/authorized_keys |
sshd |
config |
|
|
||
.ssh/config |
ssh |
config |
|
|
||
.ssh/environment |
sshd |
config |
|
|
||
.ssh/id_* |
ssh |
data |
yes |
private keys |
||
.ssh/id_*.pub |
ssh |
data |
|
public keys |
||
.ssh/known_hosts |
sshd |
config |
|
|
||
.ssh/rc |
sshd |
config |
|
|
||
.subversion/ |
svn (subversion) |
config |
|
~/.subversion/README.txt, Subversion book |
|
|
.subversion/auth/ |
svn (subversion) |
cache |
yes |
|
||
.svn-buildpackage.conf |
svn-buildpackage |
config |
|
|||
.synergy.conf |
synergy |
config |
|
|||
.thumbnails/ |
(various (GNOME, KDE, ...)) |
cache |
|
|
||
.texmf-config/ |
(texmf-*) |
config |
|
http://people.debian.org/~preining/TeX/TeX-on-Debian/ch2.html |
|
|
.texmf-var/ |
(texmf-*) |
cache |
|
http://people.debian.org/~preining/TeX/TeX-on-Debian/ch2.html |
|
|
.twidgerc |
twidge |
config |
yes |
|
||
.unison/*.prf |
unison |
config |
|
/usr/share/doc/unison/unison-manual.txt.gz |
|
|
.unison/* |
unison |
data |
|
/usr/share/doc/unison/unison-manual.txt.gz |
|
|
.update-notifier/ |
update-notifier |
data |
|
? |
|
|
.vidalia/geoip-cache |
vidalia |
cache |
|
? |
|
|
.vidalia/vidalia.conf |
vidalia |
config |
|
? |
written automatically by the program |
|
.vimrc |
VIM |
config |
|
|
|
VIMINIT |
.vim/ |
VIM |
config |
|
|
User related extensions like plugins, syntax files, etc. |
|
.vlc |
vlc < 0.9.0 |
config,cache |
|
|
versions >= 0.9.0 use XDG directories |
|
.wgetrc |
wget |
config |
maybe |
might contain passwords |
||
.whohas |
whohas |
cache |
|
|
||
.wine/ |
wine |
data |
? |
|
WINEPREFIX |
|
.Xauthority |
(X) |
config |
yes |
|
XAUTHORITY |
|
.Xcompose |
(X) |
config |
|
|
||
.xine/ |
(libxine1) |
cache, config |
|
xine(5) (partially) |
|
|
.xscreensaver |
xscreensaver |
config |
|
typically edited using xscreensaver-demo program |
||
.xsession-errors |
(x11-common) |
log |
|
can be deleted, but will reappear with next X login |
||
.xsessionrc |
(x11-common) |
config |
|
|||
.zcompdump |
zsh |
cache |
|
|||
.zlogin |
zsh |
config |
|
|||
.zlogout |
zsh |
config |
|
|||
.zprofile |
zsh |
config |
|
|||
.zshenv |
zsh |
config |
|
|||
.zshrc |
zsh |
config |
|
Legend
Type
The type of file can most easily be described by saying where the file would belong per FHS if this were not a user-specific file.
config: would belong under /etc/
cache: would belong under /var/cache/ -- The assumption is that you can delete cache files at any time without losing data.
data: would belong under /var/lib/
log: would belong under /var/log/
- history: This is a special mixture of data and log files that records what a program did and lets users retrieve and re-execute previous actions. This usually doesn't exist as a global file.
Confidential
Confidential means that a file should normally not have group or world read access. Most data and history files ought to be confidential; most configuration files are not.
Documentation
The referenced documentation should explicitly mention the file and at least roughly describe what it is for.
dotfile sockets
Some GNOME applications use libunique (or similar) to do single-instance, which creates a socket called ~/.$APP.$USER. If you have D-Bus, libunique will use that instead, and these sockets can safely be deleted:
- .Devhelp.$USER
- .gnome-system-monitor.$USER
See also
http://www.klabs.be/~fpiat/linux/fs/Files_in_home_directory.html
(feel free to import entries from that page into this wiki page, then drop this link -- FranklinPiat)
Shells
To override locations, shell-specific, test $BASH_VERSION (bash), $ZSH_VERSION (zsh), $KSH_VERSION (pdksh, mksh) and (in an eval, since it’s a syntax error in other shells) ${.sh.version} (ksh93). Something like this in ~/.profile will work (some special cases, things not in Debian, etc. omitted from the full shell version detection script, and dash has no case, but then, why’d you want to use it as login shell):
test -z "$ZSH_VERSION" || zsh-specific-command test -z "$BASH_VERSION" || bash-specific-command test -z "$POSH_VERSION" || posh-specific-command case $KSH_VERSION in *MIRBSD\ KSH*) mksh-specific-command ;; *PD\ KSH*) pdksh-specific-command ;; esac x=.sh.version (eval x=\$\{$x\}) 2>&- || x=fail test x"$x" = x"fail" || ksh93-specific-command
You probably should set a shelltype variable and switch on that. Some shells offer “private” initialisation files like ~/.bash_profile (GNU bash), some don’t, some depend on whether it’s an interactive, login or non-interactive shell, some can have their locations changed by setting the ENV, BASH_ENV, etc. variables.