在 Linux 和 Unix 操作系统的根目录下有一个文件夹叫做 /lost+found/
它是做什么用的?在什么情况下我会与它互动?我将如何与它互动?
根据Filesystem Hierarchy Standard,/opt用于“附加应用程序软件包的安装”。 /usr/local是“供系统管理员在本地安装软件时使用”。这些用例看起来非常相似。未包含在发行版中的软件通常默认配置为安装在他们选择的任何一种/usr/local或/opt没有特定的韵律或原因。
我是否遗漏了某些差异,或者两者都做同样的事情,但由于历史原因而存在?
假设有一个图像存储目录,例如,./photos/john_doe,其中有多个子目录,许多特定文件驻留在其中(例如,*.jpg)。如何计算john_doe分支下这些文件的摘要大小?
我试过du -hs ./photos/john_doe/*/*.jpg,但这仅显示单个文件。此外,这仅跟踪john_doe目录的第一个嵌套级别,例如john_doe/june/,但会跳过john_doe/june/outrageous/。
那么,我如何遍历整个分支,总结某些文件的大小?
在大多数FHS系统上,有一个/tmp文件夹和一个/var/tmp文件夹。两者之间的功能区别是什么?
我需要在我的 Fedora 机器上编译一些软件。把它放在哪里以免干扰打包软件的最佳位置?
compiling fhs software-installation directory-structure package-management
我读到单元文件有两个文件夹(不在用户模式下)。
/usr/lib/systemd/system/: units provided by installed packages
/etc/systemd/system/: units installed by the system administrator
Run Code Online (Sandbox Code Playgroud)
与这种理解相冲突的是这个问题的答案:如何为 Systemd 编写启动脚本。有人可以填写缺失的信息以便我了解发生了什么吗?(更新:答案已更新,我的理解不再与之冲突。)
此外,脚本似乎组织在文件夹内的子/etc/systemd/system/文件夹中:
getty.target.wants
multi-user.target.wants
Run Code Online (Sandbox Code Playgroud)
在另一个位置,我读到还有其他位置。这些似乎是针对用户特定的服务。
/usr/lib/systemd/user/ where services provided by installed packages go.
/etc/systemd/user/ where system-wide user services are placed by the system administrator.
~/.config/systemd/user/ where the user puts its own services.
Run Code Online (Sandbox Code Playgroud)
2015-08-31 更新:
为了其他人,这里是我最近问的一个相关问题的链接:我在哪里放置由 systemd 单元执行的脚本?
这个文件夹是什么:/run/user/1000在我的 Fedora 系统上,它有什么作用?
~ $ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 1.2G 20K 1.2G 1% /run/user/1000
Run Code Online (Sandbox Code Playgroud)
编辑:2019 年 6 月 7 日。
我的两个答案不同意这个地方存储的目录或文件的位置:
帕特里克:
在此之前
systemd,这些应用程序通常将其文件存储在/tmp.
再次在这里:
/tmp是由 指定的唯一位置,FHS它是本地的,并且可以被所有用户写入。
布雷亚姆:
该目录的用途曾经由
/var/run. 通常,程序可能会继续使用/var/run以满足/run为向后兼容性目的而制定的要求。
再次在这里:
已迁移到使用的程序
/run应停止使用/var/run,除非在 部分中注明/var/run。
/run/user/1000,为什么在任何一个答案中都没有提到另一个关于之前使用的目录的说法/run/user。或者:我可以把属于一个组的文件放在哪里?
假设 Unix 系统上有两个用户:joe和sarah。他们都是电影爱好者团体的成员。我应该把他们的电影文件放在哪里?
/home/{joe,sarah}/movies不合适,因为这些目录属于joe / sarah,而不是属于他们的组;
/home/movies-enthusiast也不合适,因为电影爱好者是一个群体,而不是一个用户;
/var/movies-enthusiast 可能是一种选择,但我不确定 FHS 是否允许这样做;
/srv/movies-enthusiast 也可能是一种选择,但是电影不是系统服务所需的文件。
在今天之前,我已经在有限的范围内使用终端来移入和移出目录以及使用touch命令更改文件的日期。在 Mac 上安装了一个有趣的脚本后,我意识到了终端的全部范围,并且必须在之后使用chmod 755该文件使其可执行。
不过我想知道是什么/usr/local/bin。/usr/,我假设,是计算机的用户。不过,我不确定为什么/local/会在那里。它显然代表本地计算机,但由于它在计算机(或服务器)上,真的有必要吗?不会好吗/usr/bin?
什么是/bin?为什么这个区域通常用于在终端上安装脚本?
fhs ×4
filesystems ×2
compiling ×1
directory ×1
executable ×1
fedora ×1
files ×1
linux ×1
lost-found ×1
size ×1
systemd ×1
terminology ×1
tmp ×1