Bash가 파일/디렉토리의 "추가된 날짜"를 읽을 수 있습니까?

Bash가 파일/디렉토리의 "추가된 날짜"를 읽을 수 있습니까?

귀하의 프로그램에서는 stat액세스, 수정 및 변경을 볼 수 있지만 macOS의 Finder에는 "추가된 날짜" 필드가 있습니다. 터미널에 표시되는 파일이나 디렉터리의 "추가된 날짜"를 얻을 수 있습니까? 예를 들어 stat수정된 날짜를 표시할 수 있습니까?

답변1

일부 후보자에는 다음이 포함됩니다. 파일 시간은 메타데이터에 노출되며 mdls"도착 예정 시간아타에스t". -raw이 옵션과 함께 사용하면 출력에 mdlsNUL 문자로 구분된 필드가 포함됩니다. 예를 들어 아래와 같습니다.

# The creation date which should not change.
mdls -raw -name kMDItemFSCreationDate $filename

명령은 stat다르게 동작합니다. 이 명령을 사용하는 두 가지 쉘의 네 가지 버전의 결과 stat -f $filename는 다음과 같습니다.

  1. /usr/local/bin/zsh(5.7.1 Homebrew를 통해) stat: missing file descriptor.
  2. /usr/local/bin/bash(5.0.2(1) Homebrew를 통해) testing.txt.
  3. /bin/zsh(macOS 5.3에 포함됨) 빌드 stat: missing file descriptor.
  4. /bin/bash(macOS에 포함된 3.2.57(1)은 testing.txt.

그러나 전체 경로를 사용하면 stat두 셸의 모든 버전에서 예상대로 명령이 완료됩니다. 검색된 모든 시간을 생성하는 예 stat는 다음과 같습니다.

/usr/bin/stat -f "Access (atime): %Sa%nModify (mtime): %Sm%nChange (ctime): %Sc%nBirth  (Btime): %SB" testing.txt

이 명령은 위 명령의 다음 결과와 같은 출력을 생성합니다.

Access (atime): Feb 21 10:46:41 2019
Modify (mtime): Feb 21 10:46:21 2019
Change (ctime): Feb 21 10:46:21 2019
Birth  (Btime): Feb 21 10:22:17 2019

이것은 흥미로운 질문이며 이러한 차이가 발생하는 이유에 대해 더 알고 싶습니다.

관련 정보