GNU Core Utilities/dirname
表示
dirname コマンドは、指定したパス名からディレクトリ部分を抽出するためのコマンドです。ファイルパスからファイル名を取り除き、ディレクトリパスだけを表示します。GNU coreutils に含まれており、Linux では GNU 版が、FreeBSD では BSD 版が提供されています。基本的な動作は共通していますが、細かなオプションの違いがあります。
基本的な使い方
[編集]dirname [パス名]
主なオプション(GNU coreutils版)
[編集]主なオプション オプション 説明 -z, --zero出力を null 文字(\0)で区切る
例
[編集]パスからディレクトリ名を抽出
[編集]dirname /home/user/docs/file.txt
/home/user/docs/file.txt のディレクトリ部分である /home/user/docs を表示。
null 文字で区切った出力
[編集]dirname -z /home/user/docs/file.txt
/home/user/docs/file.txt のディレクトリ部分を null 文字で区切った出力を表示。
FreeBSD 版との違い
[編集]FreeBSD でも dirname コマンドは提供されていますが、GNU coreutils 版といくつか違いがあります。
主な違い:
[編集]-z(null 文字区切り)のサポートがない- FreeBSD 版の
dirnameでは、-zオプションがサポートされていません。
- FreeBSD 版の
- GNU coreutils 版を FreeBSD で使う方法
coreutilsパッケージをインストールするとgdirnameという名前で GNU 版のdirnameが使える。
pkg install coreutils gdirname /home/user/docs/file.txt # GNU版の dirname を使用
詳しくは、それぞれの環境で man dirname を確認してください。