if [[ -s log.txt ]]; 
-sとはどういう意味ですか? -zはゼロサイズの文字列を意味します。 -sに関するドキュメントが見つかりません。
 if条件を記述しているときに、[]または[[]]はどういう意味ですか。 []または[[]]なしでifを使用しましたが、正常に機能しました。
回答
 -sテストは次の場合にtrueを返します
[…]ファイルが存在し、サイズがゼロより大きい
これは、bashのマニュアルとのマニュアルに記載されています。 testユーティリティ(テストはif test -s file; thenと記述される場合もあります)。
 および[[ ... ]]を参照してください: Bash-構文が混乱している場合 
回答
 -sファイル:-ファイルが存在し、サイズがゼロより大きい。
 [[…]]部分では、演算子を使用して条件をテストできます。 ifステートメントと考えてください。この例では、「-s演算子を使用しています。この演算子は、参照されているファイルが空でないことをテストします。