【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/Formatting-file-timestamps.html
コメント