인쇄된 형식에는 일반적으로 텍스트(파일에 인쇄 문자와 몇 가지 일반적인 컨트롤 문자만 포함되며 ASCII 터미널에서 읽는 것이 안전함)라는 단어 텍스트 중 하나가 포함됨) 실행 파일(파일에는 양식으로 프로그램을 컴파일한 결과 포함). 커널에 이해할 수 있음) 또는 다른 것을 의미하는 데이터(일반적으로 이진 또는 인쇄 불가)를 의미합니다. 예외는 이진 데이터를 포함하는 것으로 알려진 잘 알려진 파일 형식(코어 파일, 타르 아카이브)입니다. 이것은 상수 메모리를 사용하고, 파일의 1 %를 샘플링 (파일의 줄 수를 알고 있는 경우 제한된 수의 줄에 가까운 샘플링을 이 계수를 조정할 수 있음) 모든 크기의 파일에서 작동하지만 정확한 줄 수는 반환되지 않습니다. , 단지 통계 적 비율. 파일 시스템 테스트는 통계 시스템 호출에서 반환을 검사하는 것을 기반으로 합니다. 이 프로그램은 파일이 비어 있는지 또는 일종의 특수 파일인지 확인합니다. 실행 중인 시스템에 적합한 알려진 파일 유형(소켓, 기호 링크 또는 이를 구현하는 시스템에서 명명된 파이프(FIFPo))은 시스템 헤더 파일 에 정의된 경우 직관됩니다. 이렇게하면 파일에 두 개의 패스가 있지만 전체 파일을 메모리에 저장하지 마십시오.
높은 성능, 정확한 샘플 크기가 필요하고 파일 끝에 샘플 간격으로 살고 있는 경우 다음과 같은 작업을 수행 할 수 있습니다 (1m 줄 파일에서 샘플 1000 줄): 참고 : 코드에서 온다 : https://stackoverflow.com/questions/692312/randomly-pick-lines-from-a-file-without-slurping-it-with-unix / etc / 그룹 파일 위의 출력에서 볼 수 있듯이 텍스트 파일입니다. 또한 와일드카드 문자를 허용합니다. 예를 들어 현재 디렉토리에서 실행할 각 .jpg 파일의 형식을 찾으려면 위에 나열된 문자 집합에 기록된 것으로 식별할 수 없는 모든 파일을 “데이터”라고 합니다. 압축 해제하지 않고 압축 된 파일을 보려면 -z 옵션을 전달합니다. 다음 예제에서 파일 foo.txt.gz는 gzip 압축 ASCII 텍스트 파일입니다. 파일의 줄 수를 알고 있는 경우(예: 사례의 1e6) 수행할 수 있습니다. .txt로 끝나는 모든 파일을 나열하는 파일 명령을 실행: 파일 명령은 파일의 파일 형식을 결정합니다. 파일 형식을 사람이 읽을 수 있는 형식(예: `ASCII 텍스트`) 또는 MIME 유형(예: `텍스트/일반; charset=us-ascii`)으로 보고합니다. UNIX의 파일 이름은 파일 형식 파일과 완전히 독립적일 수 있기 때문에 파일을 보거나 작업하는 방법을 결정하는 유용한 명령이 될 수 있습니다. STDOUT 및 STDERR을 동일한 파일로 리디렉션할 수도 있습니다.
다음 예제에서는 STDOUT을 STDERR과 동일한 설명자로 리디렉션합니다. STDOUT과 STDERR 모두 “STDERR_STDOUT”파일로 리디렉션됩니다. hello_world.sh가 있는 디렉토리로 이동하여 파일을 실행 가능하게 만듭니다: 하나 이상의 파일 이름을 인수로 사용할 수 있습니다. 나는 헤더 행을 유지하려는 경우, 그리고 샘플이 파일의 대략적인 백분율일 수 있을 때 awk를 사용하는 것을 좋아합니다. 매우 큰 파일에 대 한 작동: 출력 표시 파일 및 파일 형식에 의해 구분 됩니다.- 그리고 +. 파일 명령은 각 인수를 분류하기 위해 테스트합니다. 이 순서대로 수행되는 테스트 집합은 파일 시스템 테스트, 매직 테스트 및 언어 테스트의 세 가지 순서로 수행됩니다. 첫 번째 테스트가 성공하면 파일 형식이 인쇄됩니다.
파일이 텍스트 형식 파일에 사용되는 문자 집합을 결정하면 파일이 작성된 언어를 결정하려고 시도합니다. 언어 테스트는 파일의 처음 몇 블록에 나타날 수 있는 특정 문자열(참조)을 찾습니다. 예를 들어 .br 키워드는 키워드 구조체가 C 프로그램을 나타내는 것처럼 파일이 트로프 입력 파일일 가능성이 가장 높음을 나타냅니다. 이러한 테스트는 이전 두 그룹보다 신뢰성이 낮기 때문에 마지막으로 수행됩니다. 언어 테스트 루틴은 또한 일부 기타(예: 타르 아카이브)에 대해 테스트합니다.