突然ですが、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回繰り返すと未変更のファイルが出力されます。