Linuxでは普段mkdirコマンドでディレクトリの作成をしていましたが
作成 ⇒ 所有者調整 ⇒ 権限調整 をするのが面倒でした。
$ mkdir test_dir
$ chown test_user:test_group test_dir
$ chomod 775 test_dir
&&
で繋げてディレクトリ作成するのもいいのですが、
もう少し良い方法がないか調べたところどうやらinstall
コマンドとオプションを利用することで、一発で所有者と権限を指定してディレクトリ作成出来るようです。
【install】指定したファイルをファイルシステム内の特定の場所にインストールする
insatllコマンドはcpコマンドと似ており、パーミッションなども指定することが出来ます。
install test01_file test02_file
上の場合test01_fileがコピー元でtest02_fileがコピー先になります。
オプションなしで実行するとパーミッションは755(rwxr-xr-x)に設定されてファイルがコピーされます。
オプション | 説明 |
---|---|
-d | 指定したパスにディレクトリを作成 |
-m | コピーするファイルやディレクトリのパーミッション(例: 755)を指定 |
-o | 新しく作成するファイルの所有者を指定 |
-g | 新しく作成するファイルのグループを指定 |
-p | タイムスタンプを保持(元のファイルのアクセスおよび変更時刻をそのままコピー) |
-v | 詳細モードで実行し、作業の進行状況を表示 |
-T | コピー元のファイルをそのままディレクトリとして扱わない |
--backup | バックアップファイルを作成 |
--help | ヘルプ情報を表示 |
--version | コマンドのバージョン情報を表示 |
これらのオプションを組み合わせて所有者と権限を指定してディレクトリを作成します。
install -d -m 755 -o test-user -g test-group /path/to/new/test_dir
これで権限が775で所有者がtest_user、所有者グループtest-groupのディレクトリが/path/to/new/directoryで作成されます。