问题描述
在Windows中,安装驱动器(在我的情况下为C:\
)中可能只有几个重要的文件夹(重要的是我的意思是我的Windows文件系统的逻辑图像)。即Program Files
和Windows
。我只是远离Windows
文件夹,并且“添加删除程序文件”足以处理Windows的program files
文件夹。当然,有一个名为Users
的文件夹,用户(不是管理员)只能访问他们的文件夹。
因此,在我脑海中,Windows文件系统的某个层面上有一个清晰的图像。在Ubuntu中,当我到达位置/
时,有一大堆文件夹,其中大部分我都不知道它们包含的内容。 /bin
文件夹似乎相当于Windows中的Windows
文件夹。 /usr
文件夹好像与Windows中的Users
文件夹相同。但即使是/home
文件夹,它看起来也能满足账单要求。
请理解,我明白,Ubuntu(Linux)具有与Windows不同的特性,即在Ubuntu中不需要与Windows功能完全等价。我正在寻找的是Ubuntu文件系统的更清晰的图片。
这个问题是一个更大的问题的一部分,我正在分裂,使它更加负责任。原始问题可以在这里找到:http://sgsawant.wordpress.com/2012/05/17/whats-the-equivalent-of-add-or-remove-programs-in-ubuntu/
最佳解决方法
你可以阅读这个例如维基百科。摘录:
The Filesystem Hierarchy Standard (FHS) defines the main directories and their contents in Linux operating systems. For the most part, it is a formalization and extension of the traditional BSD filesystem hierarchy.
The FHS is maintained by the Linux Foundation, a non-profit organization consisting of major software and hardware vendors, such as HP, Red Hat, IBM and Dell. The current version is 3.0, released on June 3, 2015.
具有简短描述的视觉表示:
基本上,Linux已经根据所需的功能划分了目录结构,以使系统尽可能安全,并且所需的权限最小。否则,有人必然会做大量可以避免的工作。
请记住,作为multi-user系统和Windows制作的Unix和Linux是为单个用户创建的。其他一切都可以从这个想法中解释。在考虑multi-user和安全性时,你可以解释每个目录。
3个例子:
-
您将看到只有admin的文件和目录收集在同一目录中:
/sbin
和/usr/sbin
中的s和/usr/local/sbin
代表系统。普通用户甚至无法启动那里的程序。根据最符合逻辑的位置,普通用户可以启动的文件位于/bin,/usr /bin,/usr /local /bin中。但是,如果他们是管理员,他们应该去该目录的s
版本。有一个叫做fuser
的着名实用程序。你可以用它杀死进程。如果一个普通用户可以使用这个(S)他将能够杀死你的会话。 -
/home
也是如此:/home /user1是user1的属性。 /home /user2是user2的属性。 user2在user1的家中没有任何业务(反过来也是如此:user1在user2的家中没有任何业务)。如果所有文件都放在/home中,并且下面没有用户名,则必须为每个文件授予权限,并评估是否允许有人写入/删除这些文件。一个噩梦,如果你有几十个用户。 -
Addition关于库。
/lib/
,/usr/lib/
和/usr/local/lib/
是原来的位置,从multilib系统存在和存在以防止破坏事物。/usr/lib32
,/usr/lib/64
,/usr/local/lib32/
,/usr/local/lib64/
是32位/64位multilib发明。
无论如何,这不是一个静态的概念。其他Linux版本对这个lay-out进行了调整。例如;目前您将看到debian and Ubuntu在FHS的lay-out中发生了很大变化,因为SSD只有只读文件才更好。有一个新的lay-out,其中文件被分成一个’read only’和一个’writable’目录/组,因此我们可以有一个可以挂载的只读分区(分区为ssd)和可写(sata hdd)的根分区。用于此目录(不在图像中)的新目录是/run/
。
次佳解决方法
试试这个命令…
man 7 hier
希望能帮助到你
第三种解决方法
以下文本显示目录结构。
mtk4@laptop:/$ pwd
/
mtk4@laptop:/$ tree -L 1
.
|-- bin
|-- boot
|-- cdrom
|-- dev
|-- etc
|-- home
|-- lib
|-- lost+found
|-- media
|-- mnt
|-- opt
|-- proc
|-- root
|-- run
|-- sbin
|-- selinux
|-- srv
|-- sys
|-- tmp
|-- usr
|-- var
这里的主要组件是:
-
/boot
:包含引导装载程序 -
/home
:包含用户的主目录。 -
/bin
:系统中所有用户使用的所有可执行二进制文件和命令均位于此处。 -
/sbin
:包含系统管理员通常使用的系统可执行二进制文件。 -
/lib
:包含支持/bin和/sbin中的二进制文件的系统库。 -
/etc
:包含网络配置文件boot-time等。 -
/dev
:此处显示设备文件,即usb,终端设备或连接到系统的任何其他设备。 -
/proc
:包含有关正在运行的进程的信息。 -
/tmp
:这是许多进程创建所需临时文件的临时目录。每次机器启动时都会清除此信息。
有关更多详细信息,Thegeekstuff链接完美地解释了通用Linux file-system。
第四种方法
晚回答 – 我已经为初学者制定了一个路线图。如果他们正在寻找一个文件,但不知道在哪里寻找,他们可以使用Map粗略浏览。您可以下载hi-res PNG here。你可以找到相关的帖子here。如果时间允许,我会继续更新文件和帖子,并将有用的评论结合起来。
第五种方法
\Users
等同于/home
。 /usr
的名字是历史神器。
\Windows
和\Program Files
的组合等价物是/bin
,/boot
,/etc
,/lib
,/sbin
,/tmp
,/usr
和/var
的组合。 Linux和Windows以不同的方式拆分安装的软件。 Windows区分操作系统和配套程序。 Linux不会以相同的方式进行区分。大多数(如果不是所有)软件都是通过Ubuntu(分销商)进入的并且安装在相同的目录层次结构中,并且软件由软件包管理器进行跟踪,所以不需要将每个程序存储在其自己的目录中。在Linux上:
-
/etc
用于系统配置文件:影响所有用户的配置文件,无论它们是作用于整个操作系统还是应用于特定应用程序。 -
/usr
用于系统代码和数据(程序,库,文档等)。 -
/var
用于可变或临时数据:临时文件,日志,程序包管理器数据库,打印机假脱机程序,游戏保存文件等。还有用于临时文件的/tmp
,可在重新启动时擦除。 -
根目录中的
/bin
,/lib
和/sbin
在/usr
中具有对应项。/usr
以外的文件是在引导过程早期需要的文件。这是磁盘较小时的遗留问题,/usr
可能位于通过网络在多个工作站之间共享的文件系统上,这在大多数系统中并不是真正有用的区别。 -
/boot
包含一些仅用于引导操作系统的文件,而不包含用于day-to-day操作的文件。
还有其他的目录不对应于Windows所具有的任何内容:
-
/root
是根用户的主目录。根用户是与任何特定用户无关的管理员帐户;这是您在运行sudo
时更改为的用户。 Ubuntu不允许root用户默认登录。 -
/media
和/mnt
是挂载点:它们是您可以看到其他操作系统和远程驱动器的文件系统的位置。 Windows相当于其他驱动器号。 -
/proc
和/sys
显示系统信息。在Windows上,您需要浏览菜单或调用系统命令或安装third-party程序以查看此信息。
与其他Linux发行版一样,Ubuntu一般遵循Linux Filesystem Hierarchy Standard。
第六种方法
Ubuntu(与所有的UNIX-like系统一样)将文件组织在一个分层树中,其中的关系被认为是在孩子和父母的团队中。目录可以包含其他目录以及常规文件,即树的”leaves”。树的任何元素都可以通过路径名引用;绝对路径名以字符/(标识包含所有其他目录和文件的根目录)开始,然后列出每个必须遍历以访问该元素的子目录,每个子目录都用/号隔开。
相对路径名称不是以/开头;在这种情况下,目录树从给定点开始遍历,该点根据上下文而变化,称为当前目录。在每个目录中,都有两个特殊的目录。和..分别指向目录本身及其父目录。
所有文件和目录具有共同的根意味着,即使系统中存在多个不同的存储设备,它们也都被视为目录树中的某个目录,一旦它们被安装到所需的位置
Find examples and more information here: