SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

【linux】lsコマンドで年が表示されない?

問題

ls -la でファイルの一覧を出してるんだけど、年が表示されない!年が欲しいんだけど。

$ ls -la
drwxr-xr-x 12 admin admin   4096 12月 22 14:49 .
drwxr-xr-x 83 admin admin   4096  2月  8 09:52 ..
(中略)
drwxr-xr-x  5 admin admin   4096 12月 22 14:27 docs
-rwxr--r--  1 admin admin  41469  8月 19 13:37 import_order_m.php
-rwxr--r--  1 admin admin  10021 12月 22 15:09 pdf_out_ctrl.php

答え

OSの言語設定(LANG)などが影響していると思います。

lsコマンドの結果のためにOSの設定まで変えるのは大げさだと思うので、コマンドオプションの –time-style で解決するとよいです。

–time-style=full-isoを指定すると、解析しやすそうなきれいな日付形式で出力されます。

$ ls -la --time-style=full-iso
合計 20
drwxr-xr-x  3 admin admin 4096 2012-02-08 18:54:11.000000000 +0900 .
drwxr-xr-x 51 admin admin 4096 2012-02-07 11:57:42.000000000 +0900 ..
-rwxr--r--  1 admin admin   16 2010-07-30 20:50:16.000000000 +0900 phpinfo.php
drwxr-xr-x  4 admin admin 4096 2012-02-03 11:58:11.000000000 +0900 sandbox

+に続けて、自由な形式でフォーマットを指定することもできる

$ ls -la --time-style='+%Y-%m-%d'
合計 20
drwxr-xr-x  3 admin admin 4096 2012-02-08 .
drwxr-xr-x 51 admin admin 4096 2012-02-07 ..
-rwxr--r--  1 admin admin   16 2010-07-30 phpinfo.php
drwxr-xr-x  4 admin admin 4096 2012-02-03 sandbox

参考

http://www.gnu.org/software/coreutils/manual/html_node/Date-conversion-specifiers.html#Date-conversion-specifiers

http://www.gnu.org/software/coreutils/manual/html_node/Time-conversion-specifiers.html#Time-conversion-specifiers

http://www.gnu.org/software/coreutils/manual/html_node/Formatting-file-timestamps.html

関連するメモ

コメント