ls --dired -l
모든 디렉토리와 파일을 일부 숫자와 함께 인쇄합니다.
//DIRED// ***66 69 122 131 ....***
//DIRED-OPTIONS// --quoting-style=literal
이 굵은 숫자는 무엇을 의미하나요?
--dired
디렉토리 작업을 위한 Emacs 옵션이지만 여기서 숫자를 이해할 수 없습니다.
답변1
의 출력은 ls -D
Emacs에 의해 구문 분석되어야 합니다.방향 모드.
‘-D’ ‘--dired’
longlist(
-l
) 형식을 사용하여 기본 출력 뒤에 한 줄을 인쇄합니다.//DIRED// beg1 end1 beg2 end2 …
이것시작그리고엔덴출력에서 각 파일 이름의 시작과 끝의 바이트 위치를 기록하는 부호 없는 정수입니다. 이를 통해 Emacs는 이름에 이상한 문자(예: 공백이나 개행 문자)가 포함되어 있어도 복잡한 검색 없이 쉽게 이름을 찾을 수 있습니다.
디렉터리를 재귀적으로 나열하는 경우(
-R
) 각 하위 디렉터리 이름에 대한 오프셋과 함께 다음과 같은 줄을 출력합니다.//SUBDIRED// beg1 end1 …
마지막으로 다음 형식의 줄을 출력합니다.
//DIRED-OPTIONS// --quoting-style=word
여기서 word는 인용 스타일입니다(파일 이름 형식 지정 참조).
실제적인 예는 다음과 같습니다.
$ mkdir -p a/sub/deeper a/sub2 $ touch a/f1 a/f2 $ touch a/sub/deeper/file $ ls -gloRF --dired a a: total 8 -rw-r--r-- 1 0 Jun 10 12:27 f1 -rw-r--r-- 1 0 Jun 10 12:27 f2 drwxr-xr-x 3 4096 Jun 10 12:27 sub/ drwxr-xr-x 2 4096 Jun 10 12:27 sub2/ a/sub: total 4 drwxr-xr-x 2 4096 Jun 10 12:27 deeper/ a/sub/deeper: total 0 -rw-r--r-- 1 0 Jun 10 12:27 file a/sub2: total 0 //DIRED// 48 50 84 86 120 123 158 162 217 223 282 286 //SUBDIRED// 2 3 167 172 228 240 290 296 //DIRED-OPTIONS// --quoting-style=literal
위의 "//DIRED//" 줄에 있는 오프셋 쌍은 f1, f2, sub, sub2, deep, file과 같은 이름을 구분합니다. '//SUBDIRED//' 줄의 오프셋은 다음 디렉터리 이름을 구분합니다:
a
,a/sub
,a/sub/deeper
,a/sub2
.
deeper
다음은 오프셋 222 및 228 쌍에 해당하는 다섯 번째 항목의 이름을 추출하는 방법에 대한 예입니다.$ ls -gloRF --dired a > out $ dd bs=1 skip=222 count=6 < out 2>/dev/null; echo deeper
위 목록에는 항목에 대한 후행 슬래시가 포함되어 있지만
deeper
오프셋은 후행 슬래시 없이 이름을 선택합니다. 그러나ls
(aka )와 같은 옵션을 사용하여 호출--dired
하고 이름에 특수 문자가 포함된 파일에서 작업하는 경우 백슬래시가 포함된다는 점에 유의하세요.--escape
-b
$ touch 'a b' $ ls -blog --dired 'a b' -rw-r--r-- 1 0 Jun 10 12:28 a\ b //DIRED// 30 34 //DIRED-OPTIONS// --quoting-style=escape
따옴표를 추가하는 인용 스타일(예:
--quoting-style=c
)을 사용하는 경우 오프셋에 따옴표가 포함됩니다. 따라서 사용자는 환경변수를 통해 인용스타일을 선택할 수 있다는 점을 참고하시기 바랍니다QUOTING_STYLE
. 따라서 애플리케이션을 사용하려면--dired
명령줄에서 명시적 옵션( 또는--quoting-style=literal
라고도 함 )을 지정 하거나 이스케이프된 이름을 구문 분석할 준비를 해야 합니다.-N
--literal
숫자는 출력에서 파일 이름의 위치입니다.
begn 및 endn은 출력에서 각 파일 이름의 시작과 끝의 바이트 위치를 기록하는 부호 없는 정수입니다.
답변2
-D, --dired
Emacs용으로 설계된 출력 생성방향 모드.