![ASCII 인코딩으로 지정된 이름을 가진 파일을 어떻게 생성합니까?](https://linux55.com/image/45635/ASCII%20%EC%9D%B8%EC%BD%94%EB%94%A9%EC%9C%BC%EB%A1%9C%20%EC%A7%80%EC%A0%95%EB%90%9C%20%EC%9D%B4%EB%A6%84%EC%9D%84%20%EA%B0%80%EC%A7%84%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%83%9D%EC%84%B1%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
벨 기호이고 인쇄할 수 없는 ascii 007이라는 파일을 만들고 싶습니다. 나는 그것을 시도했지만 파일에 배치한 테스트 내용을 인쇄 nano $'\007'
하는 ?;라는 파일을 생성했습니다 .cat ?
그렇다면 명시적으로 철자가 아닌 ASCII 인코딩으로 이름이 설정된 파일을 어떻게 생성합니까?
답변1
실제로는 모든 것이 예상대로 작동할 수 있지만 두 가지 다른 현상으로 인해 오해를 받고 있는 것입니다.
ls
일부 다른 유틸리티는?
기본적으로 인쇄할 수 없는 문자를 표시합니다.?
단일 문자와 일치하는 글로브입니다.
그 결과 다음과 같은 동작이 발생합니다.
$ echo foo > $'\007'
$ ls
?
$ cat ?
foo
문자 그대로 이라는 이름의 파일이 있는 것 같습니다 ?
. 그렇죠? 실제로 이것은 위에서 언급한 두 가지 현상의 우연일 뿐입니다. 문서는 여전히 다음과 같이 호출됩니다 ^G
.
$ printf '<%q>\n' *
<$'\a'>
$ ls -lb
total 0
-rw-r--r-- 1 chris chris 0 Aug 1 14:20 \a
파일의 리터럴 이름이 이라는 즉각적인 표시에도 불구하고 ?
아마도 모든 것이 예상대로 작동할 것입니다.