ls -l을 사용하여 전체 줄 인쇄를 억제합니다.

ls -l을 사용하여 전체 줄 인쇄를 억제합니다.

ls -l출력 상단에 총 블록 수에 대한 총 라인을 추가합니다. 출력에서 이 줄을 억제하는 직접적인 방법이 있습니까? 첫 번째 줄을 삭제하기 위해 출력을 다른 명령으로 파이프할 수 있다는 것을 알고 있지만 처음에 해당 줄을 억제하는 간단한 옵션이 누락된 것인지 궁금합니다.

답변1

total아니요, 적어도 디렉터리의 내용을 나열할 때(인수 없이 현재 디렉터리 포함) 줄을 삭제하는 간단한 옵션이 누락되지 않았습니다 . 예를 들어 GNU에서는 , , 및 옵션을 사용하면 다음 줄 이 나타납니다 ls.-l-g-n-o-stotal표시되는, 비활성화할 수 있는 옵션이 없습니다.

if (format == long_format || print_block_size)
{
  const char *p;
  char buf[LONGEST_HUMAN_READABLE + 1];

  DIRED_INDENT ();
  p = _("total");
  DIRED_FPUTS (p, stdout, strlen (p));
  DIRED_PUTCHAR (' ');
  p = human_readable (total_blocks, buf, human_output_opts,
                      ST_NBLOCKSIZE, output_block_size);
  DIRED_FPUTS (p, stdout, strlen (p));
  DIRED_PUTCHAR ('\n');
}

이것은 실제로POSIX에서 요구하는.

그러나 디렉터리가 아닌 나열할 파일을 지정하면 ls총계가 표시되지 않습니다. 이 -d옵션을 사용하면 디렉토리가 파일로 처리되어 다음에서 언급한 대로 원하는 결과를 얻을 수 있습니다.코스타스:

ls -ld *

와 동일한 출력을 생성합니다.

ls -l

total확장할 때 쉘에 숨겨진 파일이 포함되어 있지 않고 *( ) 현재 디렉토리에 확장이 최대 명령줄 길이를 초과할 dotglob정도로 많은 파일이 포함되어 있지 않은 경우 행 을 뺍니다 .*

디렉토리도 지정할 수 있지만( ls -ld /path/to/directory/*) 출력에는 와 달리 지정된 경로의 파일이 나열됩니다 ls -l /path/to/directory.

관련 정보