How To Manage Your Home Directory?
gustgr writes "There are times I got surprised after running ls in my $HOME directory. It is filled with trash, test files, directories that were supposed to be only temporary, ascii files with quick notes and all sort of stuff. In other words, it is a complete mess. Then I remove the trash, clean up the directories, run the mv command a few times and everything looks good and normal again. Two weeks later the disorder is back and I have to handle it again. How do you manage your home directory in order to keep it clean? Are your homes a mess too?" I usually keep folders labeled "audible," "visible," "legible," and "work," and subfolders within these that are at least mostly consistent between computers / drives; every day or so I sweep loose files into these, then open each folder, sort, repeat. How do you sort your data?
Audible or visible? How about "backups" of Star Wars, with all the writing at the beginning, or ASCII versions of movies? Legible?
Anything I want to get rid of, I put in the /bin. Stuff I can't really categorise I put in /etc, and all the stuff I use goes in /usr.
That man tried to kill mah Daddy
Always make a directory and put the files you are dealing with in it immediately. Don't wait.
You are being MICROattacked, from various angles, in a SOFT manner.
Personally I have a ~/tmp and a ~/storage
Anything that I don't need to keep goes in tmp. For example, downloaded RPMs that I just want to install, links to movie clips that freinds send me, most downloads (I move them elsewhere afterwards if I want to keep them), experimental compiles (moving the dir somewhere else if I keep it installed and want to keep the installer for cleaning it up later).
~/storage/ contains anything I want to keep. That includes project files, music, backups and so on.
If I need to make space then ~/tmp gets a scrubbing, if I want to back up or move to a new machine then it's a simple case of copying ~/storage and any ~/.foo config stuff to the new box (or backup in case of a system re-install).
This is easy. Pornographic movies go in the /vids directory, while pornographic images go in the /pics directory.
I have a MY_DOCS folder with subs for all sorts of categories. Correspondence, notes, images, and spreadsheets mainly.
I also have a RESEARCH folder with subs for things that I don't create but use for things I'm working on or thinking about. Ie: RESEARCH/programming/c, RESEARCH/web/perl stuff like that.
I have a DOWNLOADS folder where I put installers I download. Tarballs, dmgs whatever.
Then I have a COOLSHIT folder where I put stuff I download for fun, like videos, pictures and all the crap you find on the Internet that you think you'd like to save but doesn't really mean anything.
This keeps me fairly organized and is easy to backup.
My home directory varies on different hosts, but I usually have the ~/tmp subdir for all the thrash (untarred packages of software, temporary scripts, etc). Then there is ~/public_html with my home page, and ~/bin (added to my $PATH) with various scripts and locally installed programs. On most hosts I also have ~/tex, ~/txt, ~/audio and ~/video subdirs as well. My primary mail host has ~/Mail with inboxes subdir. That's all (and bits of random crap here and there).
-Yenya
--
While Linux is larger than Emacs, at least Linux has the excuse that it has to be. --Linus
The most clutter in my directory comes from all the programs which for inexplicable and stupid reasons decide that configuration files go in the root of the directory. This is Stupid. There is no reason for it. If you are a developer, you automatically suck. Die. (seriously, geez!)
-- 'The' Lord and Master Bitman On High, Master Of All
3256 directories, 49,182 files
76 directories (of which 16 hidden), 38 files (18 hidden) in the home directory itself.
Flourescent (adj): smelling like ground wheat.
usually works for me. ;>
Simply give all your files names starting with '.'.
I believe posters are recognized by their sig. So I made one.
<all other garbage>
Mail
Desktop
Docs
Devel
eclipse
<projects>
MonoDevelop
<projects>
kdevelop
<projects>
others
<projects>
Trash
It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
This is my way.. I stick everything on the desktop, then when desktop is full I make a folder called stuff and move everything into it. rinse, repeat if you get too many folders called stuff2 stuff3 stuff50 whatever, just make a new folder and put all the other folders inside it :)
... you don't, for that reason i have my home directory as my desktop directory, so if my home is ugly, so is my desktop. it hardly ever is (or at worst my desktop is a list of to-do's
I have an XP Pro+sfu system for my main workstation, some of this might make a litte more sense in that context.
I split my drive into three partitions;
c:\ is for system stuff and the temp folder. I redirected all temp folder locations to c:\temp, including all the windows temp files, user profile temp folders, browser caches, etc. makes it easy to clean up and simple to retrieve stuff
d:\ became 'Documents', redirected for all user profiles concept of 'My Documents', by registry hacks and system policy changes (makes new user defaults to here) that is broken up into folders named 'audio' 'images' 'documents' 'music' 'projects' 'online' 'sort' and a few others. This makes cli management of files extra easy to deal with. I use the root of each of these folders as an 'incoming' space for files of that type, with sub folders for longer term post sorting storage.
e:\ became 'Programs', broken down into categories like 'av' 'dev' 'games' 'graphics' and 'net' with the root of the drive as the default program location for installers using that system variable. speeds up installing things tremendously, as I just need to add the relavent subcategory in place of the default that a wizard gives me usually 'c:\program files\(blah)' or 'e:\(blah)'.
f:\ is another larger older and slower drive, on the second ide bus, called 'freezer', where I store zips, ISOs and the like. I also have a folder there called 'Bad Music' , where I store music that's shown up but isn't going to get listened too. For some reason, i can't delete crap music, but I don't want it showing up in my music players' lists (think "transformed man - william shatner" and anything by "styx", crap like that).
last but not least, i keep a folder on the desktop called 'drawer' where I can dump accumulated files rapidly and sort them later. I usually put half of those in the trash. for little scraps and notes, I dump them all into one big file named '(sort date) - notes.txt' from the command line, using the command "d:\desktop\drawer\type *.txt >> notes.txt" and file that away. just have to remember to put titles and carriage returns in my notes. between windows search and google desktop search, i have no trouble bringing that stuff up quickly when I eventually need it.
Sooner or later, google will be right, you won't be able to keep up with all the accumulated crap that TiB hard drives and uber-pipe broadband and "smart" agents and tivo-like p2p this crap was downloaded because it's like the other crap you've searched for
And we will love it.
Before I part with'em: two pennies weigh ~4.996+/-0.014g, have a zinc core, and the face of Lincoln. You can keep 'em.
cd; find . -atime gt 30 -print | xargs rm -f
Best when modified and run as root over luser dirs, of course. Quotas are for sissies.
My home directory ussually looks like the following:
~/download - for all downloaded files. If I am downloading many related files I put them in appropriately named sub dirs
~/library - for any documentation downloaded from the net, and a copy of my O'Reilly CD Bookshelves
~/temp - for a temp directory
~/test - for temp files from tarballs and installations
~/bin - for locally installed apps
~/work - for a temporary work space when working on projects
~/devel - all personal programming projects
~/locker - any other files I wish to keep
~/Document - any office or other personal documentation.
The only files I purposely keep in the root of my home directory (aside from the dot-files) is a running todo list of notes and tasks, all of which is contained in one file.
DOS is dead, and no one cares...
If there's a Bourne Shell, I'll see you there
Something like this might work:
Then you run it as follows:The output is in three fields: space used by the directory, the directory name, and the tar.gz file where we found the original. You can be asked to delete anything it finds with:If you want to be a little safer you can just delete the originalYou can also whip something up using find to look for files which haven't been accessed in more than a certain number of days. Reading a file updates its atime, so that's a pretty secure way to find stale temporary files.
For real zaniness, add xargs basename, sort, uniq -c, and sort -n. That'll get you a breakdown of how many applicable files found in each directory and sort it for you.Ain't Unix awesome?
I use only a few top-level dirs, such as archive, sound, graphic, projects, tmp. Those contain subdirs if it makes sense, but the subdirs themselves do not contain more subdirs. That keeps the cluttering to a minimum.
...) I use Treeline. Works on BSD, Linux, Windows and maybe other systems too. Check it out, it is a real timesaver!
Now, for everything else (quick notes, urls, knowlegde bits, todo lists,
I create a folder called 'development', and put all development and test stuff in there. It gets to be a bit of a mess, but it keeps $Home clean.
If I need to create a temp directory somewhere, I put it into 'development'.
I have a docs directory for documents, and a personal directory for personal stuff (like my CV, annual leave forms, etc)
After that, it's really a matter of discipline - getting used to not creating temp folders in $Home, and test files, etc.
Over the years, I discovered that the more organised your $Home is, the better it is in the long run anyway, especially when it comes to finding old files, or moving stuff from one folder to another, or when you leave a job and have to hand over stuff to someone else.
Makes even more sense under Windows - I used to have files all over the C and D drives until I got wise and started being tidy.
Discipline is the key, not structure.
T.
First, file systems have supported a hierachy for awhile now -- use it !
Second, sort as soon as you get the file.
Third, seperate public files (things you won't mind sharing across the local network) from private files.
Fourth, (a tip for windows users) keep a "zipped_programs" or similar directory. Build a hierarchy inside of it for task, program name, then version. It may look like such:
If I have a CD of software I've installed, I tend to rip it and keep it in its own directory, along with the serial/key in a seperate file. Then put the CD in a binder and store it somewhere safe. If you download a no-cd crack, store it as well. Congrats, you just made your life a lot easier.
Finally, manage your home directory as well. Seperate folders for seperate tasks. Include a ~/tmp/ directory, its useful.
That is my system, across windows and linux, developed by me. It works well, and it makes any windows installs go quickly. In addition, since I'm on a dialup link, its nice to have a program archive for installing updates onto all machines on the local lan.
I only have one complaint with the system, and its for linux -- I would prefer to have a method of keeping track of any changed configuration files, including versioning.
Of course, there are many possible solutions to this problem. I'm leaning towards having a /custom directory, with a symlink of any file I've changed, and a script to check it all into RCS if there are any changes. So, for example, /custom/etc/X11/XF86Config-4 would be a symlink to /etc/X11/XF86Config-4 and the RCS file would be saved under /custom/etc/X11/.RCS/XF86Config-4,v
I just use:
alias l='ls -lrt | tail -24'
and then I only look at recent files, and I let the cruft run free. Additionally, I capitalize any long-living directory.
Then I just tar up any files that are not capitalized direcories that are more then say 4 months old. I keep the lists of files keept in each backup (dvdr) in a Directory.
I also just periodically, run a:
du -sk * | sort -n
and just blow away any big files or directories that are not important to me.
~/bin - Programs I've written or found useful, but not enough to install to the entire system.
~/wip - Work In Progress - scripts that I'm working on or debugging with each having its own sub-directory, these are usually things I'm working on to make my life easier.
~/Documents - following the Redhat / Mandrake nomenclature, I keep all 'office' type documents under that main heading. Sub-folders for things that have more than one document.
~/Projects - similar to wip, but with things that generally have a deadline.
~/tmp - misc files like output files from scripts, or truss outputs (I'm a Solaris guy).
~/www linked to ~/.htdocs - if I am serving content - this is where it goes
~/mnt - personal mounts - usually to other workstations / servers but also to removable media.
I'm a big fan of links, so rather than copying binaries around, I tend to link them into my bin, then have a short $PATH of ~/bin:/usr/bin:/usr/local/bin
Clinton made me a Republican. Bush made me a Libertarian. Trump is making me question reality.
I remove the trash, clean up the directories, run the mv command a few times and everything looks good and normal again. Two weeks later the disorder is back and I have to handle it again.
I like to use a case scheme to keep thing organized at the command prompt, with files in all lower case letters and directories starting with an uppercase letter.
Perhaps the biggest problem is applications that like to create temp files and applications that create dot files everytime you use them. Some applications will allow you to turn this behavior off but for the ones that don't, I use bash logout script to delete them.
why dont you just make a shell script and put it in bin that: moves your videos to ~/Documents/videos ... your music to ~/Documents/muzak ... ... txt files ~/Documents/writtings ... ... rpm(:P) ~/Rpm ... ... archives to ~/archives
and you would be suprised how easy it makes stuff to find
- ~/bin -- my own executables and scripts
- ~/tmp -- gets nuked every time I log out
- ~/public_html -- obvious
- ~/Graphics -- pics 'n crap
- ~/Funny -- obvious
- ~/Mail -- imap folders
- ~/Work -- anything work-related
- ~/Docs -- well, docs
- ~/Tunes -- mp3s and the likes
- ~/Misc -- depending on the account
I try to keep the "standard" folders and those containing my personal junk separated by capitalizing the first letter of the ones I tend to dump stuff into manually. I know it's utterly anal, but it's worked for me for > 13 years.
Cole's Law: Thinly sliced cabbage
That's funny, I was thinking of suggesting 'animal', 'vegetable', 'mineral', etc...
Or perhaps using the 'Kingdom', 'Phylum', 'Class', etc... schema.
What else do you need?
Don't sort - search.
I disagree with them on this, although when my desktop or documents folder (yeah yeah, I have 'net at work only right now) get full I sweep them into a 'sort_this_junk_out' folder, then that gets swept into the next, then I burn a CD backup of my documents, and a year later find endless levels of forgotten detritus.
I say, do what the photographers do. Sort by as much as you need.
Work, Home, Play
Play -
Video
Music
Funny
Pr0n
Etc etc. Then have a download folder, and a sep install folder. Anything you want to keep move it to install or to work/home/play.
Then setup a chron job to rm -rf ~/download/* every 48 hours.
This forces you to buck up your ideas, and auto wipes shizzle you don't want. the chron could:
rm -rf ~/furnace/*
mv ~/download/* ~/furnace/*
Which would give you a 92 hours period to save files.
Just my arbitarily small denomination of the currency of your choice.
#hostfile 0.0.0.0 primidi.com 0.0.0.0 www.primidi.com 0.0.0.0 radio.weblogs.com
For the moment, I'm just letting everything go to pot. I just throw things in whatever directory is convenient, and hope that I remember where I put it later. I'm really looking forward to Spotlight on OS X.
Personally, I think that in a few years time, heirarchical filesystems will be on their way out. With the current state of computing, there's little reason to have such a system when you can have a filesystem that does all the work for you. I've heard that the same functionality will be coming to Linux through ReiserFS (though I admit to not following that very closely since I'm obviously an OS X user).
So, that probably doesn't help you much, but then again, it might. Just look around for a system that allows fast indexed searching of your machine so you don't have to keep track of this crap yourself.
(Incidentally, it isn't only you. In one of the ACM's recent quarterly journals on Human-Computer Interaction, it found that most users are unable to keep track of where their files are because there are just too many of them. Also, it found that the search facilities currently in place in Windows and Mac (OS 9?) systems are entirely inadequate for the task.)
bin - contains a set of script files that do personal things, plus a handful of binaries.
doc - contains documents that I've created. Broken down quite carefully:
doc/coding - personal projects
doc/fandom - various groups and activities I do
doc/karma - a large software project I work on
doc/life - real world things: maps and notes about camp sites and dating ideas, family things
doc/photo - photos I have taken organized by date (doc/photo/year/month/day)
doc/photo/found - photos of friends I have found
doc/projects - various projects I work on, the cast I direct, etc.
doc/songs - songs I have written and notes on covers I perform
doc/system - notes on hardware, software and my network
doc/text - essays, stories, etc. that I have written
doc/work - memos and invoices (actual work files are below
ks - my primary work project, a large source tree
pub - data files I've downloaded or ripped/encoded.
pub/games - roms for emulators
pub/image - very organized images from all over the place, from 10th century tapestries to scans of Manning's fetish lineart.
pub/music - organized by genre
pub/text - ebooks (first level is erotica, fiction, nonfiction, reference, rpg and scripts).
pub/video - very very organized and quite deep. I've been encoding my extensive DVDs and VHS collection for quite awhile now.
usr - contains system settings, in $HOME so I can sync (more info later)
usr/etc/cron - network wide cronfiles, these sync everything and are symlinked.
usr/etc/dot - all my dot files ($HOME/.*). rc files and config directories. I sync my settings and back them up.
usr/etc/fileindex - index of pub (since pub doesn't exist on my laptop when I'm not NFSed to it).
usr/etc - also contains hosts and ssh info.
usr/install - tarballs and rpms to install everything the way I like it.
usr/log - chat logs and the like
usr/palm - my palm apps and backup/sync directories. I can drop text files in here and they appear as ebooks on my palm. Go KPilot!
usr/share - contains various media and configuration files. Top level under this are ( desktop fonts icons kde kde.betty kde.riffraff ksubtle menu.betty music people sound wallpaper ). The kde.hostname directories are my configs for my laptop and desktop, and $HOME/.kde/share symlinks to them. Thus my kde config is backed up and synced. music here are startup/shutdown and alert music. people are face shots of individuals for use in PIM apps. icons is a personal set of icons.
work - contains a directory for each client.
www - contains a mirror for each of the sites I maintain (my personal ones - the professional ones are way too big).
In addition to the above, I have a directory named pool on my laptop - that's media files (a few movies, tv shows, some talk radio programs) that I know I can delete without worry since they are in pub on the home file server. Stuff to watch when I'm waiting or bored.
I also have a tmp, which on my laptop NFS mounts to tmp on my home server. It contains inbound and unsorted items. I get about four gigs, burn, index the disc and then move them into pub. I can recreate pub with my spindles and index.
Finally I have a $HOME/betty on my laptop. My laptop's name is betty, and it contains anything that I downloaded directly to the laptop and I want to keep... sort of the opposite of $HOME/pool. Things here go to $HOME/tmp, and then go through the "burn/index/move to pub" cycle.
As a result, I can find any file I want in nearly a terabyte of data that goes back 25 years, some of it Apple ][ files BBS logs. I am not done indexing my offline media - I need to get a high quality turntable for some virgin vinyl that has content that has never been released on CD. Plus some VHS tapes that have never been (and is unlikely to be) released on DVD. I also have a small collection of 16mm and 35mm trailers for various odd and cult films.
For awhile I ou
"$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
Make directories and file stuff as you get it. Email attachments, USB drive files, floppies, CDs - don't just put them in your home directory.
Make a temp directory for any scratch pad stuff or files you know are short term. Learn to work with them there. Any products of your work get sorted and moved to known directories. Then every so often delete all the files in the temp directory.
Make a clean directory tree that you can navigate over and over. I have four main folders: temp, company, personal, and computer. The three permanent folders have sub directories that I use regularly.
Finally, Get a GUI. Tree navigation is much easier to remember and use with a visual aid. "ls" is so 20th century.
machinator omnis sine licentia
Personally, I have a downloads, documents, gentoo, pictures, scripts, and work.
"Nature doesn't care how smart you are. You can still be wrong." - Richard Feynman
I put a tmp directory in my home directory. Anything I don't need to hang on to permanently goes in there. Every month or so I just wipe it out and create it again.
This is about a professor of mine from the University of Chicago who is a head honcho at Argonne Labs. Apparently, he's had a reputation for some years of having the most disgusting ~home directory. They eventually made a game about it: what they used to do was somebody would type 'ls' and someone else would get on a bike. Then they'd hit enter and they'd try to do laps around the server room until the ls stopped. I think their record was something around 14.
--Stephen
Did you ever notice that *nix doesn't even cover Linux?
first off, I made a top-level directory to put all my 'data' type files in. that directory has lots of subdirectories, and when I create a new file I always create it in the right place, so it starts out organized.
under that top level directory, I have a directory called 'config'. under config is a subdirectory for each machine I use. then all my ~/.* files are symbolic links into the appropriate top/config/machine/ directory. that way, on any machine I have immediate access to the setup on any other machine, but yet they are all separate.
then I use rsync to maintain this data directory on all the machines. with my rsnapshot backup scheme running on 2 of the machines, plus the fact that this directory lives on 5 different machines, at any one time I have my important data on 7 or 8 different hard drives.
The best thing I've done to my home directory is to make it read-only. This way I can prevent all those unnecessary configuration files that nearly every program wants to write, even if it really has no configuration data that's different from the default (what's up with that, developers?) And, of course, if I am ever dumb enough to try to write something at the root level, I get a polite reminder.
I have:
/tmp for its cache... so I don't need to backup my browser chache which is useless...
~/bin - for my scripts, small programs (one binary) etc. in my $PATH as first...
~/build/rpm and ~/build/src - rpm is my rpmbuild root env (linked with web/nfs server to serve packages) src is for stuff i play with compiling from source (testing before it goes as rpm)
~/doc/priv and ~/doc/work - obvious...
~/mail/ - also obvious...
~/tmp/ - for all temporary stuff like downloads etc.
other things like videos, media, pictures etc. are shared abve my home directory - so I don't keep them in my ~ - I keep them on my NFS/web server...
also for backup reasons I've managed to force most of the apps (FireFox f.e.) to use
Between home and work, I have about ten different home directories on two different flavors of unix as well as windows. I keep them all clean and in sync with "rm" and "cvs".
Every home directory has 'local' and 'tmp' subdirectories for files specific to those machines that don't get source controlled or distributed.
The source controlled branches have subdirectories like "arch/linux", "arch/w32", "arch/ux", and "arch/all" for binaries and scripts that are OS dependent or independent. Other subdirectories like "etc", "src", and "emacs" contain about what you would expect. Any thing that needs keeping gets source controlled.
New account setup is as easy as a "cvs checkout".
Cleaning is about as easy as "cvs update", "cvs commit", "rm -rf", and "cvs checkout".
bin - utility and cron scriptsm e]
doc
doc/[individual projects dir]
doc/pics
doc/pics/[year-month-day-album-na
downloads - all P2P clients and browsers get pointed here
etc - config files for procmail, mutt, crm, etc..
mail
mail/[mbox name]
mail/arc
mail/arc/[year]/[month]/[mbox name] - monthly mail archives
src - where I compile downloaded packages and work on my own projects
src/arc - downloaded tars for apps I've built from source
tmp - stuff I'm working on but not sure I'll keep
~/files
my_own (all the stuff I have ever changed, and I do not want to have to retype again)
phd
presentation
papers
projects
code
education
images
literature (stuff I can get of the web if I need to)
music
general
I only backup my_own, the rest I dont really care about, I can allways download it if I need to. Furthermore there is ~/tmp for the junk that gets killed every now and then.
Since I have everything under file, I do not care about the jungle of config files and dirs. Hope this helps.
Complexity is a measure of our ignorance...
drwxr-x--- 2 hswerdfe hswerdfe 4096 Nov 12 12:50 cvs/ /mnt/win_c2/howie/Documents/ /mnt/win_d/music/ /mnt/win_d/pics/ /mnt/win_c/
...my roomate just told me we have mice I gotta go...:(
drwxr-x--- 3 hswerdfe hswerdfe 4096 Sep 14 17:21 Desktop/
lrwxrwxrwx 1 hswerdfe hswerdfe 9 Sep 5 21:08 docs -> Documents/
lrwxrwxrwx 1 hswerdfe hswerdfe 27 Aug 31 13:22 Documents ->
drwxr-x--- 2 hswerdfe hswerdfe 4096 Sep 10 08:01 drives/
drwxr-x--- 11 hswerdfe hswerdfe 4096 Nov 17 21:11 install-files/
lrwxrwxrwx 1 hswerdfe hswerdfe 16 Sep 1 12:17 music ->
lrwxrwxrwx 1 hswerdfe hswerdfe 15 Sep 3 10:52 pics ->
drwxr-x--- 2 hswerdfe hswerdfe 4096 Sep 21 17:54 Shared/
drwxr-x--- 4 hswerdfe hswerdfe 4096 Nov 23 09:48 tmp/
lrwxrwxrwx 1 hswerdfe hswerdfe 10 Sep 1 12:22 win_c ->
Note most of my personal files are on a shared win32 drive.
I use the KDE ~/Documents Directory
I also use the the ~/tmp Directory...
sigh
--meh--
~/dev - All my dev projects go under here /tmp
~/downloads - All my downloads
~/downloads/nzb - NZB related things go here
~/media/music
~/media/video
~/work - This is staging area for all my ~/dev projects
~/src - If I compile anything from src that I didn't write, it goes here
~/tmp - general crap. I prefer to use this instead of
~/docs - Resumes, papers I have written, and notes of things I don't want to lose
I have been toying with the idea of automatically mounting my encrypted usb keys and syncing data back and forth, but of course I haven't had much down time to try it out.
-- Bryan
Here is how I do it, although I only run CLI, I am sure if you run graphical apps you can adjust this accordingly to be nearly as transparent. I use emacs, so I have a shell script in the home directory called run-emacs. This script sets the working directory to a common temp directory, say ~/docs/temp. run-links opens up into ~/download/temp. run-bittorrent goes to ~/download, etc. You probably want to name it the reverse way for tab completion, I just haven't gotten around to it yet. Then all the little random files you one-off onto the disk are neatly tucked away. And, if you run most of these programs on a specific file instead, they will switch to appropriate working directories. Simple, easy, and lazy ;-).
In general, just don't start programs with a working directory of ~.
"If you think the problem is bad now, just wait until we've solved it." --- Arthur Kasspe
The real trick is to USE APPLICATIONS! Don't keep notes in temp files, or little files with peoples phone numbers. Use a sticky note app, use a contact app. You'll find that they not only keep your home directory clean, but these developers have thought of all the things you can do with that info, and made most of it pretty easy.
Really, I kept all my numbers in a file, yadda yadda yadda. "I don't need no stinking calendar app". But once I used it, I realized that, in fact, I did. Try it
etc...
I works exacly the same as your real life desk. After a day's work you put everything in a desk and it is clean.
but..
Both my $HOME and my desk are a mess......
The easy way: ... twice to be sure
/dev/null $HOME ;-)
rm -rf $HOME
The hard way
find $HOME -name \* -print0 | xargs -0 -n 1 rm -f
High way:
rm -rf $HOME ; ln -s
Some programs will complain but they are stoopid anyway
-- Segmentation fault. Core dumped
I have the bad habit of putting stuff I want to keep in a directory named temp. I usually keep stuff for 2 or 3 days in /tmp as well. This habit came to bite me when I installed debian which, by default, deletes stuff in /tmp/ at every reboot. I lost some important files. Rather than stop doing this, I configured debian's tmp maintenance subsystem so that stuff there is kept for 10 days. :)
I do that too. Neat idea.
/bin/*.* every thirty minutes.
I've also got cron jobs to rm -rf
I have 26 directorys in ~/img/p/ (p is for pervert or porno I forgot) named m[a-z] but only in mv are movies so noone who knows nothing about computers can find them by accident when I forget to log out.
That's actually a case for Ask Slashdot: How paranoid are you about your pornographic collection?
Nothing says, "I have too much junk" than one of these in your home's server room.
I have the same problem but I'm trying to improve it..
I use Tomboy to take care of my simple notes. Addresses, meetings, etc.. I eventually copy out of there and put into Evolution.
I recently told Firefox to download everything to ~/downloads/. I make a mess out of this.
~/projects for anything coming from CVS or home-grown.
Burn to CDs labeled in cryptic names like "pr0n", "pr0n 2.0", "YADFOP" (Yet Another Disc Full Of Pr0n). As long as they aren't in the HDD, so the wife can't find it with a simple "find *.mpg or *.avi", all is good. Every now and then, burn a VCD with some good scenes and watch with the wife. Just make sure they aren't the tranny/midget/S&M/CowboyNeal vids and you are ok.
One of the big insights in the last few years, through work by the internet search engines but also tools like Udi Manber's glimpse, is that data with no meaningful structure can still be very powerful if the tools to help you search the data are good. In fact, structure can be bad if the structure you have doesn't fit the problem you're trying to solve today, regardless of how well it fit the problem you were solving yesterday. So I don't much care any more how my data is stored; what matters is how to retrieve the relevant pieces when I need them.
I struggle along with my file organization...I try to keep everything in several main folders (Music, Movies, Pictures, Code, Documents), but invariably it requires maintenance and diligence on my part to adhere to my storage policies.
I think that an iTunes-like interface for your whole hard drive would be highly beneficial to manage the myriad files people have these days with those 200GB HDDs.
What I am thinking about is an interface like iTunes. Back in the windows days, I would organize my mp3s like any other files - you keep separate folders for genres (or artists, or however you wanted to sort it) all under an mp3 directory. Then you use that structure to create playlists in your fav mp3 playing software.
Fast forward to the days of iTunes - I hardly know where my mp3 files are located - I have a huge library list which is full of metadata that helps me to locate individual songs, or songs of a certain type or genre. The iTunes software takes care of storing them on the hard drive and organizing them in a way that is meaningful to itself. I have way more power and flexibility in creating my playlists since I can do smart searches through the db list of songs.
Of course, the major drawback here is you have to now keep up with metadata. While I think some clever means of doing this can be conceived (when you purchase a song from the iTunes store, it comes with meta-data already attached), some work will always be put on the user if you expect to have some customized results.
I just let Google Desktop sort it for me. Sorry for those of you who don't have Windows. Maybe Google will come out with a Linux version someday.
So I have a few directories like ~/bin , ~/msc , ~/tmp and ~/project_abbrev .
What I'd like though is multiple views of my data, like VFolders in Evolution, where an entirely different organizational structure could be applied to an entire directory tree.
That way, if one view has names associated with the underlying file formats ~/pdf , ~/jpeg , ~/ppt , etc. then, another view might have ~/today , ~/yesterday , ~/mold_covered .
Frequently, I'll have one application that I use for multiple projects. Sometimes, it's really convenient to have multiple project files for the single application all in the same place (because it's easier not to rebuild Rome from scratch).
Some of these files could be huge. And while I know about symbolic links, those have to be created by hand.
And, yes, even in the Google sense, having some organizational structure with Score by match and Score by Most Recent grep 'Video Card Perf' would also be nice.
"Provided by the management for your protection."
I'm writing this as the clueful user, neither the newbie nor the guru.
I have always had an issue with the few attributes that can be assigned to a file with a linux system. I won't bother going into my file heirarchy like everyone else has because it is very similiar. I will say that I have a 'www' folder that is available on the web. This is most frustrating!!! Why should I have to maintain a seperate tree for stuff I want online? What happens when I have yet another division I want? Files that are also on the samba network, or, files that are pornographic? Files that are recipes I want shared on Kazaa? each one splits it up more, and provides a need for duplicate files in multiple locations.
horrible!
i want to set meta information about the file. I want to
chmod +web portman.jpg
in my home directory and have it show up as a available on my website!
I once thought I could implement this in the filenames. Each attribute could be unique and part of the filename.
mv portman.jpg portman.web.jpg
mv portman.web.jpg portman.samba.recipes.web.jpg
et cetera. i never did it. maybe cause its dumb. i there was something that can do what i want to do.
slashdot: where everyone yells sarcastic metaphors to themselves to understand the issue
Well, it worked for me at least, using KDE. It didn't help me manage a bajillion dot files, but it made certain I kept things in order. Nothing like having chaos stare you in the face to instill a natural desire to tidy up.
Sad thing is I'm on OS X now and I don't know any way to do that in Aqua. I hate having shortcuts on my desktop to folders in ~
lorem ipsum, dolor sit amet
If you're watching things with the wife, I might want to suggest visiting alt.binaries.dvd.erotica.classics. I've got like a binder of 20+ dvd-rs in our bedroom, which we pop in occassionaly.
A trivial solution that pops up is to place hard links to the same file in multiple directories.
My little knowledge-base sorts articles into a heirarchy of folders (which represent categories). Sometimes an articles fits just as much into one category as it does in another.
So recently I have started tagging articles, with the tags stored as a comma-delimited Extended Attribute attached to the article file. I wrote a small Python script to add, remove, list, and query for tags. They are available here
I wonder if filesystems are ever going to offer an alternative to an heirarchy view -- is this what reiser4 was all about? I can imagine a system where the entire filesystem is a database, and 'av' (add view) just adds another search criterion to your view. So for instance, I could find all articles which belong to 'Evolution', 'Languages', and 'English' categories with the following command sequence:
roey@machine# av kb
roey@machine kb# av language
roey@machine kb language# av english
roey@machine kb language english# av evolution
roey@machine kb language english evolution# ls
[matching files listed here]
Similarly, if I want to list all the articles related to computer language development, I would do the following:
roey@machine# av kb
roey@machine kb# av language
roey@machine kb language# av evolution
roey@machine kb language evolution# av compsci
roey@machine kb language evolution compsci# ls
[matching files listed here]
To move files into multiple categories I would use 'ac' (add category):
ac "Old English and Old Spanish Compared.pdf" kb evolution languages english spanish
ac "Processor Performance Techniques.pdf" file2.pdf kb evolution compsci cpu performance
ac "Martial Arts Video.mpg" performance martial-arts
Yet another alternative would be to use a full-blown Content Management System.
Welcome to the world of per-process namespaces. They have to be created by hand, however (although you could go and fix that).
I also like what BeOS did. You could create live query directories which would be populated with any files that apply to a query. Combined with their (for lack of a better term) metadata file system, it was awesome.
Free of Flash! Free of Flash!
I once read an article about a guy who put his entire home directory in CVS. This strikes me as a possible solution to clutter. Need a directory to work on a bunch of test images? Create a new CVS module and stuff the files in that. I like the idea although I'm not good enough with CVS to pull something like that off. I'd like to try it someday though. Does anyone have any links to articles, HOWTOs, guides, etc on using CVS or RCS to keep files and directories organized?
I keep all of my file-data on a separate partition (lets just say /dev/hda6) which I mount on /home/jackson/data. Then, i fill the data category with every type of file I use, and a few special folders for certain functions, like these: ./audio/music ./audio/sfx ./audio/spoken ./video/film ./video/flash ./video/clips ./text/notes ./text/assignments ./text/poetry ./img/web ./img/design ./img/portfolio ./dev/(project name) ./temp/download ./temp/burn ./temp/audacity
and similar. Then, I just place symbolic links for the ones that I use the most ~/data/music and ~/img/design for example, in $HOME. The method is a hybrid of the logical order of organized subfoldering system, and easy accessability/practicality.
[ you and I are ugly ]
To clear things up, I use Windows XP (prepare to mod down). Also, I have 2 hard drives.
:)
C:\
most apps have seperate organized dirs.
D&S\(profile)\My Documents
(folders for small projects, multi-part downloads, etc)
(documents, downloads, etc. lumped together)
quake (2) is very organized:
quake
src
darkplaces
tochris
progs
tools
WinQuake
quake2
src
md5_support
refl_water
quake2-3.21
tools
you also should have seen my doom directory before I archived it to CD.
E:\ (d: is cd burner)
most apps have seperate organized dirs.<br>
wincd (email for info)
boot
images
msdos710
iso
(windows versions)
src
vmware
utils
ROMANES EUNT DOMUS
I used to try to store everything in deep heiarchies with complex organizations, both electronic and paper files. After reading David Cole's 'Getting Things Done' I reorganized everything into a very flat structure. Everything goes into a folder with a descriptive title at the root level. This works suprisingly well, again in both the PC and the real world. I end up with lots of folders many of which have only 1 file or paper in them. But stuff is so easy to find. When finding a file/document I can usually go strait to t it. Even if I can't, I rarely have to look in more than two folders.
Maintaining a complex heiarchy requires the user to keep a mental map of the heiarchy in mind to find stuff. Using a very flat system only requires the user to be able to use the alphabet. Using my complex heiarchy system used to make me feel organized and smart. Now my system is quite dumb but it works so much better.
Simple people talk of people, better people talk of events, great people talk of ideas.
That's actually a case for Ask Slashdot: How paranoid are you about your pornographic collection?
... /
Very. I binge and purge.
cd ~/.mozilla/
rm -rf Cache
rm -f history.dat cookies.txt localstore.rdf
dd if=/dev/urandom of=foo
wait for device full error
rm foo
I use a pretty simple system where I use a temp (or sometimes a scratch) folder, and then I allocated a folder for each project. (These usually have subfolders for notes, documents, code, and other bits of information. I try to create all of my folders first and then create the files in the appropriate locations. Where useful, I'll create symbolic links from one project folder to related projects, and vice versa.
I also have a weekly cron that throws out everything in the temp folders to keep me from filling up my disk space. Usually, that's things like simulation logfiles, waveform files, and other really big things that can fill up a SAN fast.
Finally, I've got a bin folder for all the scripts and programs I use to manage everything.
It's good to use your head, but not as a battering ram.
Toothpick - Super Size Me.mp3
would be...
Toothpick\ -\ Super\ Size\ Me.mp3
Desktop
:)
Favorites
My Documents
Start Menu
WINDOWS
On my desktop I keep stuff like:
Microsoft Visual C++ 6.0.lnk
Half-Life.lnk
New Text Document.txt
Copy of New Text Document.txt
(and more stuff like that)
My home directory is where i store all the useless things (the important ones get files to a ZIP drive).
... Getting things done and compiling tarballs ... vim backup files ... most useless stuff goes here ... all the downloads that don't fit above ... nameless WORN junk (write once - read never)
/usr/bin /usr/share/docs).
Usually, i use the folloing directories:
src
tmp
temp
download
x
All more important files get into the folders they are supposed to be in the first place (like
After years in software development, here's a hint for storing notes, schedules and really important customer details: Get a clipboard and a writing utensil of your choice. You got all the information handy and can take it into every meeting and to the customer (Remember to ALWAYS add a few blank pages, so you never run out - also, you have something to doodle around in the weekly boring-as-hell status meetings).
Personally, i prefer a clipboard with transparent backside where i store the list with internal extension numbers and customer phone numbers. So i only have to flip it to have all that contact info ready. No more messing about with slow and insufficient contact list search algorythms that are never up-to-date anyway...
The above may sound stupid, coming from a software developer, but to me a clipboard is like a towel to a hitchhiker: It's a very versatile tool, including - but not limited to - beeing something that protects your desk when you slam your head against it...
Look, this thing is totally safe! Built it myself, you know. You just press that button like this and then turn that lev
... on Windows pretty much stick with the default directories, (although admitedly they are mapped on to a Samba share of one of my Linux servers so if i need to wipe windows its nothing to worry about), I do have a habit though of creating a directory called installers on one of the drives with sub directories of drivers, apps, ms etc which any patches, apps or drivers which i download which I actually use get put into ... hence if i need to reinstall i can keep track of roughly what was on there before.
... well when i have a home directory on a system to keep things in i tend to have bin, scripts (for admin scripts i'm working on), docs, patches, temp# (where # increases dependent on how stenuously I housekeep) and of course thorw away areas like fred and bert. I will (at work) tend to have a /installers on any machine i've built with stashes of useful stuff for that machine or other machines near it (network wise), e.g. AIX maintenance level patch packs. My record for /installers (on a production system) was 30gb (and it was even in the system design document. Up to recently in a team i worked in we were still using X-Terminals off of a rs6000 ... every so often i have to do house keeping on the system (which had accounts for approx 9 sys-admins and 6 dba's) ... my hjome directory tended to be several orders of magnitude large than the majority of the others :)
On Unix
t
It depends on your personal preference but I think sorting files according to filetype is wrong. Better to sort according to the content of the file.
.txt .pdf .html and audio files in there because they belong together.
.and.audio is there)
.txt are easy to find for it) but programs like that will be unable to sort according to content. They won't be able to open a document and determine if it's a book or a recipe or a program. That's definitely a human's job and another reason you should sort according to class/category. If you really want a big list of all the videos on your HD, then you can use OSX spotlight search for that.
.psd. Maybe that's just Windows.
.mp3s in seperate files according to artist/album/whatever you will run into the same "a file needs to be at 2 spots at the same time" problems. Sometimes a song needs to be in an album dir and the "urban" dir at the same time. You can make copies but that's bad because it's 2x the space and not synchronized.
For example: a text file can be a book but so can an audio file (audio book). If you sort according to filetype they will end up in a different directory. Even if they're the same book.
In my directory structure they're in documents\books because they're both books. I have
There will always be new filetypes in the future. 3D desktop files, virtual reality files, force feedback recording files. new kinds of XML files etc. do they all get their own directory in the future? On the other hand, the category/class of files doesn't change much. I have:
- documents
- files.of.programs (e-mail, counter-strike, PGP keys, copy of my bookmarks.html file)
- images (things to look at that stand still, any filetype)
- movies.and.video (normally entertainment, but stuff that doesn't belong ANYWHERE but is still a vid, goes in here too)
- music.and.audio (sometimes, an audio file is not music and not a book, that's why the
- projects (this can be any type of file, every project has a subdir like projects\fanless.computer)
- virtual.crypto.drive (a PGPdisk)
I also have a "downloaded" directory but that doesn't belong in my personal directory. My personal directory is what definitely gets backed up, only precious stuff goes in there. My downloaded dir still has to be sorted out and the files distributed over my home directory (if I want to keep it) so it stays seperate.
My temp directory stays outside my personal dir for the same reason, it doesn't get backed up.
The reason I use "." dots instead of spaces is because I can then easily put those files online behind a URL. I only use characters that are allowed in a URL. IUsedToUseCamelCaseToNameFiles but the dots are easier to read for non-programmers and camelCase sometimes gets confusing if you have acronyms in the filename.
Another reason to sort according to class/content is that a program like spotlight for OSX will easily sort files for you according to filetype (all
Finally, sometimes a file belongs in 2 different categories AT THE SAME TIME. What do you do? You can have 2 copies but then they won't be synchronized. A document in 1 dir won't get the updates that you make to it's copy in another dir. it also takes up 2x the space on your HD.
Another way is to use shortcuts/symlinks but I found it doesn't always work like that. The link to the file is treated like a seperate file, so if you tell a program to load that shortcut, it will say the file is not a
What we need, is a way for the same file to exist in 2 directories at once. I realized how this would work the best after I used WinAmp playlists. If you put your
What you should do is put all songs in 1 big dir. Then make playlists your directories. You'll have a Prodigy/ playlist/dir, An electronic/ playlist/dir and those 2 dirs will be able to contain the exact same file. In other words, directories are now not spaces on your HD but just
- -- Truth addict for life.
Like Yahoo or other web-directories do. Sort of. For example:
:-)
~/bin
~/scripts (for occasionally-used scripts not in your $PATH, so as to avoid cluttering TAB-completed executable namespace)
~/economics (for us Econ nerds)
~/code (for personal programming projects)
~/texts (for various textfiles. Make subdirs for categories here too, e.g. tech, lovelife, journal, etc.)
~/pr0n (guess... also subcategorize by vids and pics)
~/kismet_dumps (for wardriving)
~/school (or ~/work - for things related to your boss (whether a professor or manager))
And so on.
It just has to "work" for you to keep clutter to a minimum. To do that, you really have to figure out how to categorize all your clutter into groups, and move those groups into appropriately-named directories.
Is Capitalism Good for the Poor?
~/CS for my computer science programs, ebooks etc.. ~/system for any programs or other themes I download that I haven't extracted/installed yet. ~/school for all my homework, sub-dirs by subjects ~/Music -- self-explanatory ~/blends for all my Blender files, with subdirs relevant to type of files (materials for textures, rendering for images in progres...) and most of the other stuff, well, since my windows C:\ drive is a mess with all those windows dirs anyway, I just put things randomly in it... Still boots, for when I'm off a network and wanna play a game... So most of the crap I dunno where to put goes in /win :)
Cheers
---- I am certain of only one thing : I know nothing else.
One thing I've started doing to manage my huge inbox is to create yearly archives instead of using project-specific subfolders. I figure that searching by sender in the corresponding archive is fast enough not to bother with classifying all my email.
Now to get to the topic of this thread, I think the same idea could be applied to the file system as well. Create a very simple directory hierarchy (work, fun...) that includes a "archives" subdir.
"archives" would contain subdirs named after the year of the files inside, and each such subdirs contains the same directory hierarchy as your main one. Every year, just sort by date, move the old files to a new archive, back them up, and forget about them.
"In our tactical decisions, we are operating contrary to our strategic interest."
Comment removed based on user account deletion
C:\ = Moon HD. System and installed programs. Nothing else.
D:\ = Mercury HD. Random crap that I never really go through anymore - mostly stuff left over from porting and backups.
E:\ = Mars HD. Music. Fifty-someodd gigs of music are on this drive, sorted by series/artist then album.
F:\ = Jupiter HD. Anime stuff. Root-level directories are simple - Fansubs, Music Videos, Doujinshi, et cetera.
G:\ = Venus HD. Installers for programs, their dependent files, and backups of map files and such for games.
H:\ = Uranus HD. A running copy of Basilisk II that's ready to fire up on any machine - just change the path to the ROM in the GUI editor.
I:\ = Neptune HD. Wallpapers. Nothing but wallpapers, again sorted by series or artist.
J:\ = Pluto HD. Old documents, projects, and work, mostly ported over from a dead laptop. Sorted by year and subject.
K:\ = Saturn HD. Current projects and work. Sorted by subject or client.
It's somewhat complex at first, but I'm used to it, and that's all it takes.
And before anyone screams about ten drives in one machine, quit your bitching. 3 SATA PCI controllers (six ports), 2 onboard SATA ports, and IDE make it easy.
Striking fear in the authors of godawful fanfiction, I am here, appearing in darkness, Tuxedo Jack!