SFTP를 통해 ls -e를 실행할 수 없습니다 실행하려고하는데 -e 옵션을 사용할 수 없습니다. 작성 파일에서

ls -eSFTP 연결을 사용 하여 명령을 실행하려고하는데 -e 옵션을 사용할 수 없습니다.

작성 파일에서 날짜 / 시간을 가져와야합니다 (예 : “Aug 11 19:36:40 2017”).

이미 ls -eSSH 연결을 사용하여 사용했지만 일부 제한으로 인해이 연결을 사용할 수 없습니다.

ls -l 1 년보다 오래된 파일은 시간과 초에 대한 정보를 얻지 못하기 때문에 좋은 해결책이 아닙니다.

sftp 명령과 함께 쉘 스크립트를 사용하여 원격 서버에 연결하고 있습니다.

이 상황에서 누군가 나를 도울 수 있습니까?



답변

당신은 사용할 수 lftpcls로컬 타임 스탬프를 포맷하는 SFTP 연결을 통해 명령을. 이 cls명령에는 --time-style=STYLE옵션이 있습니다. 의 형식 STYLEdate명령 과 동일합니다 . 예를 들면 다음과 같습니다.

lftp sftp://user@sftp.server.org
lftp sftp.server.org:~> cls -l --time-style=%FT%T file.txt
-rw-r-----   1 user   group      2032 2014-10-12T10:07:58 file.txt

답변

OpenSSH sftp클라이언트는 전체 타임 스탬프 인쇄를 지원하지 않습니다.

SFTP / SSH 서버에서 전체 파일 타임 스탬프를 얻으려면 다음 옵션이 있습니다.

  • @gogatorslftp답변 과 같이 다른 SFTP 클라이언트를 사용하십시오 .
  • Perl, Python, PHP 등과 같은 일부 스크립팅 언어로 SFTP 라이브러리를 사용하십시오.
  • 쉘 액세스 권한이있는 경우이를 사용 ls --full-time하여 서버에서 명령 을 실행 하십시오 (또는 서버가 * nix 기반이 아닌 경우 이에 상응 함). 이미 시도한 것을 알고 있습니다.