我是 Linux(Ubuntu)新手用户,我想知道是否有人可以提供一些建议,比如在哪里安装东西、不要触碰哪些文件夹、每个文件夹的含义等等。
我首先担心的是,是否应该将所有内容放入我的主文件夹中?我已经“手动”安装了 Komodo Edit(它是一个 IDE),并且它已进入我的主文件夹,我真的不喜欢在那里放置应用程序。(在 Windows 中,我曾经将工作文件/图片/下载...分区,然后将所有应用程序放在 OS 分区中)。
那么,有没有什么地方可以安装这个软件?有什么建议可以让我的主文件夹井然有序?也许我应该在主目录中创建一个应用程序文件夹?
提前致谢。 :)
pd:大多数时候我使用 apt 来安装东西,但我总能在那里找到我想要的软件……
答案1
/home/<yourlogin>
您的有效“我的文档”是否等同于 Windows。您的桌面、图片等都在那里...
通常你会在那里下载东西,然后从该位置编译/运行 rpm,然后请求超级用户访问权限(提升)并将其应用程序安装到以下位置:
/usr/bin
/usr/lib
ETC...
/bin
包含操作系统全局命令,PATH
与 Windows非常相似/sbin
包含超级用户的操作系统全局命令(需要提升)/usr/bin
包含应用程序/usr/sbin
包含需要提升权限的应用程序/dev
包含设备(例如:/dev/sda0
是 Scsi 驱动器 A、分区 0、/dev/floppy
是软盘驱动器等等.../etc
是你的系统配置,通常在 .conf 文件中
我想,这就是基本的入门知识。
此外,在文件夹前加上前缀.
将使其变为“隐藏”,即:/home/aren/.ssh
,您仍然可以访问它,但必须使用才能ls -a
使其在查看时显示在列表中。
答案2
维基百科有一篇关于这个的很棒的文章引述该文章中最有用的部分:
在 FHS 中,所有文件和目录都出现在根目录“/”下,即使它们存储在不同的物理设备上。但请注意,这些目录中的某些目录可能存在也可能不存在,这取决于是否安装了某些子系统(例如 X Window 系统)。
这些目录中的大多数存在于所有 UNIX 操作系统中,并且通常以相同的方式使用;但是,这里的描述是专门用于 FHS 的,对于 Linux 以外的平台不具有权威性。
/
整个文件系统层次结构的初级层次根和根目录。/bin/
需要在单用户模式下可用的基本命令二进制文件;适用于所有用户,例如 cat、ls、cp。/boot/
引导加载程序文件(例如内核、initrd);通常位于单独的分区[8]/dev/
基本设备,例如 /dev/null。/etc/
主机特定的系统范围的配置文件(名称来自 et cetera[9])。/etc/opt/
/opt/ 的配置文件。/etc/X11/
X Window 系统版本 11 的配置文件。/etc/sgml/
SGML 的配置文件。/etc/xml/
XML 的配置文件。/home/
用户的主目录,包含已保存的文件、个人设置等;通常是一个单独的分区。/lib/
/bin/ 和 /sbin/ 中的二进制文件所必需的库。/media/
可移动媒体(例如 CD-ROM)的挂载点(出现在 FHS-2.3 中)。/mnt/
临时挂载的文件系统。/opt/
可选的应用软件包[10]。/proc/
虚拟文件系统以文本文件形式记录内核和进程状态,例如正常运行时间、网络。在 Linux 中,对应于 Procfs 挂载。/root/
root 用户的主目录。/sbin/
基本系统二进制文件,例如 init、ip、mount。/srv/
系统提供的特定站点数据。/tmp/
临时文件(另请参阅 /var/tmp)。系统重启后通常不会保留。/usr/
只读用户数据的二级层次结构;包含大多数(多)用户实用程序和应用程序。[11]/usr/bin/
非必要的命令二进制文件(单用户模式下不需要);适用于所有用户。/usr/include/
标准包含文件。/usr/lib/
/usr/bin/ 和 /usr/sbin/ 中的二进制文件的库。/usr/sbin/
非必要的系统二进制文件,例如各种网络服务的守护进程。/usr/share/
与架构无关的(共享)数据。/usr/src/
源代码,例如内核源代码及其头文件。/usr/X11R6/
X Window 系统,版本 11,发行版 6。/usr/local/
特定于此主机的本地数据的第三层级结构。通常包含进一步的子目录,例如 bin/、lib/、share/。[12]/var/
可变文件——在系统正常运行期间内容会不断变化(如日志、假脱机文件和临时电子邮件文件)的文件。有时是单独的分区。/var/lib/
状态信息。程序运行时修改的持久数据,例如数据库、包装系统元数据等。/var/lock/
锁定文件。跟踪当前正在使用的资源的文件。/var/log/
日志文件。各种日志。/var/mail/
用户的邮箱。/var/run/
有关自上次启动以来正在运行的系统的信息,例如当前登录的用户和正在运行的守护进程。/var/spool/
等待处理的任务(例如打印队列和未读邮件)的假脱机。/var/spool/mail/
已弃用的用户邮箱位置。/var/tmp/
重新启动后将保留临时文件。/var/www/
网站文件层次结构(Apache 提供服务的网站的默认位置)。
答案3
在 Linux 下,根文件夹中的目录/
按照以下方式排列:文件系统层次标准。通常,人们使用发行版提供的包管理器来安装和卸载软件。还有几个地方存储配置文件(最明显的是/etc/
),有时这些文件需要由用户编辑。否则,几乎不需要在主目录之外乱搞。
手动安装软件时,通常不希望安装到系统目录中,如/usr/bin/
、/bin/
或/sbin/
或/usr/sbin/
。相反,手动安装的软件应使用 ,/usr/local/
以避免与使用包管理器安装的软件发生冲突,并且实际上具有相同的结构/
(即手动安装使用/usr/local
前缀)
当您在通常的结构之外安装软件时,shell 可能找不到可执行文件,二进制文件可能找不到它所链接的库。在 shell 变量中列出的所有目录中搜索二进制文件,您可以调整该变量。在解析链接依赖项时,保存要搜索库的目录列表的变量$PATH
也是如此(请参阅)。$LD_LIBRARY_PATH
man ld
(注意:上面有很多“通常”和“习惯”。这是因为没有人强迫你遵循某些(合理的)标准——你可以自由地搬起石头砸自己的脚。)