답변:
의 소스 코드를 살펴보면 디렉토리 에서 옵션을 사용할 때 항상 표시되는 coreutils
것을 알았습니다 .total
-l
-d
옵션을 사용하여 디렉토리 내용 대신 항목을 나열합니다 total
. 그러나 인수없이 (또는 디렉토리에서) 실행하면 디렉토리가 아닌 디렉토리가 표시됩니다. 따라서 와일드 카드가 필요합니다. *
모든 파일과 .*
일치하고 숨겨진 파일도 일치합니다 ( -a
옵션에 해당 ).
ls -ld * .*
에 관해서는 -h
옵션, 나를 위해 작동합니다. 1118360 바이트는 1.1M으로 표시됩니다. 1024보다 작은 파일은 바이트 단위로 표시됩니다.
ls
매뉴얼 페이지를 편지로 가져 가거나 다음을 고려할 ls /
수 있습니다. " /
파일 인 경우 항목을 나열 하거나 디렉토리 인 /
경우 디렉토리 내용 "으로 해석 될 수 있습니다 . 를 사용 -d
하면 마지막 조건이 제거되고 항상 디렉토리 내용 대신 항목이 인쇄됩니다. 경로가 파일 또는 디렉토리인지 여부에 관계없이 적용됩니다.
ls
디렉토리 목록 실행 을 피하기 위해 와일드 카드를 사용하면 ls
과 같은 옵션 을 사용할 수 없으므로 최적이 아닙니다 --almost-all
.
Enzotib의 제안 과 마찬가지로 그것을 제거하는 가장 간단한 방법 tail
은 첫 번째 줄을 잘라내 도록 파이프를 통과 시키는 것입니다. 그러나 ls
출력이 대화식이 아닌 파이프임을 감지하고 원하지 않는 방식으로 기본값을 변경합니다. 따라서 견고하게하려면 몇 가지 옵션을 추가해야합니다.
--color=always
: 계속 색상 표시--hide-control-chars
: ?
콘솔 출력을 망칠 수있는 제어 문자 대신 파일 이름으로 인쇄스크립트가 있습니다 ~/bin/l
(에서 Bash 별칭을 사용할 수도 있습니다 ~/.bash_aliases
).
#!/bin/bash
ls -l --color=always --hide-control-chars "$@" | tail --lines=+2
ls
기본적으로 원하는 다른 옵션을 추가 할 수도 있습니다 ( 예 :) --group-directories-first --time-style='+%FT%T.%N%:::z' --indicator-style=slash
.
ls -l | tail -n+2
. 나머지에는 대답이 없습니다.