擅长:python、mysql、java
<p>因为现在我们无法真正可靠地解析由<code>UUID</code>或<code>LABEL</code>挂载文件系统的系统中<code>mount</code>的内容,因为输出可能包含如下内容:</p>
<pre><code>(...)
/dev/disk/by-uuid/00000000-0000-0000-0000-000000000000 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
(...)
</code></pre>
<p>我们需要一个更稳健的解决方案(例如,考虑一下像上面这样的路径的“切碎”部分可能会导致什么,如果我们想要这样的解决方案的话)。</p>
<p>一个这样的解决方案(顺便说一句,它试图不重新发明轮子)是简单地使用<code>stat</code>命令来发现文件所在的挂载点,如:</p>
<pre><code>$ stat --printf "%h:%m:%i\n" Talks
6:/media/lattes:461246
</code></pre>
<p>在上面的输出中,我们可以看到:</p>
<ul>
<li><code>Talks</code>中的硬链接(<code>%h</code>)数为6</li>
<li>安装点(<code>%m</code>)是<code>/media/lattes</code></li>
<li>它的inode号(<code>%i</code>)是461246。</li>
</ul>
<p>仅作记录,这是来自GNU <a href="https://www.gnu.org/software/coreutils/" rel="nofollow">coreutils</a>的<code>stat</code>版本,这意味着某些其他版本(例如BSDs)在默认情况下可能没有它(但您始终可以使用首选的包管理器安装它)。</p>