Linux에서 나오는 몇 가지 용어들에 대해 질문 좀 드리고 싶습니다..
글쓴이: ngw2833 / 작성시간: 토, 2017/07/08 - 4:26오후
Linux Begining Programming을 배우는 도중에 해석하기 힘든 용어들이 나와서..
한 번 여쭙고자 합니다..
Terminals 부분을 보면서.. Canonical Mode라는 말이 자주 나오더라고요.
반대의 의미로 Noncanonical이라는 의미도 나오는데
사전적 의미로는 standard와 비슷한 의미가 있네요.
리눅스 원서를 읽으면서 맥락을 어떻게 읽어나가야 할 지 고민입니다. 간간히 등장하는 단어인데
왠지 제가 생각하는 의미와 조금 다른 듯 해서 한 번 여쭙습니다..
Forums:
http://database.sarang.net
http://database.sarang.net/study/glibc/12.htm
여기 12.3절에 터미널의 정규/비정규 모드로 번역되어 있네요.
저도 컴퓨터 용어에서 canonical 이라는 표현이 나오면 좀 머리가 아파지던데, 뭔가 더 규칙이 엄격하거나 어떤 룰을 준수하거나 이런 동작을 할 때 쓰이는 느낌이더군요.
몇 가지 예를 들면,
펄의 JSON 모듈의 canonical 옵션은 어떤 데이터를 json 문자열로 변환하여 출력할 때 항목을 알파벳 순으로 출력해줍니다.
펄의 URI 모듈의 경우 어떤 URI 객체에 canonical 메소드를 적용하면 호스트이름은 전부 소문자로 나타내고 디폴트 포트는 생략되고 등의 처리를 하네요. ( HTTP://WWW.perl.com:80 => http://www.perl.com )
Canonical XML 은 XML 문서 중에 속성이 알파벳 순으로 나열되고 그 외 몇 가지 더 제약을 준수하는 XML을 의미하나보군요.
https://en.wikipedia.org/wiki/Canonical_XML
좋은 하루 되세요!
저만 골머리를 쌓는 용어는 아니었군요..ㅎ
저만 골머리를 쌓는 용어는 아니었군요..ㅎ
감사합니다. 좋은 하루 되세요..!
남관우
터미널 열어서 명령 작성할 때 라인단위로 하죠
터미널 열어서 명령 작성할 때 라인단위로 하죠
그래서 중간에 틀리면 backspace 로 삭제할 수도 있고
엔터를 치면 그때서야 작성한 데이터(라인) 이 전달되죠
이렇게 터미널에서 기본적으로 사용되는 라인단위 모드를 canonical mode 라고해요
그런데 noncanonical mode 는 라인단위가 아니고
특정 바이트 개수나, 일정 시간 단위로 데이터가 전달되는 것을
말해요. 그러니까 이 모드에서는 backspace 같은 것은 사용할 수 없죠
터미널에서 stty 명령으로 간단히 테스트해볼 수 있는데
명령 프롬프트에서 'stty -a | grep canon' 를 실행해보면 canonical mode
로 설정되어 있는 것을 볼 수 있죠 ( 앞에 '-' 가 안 붙어 있으면 설정되어 있는 것임 )
프롬프트에서 cat[enter] 한 다음에 문자를 타입 해보면 중간에 backspace 로 삭제도 할 수도 있고
enter 를 치면 입력한 라인이 보이죠 이게 canonical 라인단위 모드 에요
이번에는 명령 프롬프트에서 'stty -icanon min 1' 을 실행한 후에
다시 cat[enter] 하고 문자를 타입해 보면 backspace 도 안되고
엔터를 치지 않아도 문자가 1 개 입력되면 표시되죠 (min 1)
이게 noncanonical mode 에요
vi 에디터에서 키 하나 누르면 바로 반응하는데 noncanonical mode 를
이용하는 것이에요
댓글 달기