모든 디렉터리 및 하위 디렉터리에서 모든 파일, 크기 및 파일 경로를 가져오는 Linux 명령

모든 디렉터리 및 하위 디렉터리에서 모든 파일, 크기 및 파일 경로를 가져오는 Linux 명령

PHP 코드에서 Linux 명령을 사용하여 모든 디렉터리 및 하위 디렉터리에서 모든 파일 이름과 크기 및 파일 경로를 가져오는 방법입니다.

스캔 코드를 실행 중입니다. 파일을 가져와서 검사를 수행해야 합니다. 문제는 리눅스 서버에서 실행하면 스캔을 수행하는데 시간이 오래 걸린다는 점이다. 그래서 나는 내 PHP 스크립트에 Linux 명령을 추가하고 서버가 Linux인지 확인한 다음 내 기능 대신 이러한 명령을 사용하여 스캔 속도를 높일 수 있다고 생각했습니다.

답변1

순진한 솔루션:

$files = system('find / -printf "%p %b\n"');

설명하다:

  • $files = system(...)지정된 쉘 명령이 실행되고 출력이 변수에 저장됩니다 $files.
  • find / -printf("%p %b\n")find명령은 파일 시스템 루트부터 시작하는 모든 파일을 나열합니다 /. 이러한 -printf옵션은 find지정된 형식에 따라 출력 형식을 지정합니다. 형식 문자열 "%p %b\n"의 결과는 find출력 파일 경로( %p), 공백, 512바이트 청크 단위의 파일 크기( %b), 마지막으로 개행 문자( \n)입니다. 이러한 옵션은 파일 크기를 1KB 청크로 인쇄하는 형식 지정자 -printf도 지원합니다 .%k

관련 정보