stat
コマンドを使用して、ファイルに関する情報を取得したいと思います。これは私がしました:
Josephs-MacBook-Pro:Desktop Joseph$ echo 'hello' > info.txt
Josephs-MacBook-Pro:Desktop Joseph$ stat info.txt
16777220 21195549 -rw-r--r-- 1 Joseph staff 0 6 "Dec 21 20:45:31 2014" "Dec 21 20:45:30 2014" "Dec 21 20:45:30 2014" "Dec 21 20:45:30 2014" 4096 8 0 info.txt
3行目と4行目は私が得た出力です。これは、stat
コマンドを使用するたびに発生します。一方、インターネット上の誰もが次のようなものを手に入れます:
File: `index.htm'
Size: 17137 Blocks: 40 IO Block: 8192 regular file
Device: 8h/8d Inode: 23161443 Links: 1
Access: (0644/-rw-r--r--)
Uid: (17433/comphope) Gid: ( 32/ www)
Access: 2007-04-03 09:20:18.000000000 -0600
Modify: 2007-04-01 23:13:05.000000000 -0600
Change: 2007-04-02
16:36:21.000000000 -0600
私はこれをターミナルとiTerm 2と新しいセッションで試しました。同じラップトップで、CentOSサーバーに接続し、同じコマンドを入力しました。それは完全に機能しました。これは、ターミナルアプリケーションが問題ではないことを私に信じさせます。 OS X Yosemiteバージョン10.10.1を搭載したMacBook Pro(Retina、15インチ、Late 2013)を使用しています。
何が起こっているのですか、どうすれば修正できますか?
stat
に-x
オプションを使用すると、同様の出力が得られます。
$ stat -x foo
File: "foo"
Size: 0 FileType: Regular File
Mode: (0644/-rw-r--r--) Uid: ( 501/ Tyilo) Gid: ( 0/ wheel)
Device: 1,4 Inode: 8626874 Links: 1
Access: Mon Dec 22 06:17:54 2014
Modify: Mon Dec 22 06:17:54 2014
Change: Mon Dec 22 06:17:54 2014
これをデフォルトにするには、エイリアスを作成して~/.bashrc
に保存します。
alias stat="stat -x"
「インターネット上のすべての人」から見たstat
コマンドは、組み込みでないLinuxとCygwinにある GNU coreutils からのものです。また、組み込みLinuxで一般的に見られる BusyBox からのものである可能性もあります。 [〜#〜] osx [〜#〜] は、同様の目的で、異なるstat
ユーティリティ( FreeBSD /NetBSD/OpenBSDからのもの)を持っていますただし、オプションと出力形式は異なります。
stat
コマンドは標準化されていないため、すべてのUnixバリアントで同じ動作が期待できません。実際には、BSD統計とLinux統計があり、他の多くのバリアントにはstat
コマンドがありません。