Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

It's very hard to find files in Ubuntu. In Windows, you could just go to C:\Program Files and you would find what you need. In Ubuntu, you must use search to find something you need. Maybe I am missing something?

share|improve this question
19  
Please don't downvote him. I can understand that this question might feel stupid but it is natural human tendency to expect everything else to be of the same way as they are accustomed to. The answer from @doc should be enough –  Manish Sinha Sep 29 '11 at 5:45
1  
Relevant: askubuntu.com/questions/138547/… –  Oliver Salzburg May 26 '12 at 12:40

2 Answers 2

up vote 76 down vote accepted

Why is it so hard to find a file in Ubuntu? It is clear that you're trying to use it as though it were a completely different system. Windows is its own kind of beast, especially compared with Unix-derived systems.

Playing with a cat as though it were a dog, seldom leads to gratification. You must adjust your paradigm to accommodate your platform. Each architecture has specific merits and conventions that you must obey, if you are to avoid pulling back a bloodied nub.

Paradigm Fail (comic from here)

In Windows, you could just go to C:\Program Files and you would find what you need. - Really? Are you sure? Windows stores some pretty key stuff in the Registry, that's not located under Program Files. "My Documents" is also not in Program Files, yet will frequently contain things you'll care to see..

In Ubuntu you must use search to find something you need. True, if you don't know where it is in the first place. Same applies to everything, everywhere. Now, where are my stupid car keys? Nope, not in C:\Program Files.. Damnit! Belgium!

Maybe I am missing something? Probably just a general introduction to the main concepts behind how content is managed in operating environments.. Friend, please let me help you learn to tame this powerful beast, so that you may crush your computing needs.


Introduction to how content is organized in operating environments

Regardless of your operating environment (Windows, Mac OS X, Linux, your office desk), patterns have emerged that help organize content in a system for ease of use and scalability.

Common system-wide stuff

In a company, this would be policy documentation and the like. In an operating system, this would be core files needed to keep things running. In the Windows file structure, this is what C:\WINDOWS is all about. In Unix-based systems, there are various directories, /Libraries (Mac OS X) and /etc (Linux) that are used for these kinds of things. Users rarely, if ever, really need to deal with this for general use.

User-specific stuff

In an office, people generally have their own designated work space. Stored in these locations are documents/content specific to an individual.

Operating systems are the same. On Windows, the "My Documents" folder is specific to each user and contains files just for that person. On Linux, /home/[username] is dedicated to this purpose. On Mac OS X, /Users/[username] is.

Typically the user's personal space has locations within it dedicated to specific categories. Windows has the "My Pictures" directory for example, located with "My Documents". On Ubuntu Linux, you'll find /home/[username]/Pictures - Mac OS X has its own obvious equivalent.

Tools management

In an office, when you want a new tool, there's generally a system in place to manage that. I'm thinking of inventory in particular. Inventory will generally keep tabs on what you have and its condition.

On Windows = Add / Remove Programs plus the Registry.

On Ubuntu Linux = The apt package manager - use Synaptic Package Manager, aptitude or another front-end to apt.

On Mac OS X 10.6+ = The App Store (and /Applications, to an extent).

Getting more specific

As shamelessly copied from here, the general system directory structure found in Ubuntu follows this convention:

/bin - binary applications (most of your executable files)

/boot - files required to boot (such as the kernel, etc.)

/dev - your devices (everything from drives to displays)

/etc - just about every configuration file for your system

/etc/profile.d - contains scripts that are run by /etc/profile upon login.

/etc/rc.d - contains a number of shell scripts that are run on bootup at different run levels. There is also typically an rc.inet1 script to set up networking (in [Slackware][6]), an rc.modules script to load modular device drivers, and an rc.local script that can be edited to run commands desired by the administrator, along the lines of autoexec.bat in DOS.

/etc/rc.d/init.d - contains most of the initialization scripts themselves on an [RPM][7]-based system.

/etc/rc.d/rc*.d - where “*” is a number corresponding to the default run level. Contains files for services to be started and stopped at that run level. On RPM-based systems, these files are symbolic links to the initialization scripts themselves, which are in /etc/rc.d/init.d.

/etc/skel - directory containing several example or skeleton initialization shells. Often contains subdirectories and files used to populate a new user’s home directory.

/etc/X11 - configuration files for the X Window system

/home - locally stored user files and folders

/lib - system libraries (similar to Program Files)

/lost+found - lost and found for lost files

/media - mounted (or loaded) devices such as cdroms, digital cameras, etc.

/mnt - mounted file systems

/opt - location for “optionally” installed programs

/proc - dynamic directory including information about and listing of processes

/root - “home” folder for the root user

/sbin - system-only binaries (see /bin)

/sys - contains information about the system

/tmp - temporary files

/usr - applications mainly for regular users

/var - mainly logs, databases, etc.

/usr/local/bin - the place to put your own programs. They will not be overwritten with upgrades.

/usr/share/doc - documentation.

General tips on finding stuff in Ubuntu

Remember, learn what kind of animal you're dealing with, unless you hate your own face.

Ball of fluff with teeth and claws

share|improve this answer

If you need to find the location of a program, you can use the which command. It would also help to understand the Unix file system hierachy - /etc/ for configuration files, /usr/bin/ for global command binaries (and /usr/ which contains the majority of (multi-)user utilities and applications), and so on. You can use locate, slocate or rlocate from the command line for searching for files.

/home/user is the same as your documents and settings or /users/user folder.

It's not that hard, just different.

share|improve this answer
6  
s/just different/vastly superior –  Doc Sep 28 '11 at 0:21
4  
Well, i'm not trying to start an OS flamewar - the OP's real issue to me is less about technical superiority, than understanding the mindset required to use a unix-inspired OS effectively –  Journeyman Geek Sep 28 '11 at 0:32
    
Yeah yeah, you're right... –  Doc Sep 28 '11 at 2:52
4  
@Doc, "[Unix is] vastly superior" is very subjective, and I say that as a Linux user. –  grawity Sep 29 '11 at 12:03
2  
very subjective, perhaps. It's nevertheless correct. –  Doc Dec 8 '11 at 21:53

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.