ファイルは,その内容,名前,そしてファイル形式(see section 特殊ファイルの形式)のみではありません.ファイルには,所有者(ユーザID),グループ(グルー プID),許可(所有者がファイルに行えること,グループの人ができること,そし て,その他誰でもできること),様々なタイムスタンプ,そしてその他の情報が あります.まとめて,これらをファイルの属性と呼びます.
これらのコマンドはファイルの属性を変更します.
chown
: ファイルの所有者とグループの変更
chown
は,与えられたそれぞれのfileのユーザと/やグループの所
有権を,new-ownerや,既存の参照ファイルのユーザとグループに変更し
ます,構文は以下のとおりです.
chown [option]... {new-owner | --reference=ref_file} file...
new-ownerが使用された場合,新しい所有者と/やグループを以下のように 指定します(空白は含みません).
[owner] [ [:] [group] ]
具体例です.
chown
はchgrp
と同じ機能を果たします.
`:'セパレータの場所に`.'を使用することが可能です.これは古いス
クリプトへの互換性のためのGNUの拡張です.GNU chown
は,
ownerが`.'文字を含む場合は失敗する可能性があるので,新しいス
クリプトでは`.'の使用を避けるべきです.
プログラムは以下のオプションも受け入れます.section 共通のオプション,も参照 してください.
root
が実行したとします.
find / -owner OLDUSER -print0 | xargs -0 chown NEWUSERしかし,
find
が既存のファイルの所有者をテストしたときと,
chown
が実際に事項したときの間が非常に長い可能性があるので,それは
危険です.ギャップを小さくするひとつの方法は,それぞれのファイルに対し見
つかったときにchown
を呼び出すことです.
find / -owner OLDUSER -exec chown NEWUSER {} \;しかし,影響されるファイルが多い場合は,それは非常に遅くなります.このオ プションを用いると,(ギャップを狭めたままで)完全ではありませんが,それは 安全になります.
chown -R --from=OLDUSER NEWUSER /
lchown
システムコールに依存します.
lchown
システムコールが提供されていないシステムでは,コマンドライ
ンで指定されるファイルがシンボリックリンクの時,chown
は失敗します.
デフォルトで,再帰的な処理の間に発見されるシンボリックリンクに対する診断
結果は発行されませんが,それについては`--verbose'は参照してください.
lchown
シス
テムコールがないシステムで,再帰的な処理の間にシンボリックリンクが見つか
り,`--no-dereference'の影響がある場合,シンボリックリンクもその参
照先も変更されないことを告げる診断結果を発行します.
chgrp
: グループの所有権の変更
chgrp
は,それぞれの与えられたfileのグループ所有権を
group(グループ名またはグループIDのどちらかで与えられるはずです),
または,既存の参照ファイルのグループに変更します.構文は以下のとおりです.
chgrp [option]... {group | --reference=ref_file} file...
プログラムは以下のオプションも受け入れます.section 共通のオプション,も参照 してください.
lchown
システムコールに依存しま
す.コマンドラインで指定されているファイルがシンボリックリンクの時,
chgrp
は失敗します.デフォルトで,再帰的な変換の間に見つかったシン
ボリックリンクに対し診断結果は発行されませんが,それについては
`--verbose'を参照してください.
lchown
システ
ムコールがないシステムで,再帰的な変換の間にシンボリックリンクが見つかり,
`--no-dereference'が有効でない場合,シンボリックリンクも参照するも
のも変更されないことを告げる診断結果を発行します.
chmod
: アクセス許可の変更
chmod
は指名されたファイルのアクセス許可を変更します.構文は以下の
とおりです.
chmod [option]... {mode | --reference=ref_file} file...
chmod
システムコールはシンボリックリンクの許可を変更できないため,
chmod
はそれらのの許可を決して変更しません.シンボリックリンクの許
可は決して使用されないので,これは問題ではありません.しかし,コマンドラ
インでリストアップされたそれぞれのシンボリックリンクに対し,chmod
は指し示されたファイルの許可を変更します.そのかわり,再帰的にディレクト
リを横断している間,chmod
は,遭遇したシンボリックリンクを無視しま
す.
modeが使用された場合,それは新しい許可を指定します.詳細は section ファイルのパーミッション,のセクションを参照してください.
プログラムは以下のオプションも受け入れます.section 共通のオプション,も参照 してください.
touch
: ファイルのタイプスタンプの変更
touch
は,指定されたファイルのアクセスと/や編集された時間を変更し
ます.構文は以下のとおりです.
touch [option]... file...
最初のfileが`-t'オプションの有効な引数で,タイムスタンプが `-d',`-r'や,`-t'オプションで全く与えられておらず, `--'引数が与えられていない場合,その引数はその他のファイルに対する ファイル名としてではなく,時間として解釈されます.警告:この使用方法は時 代遅れで,POSIXの将来のバージョンではそれを取り消したサポートが要求 されるでしょう.代わりに@option{-t}を使用してください.
アクセスと編集の時間の両方を現在の時間に変更するとき,touch
は実行
しているユーザがファイルの所有者で無いが,書き込み許可があるもののタイム
スタンプを変更することができます.それ以外では,ユーザはそのファイルの所
有者である必要があります.
touch
は,ファイルの2つの時間 -- 最後のアクセスと編集 -- を変更す
るオプションを提供しますが,実際には3番目のinodeの変更時間も同じです.こ
れはファイルのctime
としてよく参照されます.inodeの変更時間は,ファ
イルのメタ情報を最後に変更された時間を表現します.一般的な例の一つは,ファ
イルの許可を変更したときです.許可の変更はファイルにアクセスしないので,
atimeを変更しませんし,ファイルも編集しないので,mtimeも変更しません.依
然としてファイル自身の何かは変っていますが,これはどこかに記録する必要が
あります.これはctimeフィールドの仕事です.例えば,バックアッププログラ
ムが新しい許可値まで含めてファイルの新しいコピーを作成することを可能にす
るために,これは必要です.他に影響しないようにファイルのctimeを編集する
もう一つの処理は,名前の変更です.通常の処理では,ユーザがctimeフィール
ドをユーザが指定した値に変更することは,いかなる場合でも不可能です.
プログラムは以下のオプションも受け入れます.section 共通のオプション,も参照 して下さい.
touch
の互換性のためです.
Go to the first, previous, next, last section, table of contents.