
ls -l
출력 상단에 총 블록 수에 대한 총 라인을 추가합니다. 출력에서 이 줄을 억제하는 직접적인 방법이 있습니까? 첫 번째 줄을 삭제하기 위해 출력을 다른 명령으로 파이프할 수 있다는 것을 알고 있지만 처음에 해당 줄을 억제하는 간단한 옵션이 누락된 것인지 궁금합니다.
답변1
total
아니요, 적어도 디렉터리의 내용을 나열할 때(인수 없이 현재 디렉터리 포함) 줄을 삭제하는 간단한 옵션이 누락되지 않았습니다 . 예를 들어 GNU에서는 , , 및 옵션을 사용하면 다음 줄 이 나타납니다 ls
.-l
-g
-n
-o
-s
total
표시되는, 비활성화할 수 있는 옵션이 없습니다.
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
.