명령 출력은 어느 타임스탬프에서 시작됩니까?

명령 출력은 어느 타임스탬프에서 시작됩니까?

일부 이미지를 폴더로 다운로드하는 프로그램이 있습니다. 현재 폴더에 있는 이미지 수를 계산하고 싶습니다. 비슷한 명령을 사용했습니다 ls -1 download_folder | wc -l.

하지만 이 명령은 실행하는 데 시간이 많이 걸립니다(이미지를 많이 다운로드했기 때문에). 이 명령이 실행되면 다운로더가 계속해서 이미지를 다운로드합니다.

마지막으로 내 명령은 개수를 반환합니다. 이 카운트가 시작되는 타임스탬프를 알고 싶습니다. 명령 실행을 시작한 순간부터입니까, 아니면 현재 최신 개수를 제공합니까?

편집: 직접 확인을 시도했지만 방법을 찾을 수 없습니다. 감사해요.

답변1

ls명령은 전체 디렉토리를 읽고, 정렬하고, 전달하는 것입니다. wc어쨌든 순서는 신경 쓰지 않습니다. 그것은 실행될 것이다많은ls다음과 같이 정렬하지 않도록 지정하면 더 빠릅니다.

ls -U | wc -l

이렇게 하면 새 파일을 추가하는 데 소요되는 시간이 줄어들고 정확도가 높아집니다. 그러나 추가와 상장 사이에는 여전히 극복할 수 없는 경쟁 조건이 있습니다. 일부 파일 시스템은 이름을 해시하고 일부는 선형 목록에 추가하므로 ls런타임 시 추가 내용이 표시되거나 표시되지 않을 수 있습니다.

관련 정보