![stat 명령을 찾을 수 없습니다](https://linux55.com/image/8115/stat%20%EB%AA%85%EB%A0%B9%EC%9D%84%20%EC%B0%BE%EC%9D%84%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4.png)
내 유닉스 쉘 /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 핵심 도구, 그렇게 하고 해당 stat
및 date
명령을 사용하십시오. 많은 최신 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.
인용하다
자세한 내용은 다음 페이지를 참조하세요.