TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: How do you manage your filesystem?

4 pointsby zhoujeffrey8over 3 years ago

3 comments

sp332over 3 years ago
Projects go in a shallow hierarchy, one folder per project. Most downloaded files go in one place. I just try to name things sensibly so I can find them later by searching. Filesystems used to slow down quite a bit with lots of files, so I moved the downloads into subdirectories by year. Haven't had this trouble in the last few years though so I've skipped it.
mikewarotover 3 years ago
The only thing I enforce structure on are my photos, which go in C:\photos\source\yyyy\yyyymmdd\<p>The camera makes a new folder every time the image number rolls back to 0000, or 1000 photos are taken... those subfolders get moved into the above folder.<p>I never edit a photo, I always work on a copy. The last time I edited a photo directly, I downsampled the best photo I ever made of a friend by 1&#x2F;4, and couldn&#x27;t recover it. It&#x27;s been decades since that day, and that mistake, and that new rule, and he&#x27;s since passed. It&#x27;s a lesson I&#x27;ll never forget.<p>---<p>Programming projects get a folder on C:\, and I copy the .gitignore from y last project to exclude a ton of crud from the repo. Everything gets pushed to github, private or public depending on the nature of the code.<p>---<p>Additionally I back up everything to backblaze because it&#x27;s saved my bacon a few times already.
ggmover 3 years ago
I live in &#x2F;home everywhere I can. Where home is, is a symlink depending on the OS.<p>I live in &#x2F;usr&#x2F;local (FreeBSD)<p>I used to live in &#x2F;opt (SCO and Debian and OSX)<p>I used to live in &#x2F;usr&#x2F;local (OSX, Macports and HomeBrew)<p>I now live in &#x2F;opt (Homebrew) and some of &#x2F;usr&#x2F;local (OSX) with minimal hand edits. Its better to let the pkg management run things<p>I now live in &#x2F;tank (ZFS) and &#x2F;data -&gt; &#x2F;tank (all OS I can, not OSX)<p>I now live in ~&#x2F;Documents&#x2F;&lt;sub&gt; with symlinks (OSX)<p>I try very very hard not to mess with &#x2F;etc in odd ways (OSX, FreeBSD)<p>I accept limited rights to edit things in &#x2F;usr&#x2F;local&#x2F;etc has to be managed by git, or other ways to keep configurations off the host in case I have to re-create.<p>I do ZFS snapshots over &#x2F;data&#x2F;tank and archive on an idle removable HDD, or replicate via snapshot increments to other hosts.<p>BSD quotas are too painful, I self police to lie under 10% free as much as possible.<p>When I install an OS by hand I try to make the &quot;root&quot; disk be at least a mirror. I try to make &#x2F;data be at least raidz1 but preferrably raidz2<p>I believe in the power of 3-2-1 (3 copies of everything, two different forms, 1 offline)<p>I use &#x2F;...&#x2F;YYYY&#x2F;... to move older things into a natural date hierarchy. I still believe in the power of limiting the number of file objects per directory, and keeping directory chains short, and primary direct objects as small as possible, so YYYY&#x2F;MM&#x2F;DD forms are natural to me. If I have deep high filecount data which can&#x27;t do this I shard on hex 2-3 hex elements per subdir, it usually keeps things within sane bounds. Terminal file objects keep their true name. It means I may have YYYY&#x2F;MM&#x2F;DD&#x2F;YYYY-MM-DD.json form data or &#x2F;AB&#x2F;CD&#x2F;E&#x2F;ABCDE.hex form data. Tant pis<p>We may be moving back to multiple parallel competing binary architectures (Arm, Intel) in our daily lives. NFS has a concept of interpolated ${HOSTARCH} variables in the symlink name which is increadibly powerful if you want to have a single NFS shared filesystem including system binaries, but have to manage competing binarch architectures. (the symlink literally has the ${string} but shell glob expands it at runtime to the specific architecture) -This is a trick from SunOS in the 68xxxx -&gt; Sparc -&gt; Intel days