突然ですが、rsyncを実行すると下記のような感じで出力されます。
.d..t...... vtuber
>f.st...... vtuber/mirai_akari.txt
dとかfとかはdirectoryとfileかなと推測できるのですが、sとかtとかなんじゃろと思っておもむろにman rsyncしてみました。
YXcstpogz
man rsyncを眺めてみると--i, --itemize-changesの項目に出力フォーマットについて書いてあります。
このフォーマットはYXcstpogzのように9項目あるようです。
それではこれらを順番に見ていきまーしょうっ!
Yについて
Yは更新形式を表します。
Yは下記の値を取ります。
| < | > | c | h | . |
|---|---|---|---|---|
| リモートへ転送完了 | ローカルへ転送完了 | 作成or変更 | ハードリンクされた項目 | 未更新 |
Xについて
Xはファイル形式を表します。
Xは下記の値を取ります。
| f | d | L | D | S |
|---|---|---|---|---|
| ファイル | ディレクトリ | シンボリックリンク | デバイスファイル | 特別なファイル(socketやfifoファイル等) |
例外
- 新規作成された項目は
+が表示されます。 - 未更新のファイルはスペースが表示されます。
- 不明な属性は
?が表示されます(古いrsyncのみ)
2.について補足
例えば後述の備考にあるように未変更のファイルを出力した場合、ドットがスペースに置き換わるよ、ということです。
.f...p... shiro.png
.f shiro.png
cについて
ファイルのチェックサムが異なる場合表示されます。
sについて
ファイルのサイズが異なる場合表示されます。
tについて
ファイルの変更のタイムスタンプが異なる場合表示されます。
Tが表示されている場合は、転送日時が更新されます。これはシンボリックリンクが転送される時か、ファイルやデバイスファイルが--timesオプションなしで転送される際に表示されます。
pについて
ファイルのパーミッションが異なる場合表示されます。
oについて
ファイルの所有者が異なる場合表示されます。
gについて
ファイルのグループが異なる場合表示されます。
zについて
将来的な利用のために空けてある項目です。
現在は使われていません。
備考
rsync 2.6.7以降のバージョンでは--i --iまたは--itemize-changes --itemize-changesのようにオプションを2回繰り返すと未変更のファイルが出力されます。