[unix] OSX에서 통계 출력

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

세 번째와 네 번째 줄은 내가 얻은 출력입니다. 이것은 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-inch, Late 2013)를 사용하고 있습니다

무슨 일이 있고 어떻게 해결할 수 있습니까?



답변

-x옵션을 사용 stat하면 비슷한 결과를 얻을 수 있습니다.

$ 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 의 명령입니다 . 또한 임베디드 리눅스에서 흔히 볼 수있는 BusyBox 의 것일 수도 있습니다 . OSX 에는 다른 stat용도 ( FreeBSD / NetBSD / OpenBSD의 유틸리티 )가 있지만 용도는 비슷하지만 옵션과 출력 형식이 다릅니다.

stat명령은 표준화되어 있지 않으므로 모든 Unix 변형에서 동일한 동작을 기대할 수 없습니다. 실제로 BSD 통계와 Linux 통계가 있으며 다른 많은 변형에는 stat명령 이 없습니다 .


답변