stat 명령을 찾을 수 없습니다

stat 명령을 찾을 수 없습니다

내 유닉스 쉘 /usr/bin/ksh에서 stat 명령을 실행하고 싶습니다:

입력하다:

/bin/date +%Y%m%d%H%M%S -d "$(/usr/bin/stat -c %x find.txt)"

그리고 출력:

/usr/bin/ksh: stat:  not found

내 시스템: SunOS 5.10 Generic_150400-23 sun4v sparc sun4v

답변1

stat명령은 표준이 아닙니다. Linux에는 하나가 있고, Embedded Linux에는 더 제한적인 옵션이 있고, FreeBSD와 OSX에는 완전히 다른 옵션이 있으며, 대부분의 다른 Unix 변형(Solaris, AIX, HP-UX 등)에는 없습니다. 귀하의 구문은 Linux에만 해당되는 것 같습니다 stat.

당신은 분명히 stat.date -d

파일 액세스 시간을 나열하는 유일한 이식 가능한 방법은 ls.

ls -log -u find.txt

이는 번거로운 형식으로 덜 정확한 출력을 제공합니다.

설치가 가능한 경우GNU 핵심 도구, 그렇게 하고 해당 statdate명령을 사용하십시오. 많은 최신 Unix 변형에는 GNU 유틸리티를 쉽게 설치할 수 있는 방법이 있습니다.

또는 Unix 시스템에 자주 설치되는 Perl을 사용하십시오. 부르다stat파일의 타임스탬프를 읽고localtime타임스탬프를 날짜와 시간 부분으로 나눕니다.

perl -e '@stat = stat($ARGV[0]); @time = localtime($stat[9]); printf "%04d%02d%02d%02d%02d%02d\n", $time[5]+1900, @time[4,3,2,1,0]'

답변2

오류가 쉘을 의미하는지 확인하십시오.

/usr/bin/ksh:

"통계"를 찾을 수 없습니다:

stat: not found

운영 체제에서 "stat" 명령을 제공합니까? 추가 안내를 받으려면 운영 체제 및 해당 버전에 대한 추가 정보를 제공해야 합니다.

"PATH" 환경 변수에 문제가 있을 수도 있습니다.

답변3

그것은 모두 시스템에 따라 다르며 지정하지 않았습니다. 패키지 관리자가 제공하는 바이너리를 설치하는 또 다른 방법은 소스 코드에서 프로그램을 컴파일하는 것입니다. 이렇게 하려면 먼저 다운로드해야 합니다.coreutils 소스 코드( coreutils-8.0작성 당시).

아카이브에 있으면 압축을 풀고 소스 디렉터리로 이동합니다. 명령을 사용하여 구성 스크립트를 실행 ./configure하고 완료될 때까지 기다립니다. 구성이 완료되면(큰 오류 없음) make 명령을 실행합니다 make.

make를 완료하는 데 걸리는 시간은 애플리케이션의 크기와 복잡성에 따라 30초에서 며칠까지 다양합니다. 그러나 이 경우 make 단계는 몇 분 정도 걸리지 않을 것입니다.

make가 프로그램을 오류 없이 컴파일한 후에는 명령을 사용하여 프로그램을 설치 make install하거나 루트가 아닌 경우 프로그램을 설치하십시오 sudo make install. 이 작업은 몇 초밖에 걸리지 않지만 경우에 따라 더 오래 걸릴 수도 있습니다. 완료되면 coreutils디렉토리를 종료하고 계속해서 삭제할 수 있습니다.

노트

  • 작동하기 위한 유일한 요구 사항(및 적절한 라이브러리 및 종속성*)은 GCC 또는 CC와 make 유틸리티입니다.
  • 하나의 명령으로 이러한 모든 단계를 실행하려면 를 입력하면 됩니다 ./configure && make && make install.
  • coreutils의 전체 종속성 목록은 다음과 같습니다.Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Perl, Sed.

인용하다

자세한 내용은 다음 페이지를 참조하세요.

관련 정보