長いパスで最初に見つからないディレクトリを見つける方法は?

長いパスで最初に見つからないディレクトリを見つける方法は?

存在しないパスがあるとします。

$ ls /foo/bar/baz/hello/world
ls: cannot access /foo/bar/baz/hello/world: No such file or directory

しかし、私たちは言うことができます。/foo/bar する存在する。これがbazパスのブレークポイントであることを確認する簡単な方法はありますか?

バッシュを使っています。

ベストアンサー1

私のお気に入りのユーティリティの1つはnamei、部分util-linuxしたがって、通常はLinuxにのみ表示されます。

$ namei /usr/share/foo/bar
f: /usr/share/foo/bar
 d /
 d usr
 d share
   foo - No such file or directory

しかし、その出力は解析するのは簡単ではありません。したがって、欠けている部分を指摘したい場合はnamei便利です。

コンポーネントがリンクであるかマウントポイントであるか、およびその権限を宣言することができるため、パスにアクセスするときの一般的な問題を解決するのに役立ちます。

$ ln -sf /usr/foo/bar /tmp/
$ namei -lx /tmp/bar
f: /tmp/bar
Drwxr-xr-x root    root    /
Drwxrwxrwt root    root    tmp
lrwxrwxrwx muru    muru    bar -> /usr/foo/bar
Drwxr-xr-x root    root      /
drwxr-xr-x root    root      usr
                             foo - No such file or directory

大文字はDマウントポイントを表します。

おすすめ記事