lsを使用してファイルのタイムスタンプを変更し、年の代わりに時間を表示します。

lsを使用してファイルのタイムスタンプを変更し、年の代わりに時間を表示します。

ファイルの日付を明日21時に変更したいです。タッチを使用しますが、入力すると時の代わりにls -lファイルの年が表示されます。

-rw-r--r-- 1 ABCD DEF   0 sept. 30  2014 test01
-r-xr-xr-x 1 ABCD DEF   15 sept. 29 09:26 test02

たとえば、「2014」は明確に表示されますが、「21:00」は表示されません。奇妙なことは、実行するとtouch --date "1 hour ago" test01正しく表示されますがtouch --date "+1 hour" test01機能しないことです。また、emacsを使用してファイルを編集して保存すると、年の代わりに時間が表示されます。

これは普通ですか? lsのパラメータを使用したり、コンピュータの設定を変更せずにこの動作をどのように変更できますか? (挑戦のためのものです)

ベストアンサー1

ls時間表示形式には2つあります。

  • 過去6ヶ月間のタイムスタンプ:月、日、時、分。
  • その他のタイムスタンプ(将来または6ヶ月以上)の場合:年、月、日。

目標は、水平空間を確保し、情報でユーザーを圧倒しないことです。 「今年の開始」を表示することは、現在の年を表示し、ユーザーが実際に現在の年であることをユーザーに知らせるよりもはっきりしています。非常に古いファイルの場合、正確な時間は重要ではありません。将来の日付はまれです。

GNU言語--full-timeその時間に関係なく、ファイルの合計時間(年、月、日、時、分、秒、ナノ秒、タイムゾーンオフセット)を表示するオプションがあります。オプションを使用して出力形式を調整できます--time-style

おすすめ記事