본문 바로가기

스크랩

[스크랩] bitchx 사용법

다음 글은 천리안 리눅스 동호회에서 가져온 글입니다.
낙엽형에게 양해 말씀을 구하지 않아 죄송하군요. 당연히 양해해 주시리라 믿으며,
책에 들어가게 된다면 양해 말씀을 구하고 넣겠습니다.

다음에 쓰이는 IRC 프로그램은 책에서 설명한 것과는 다른 것이군요.
그러나, 기본적으로 IRC 명령어들은 같습니다.
그러므로, 다음에 나오는 명령어들을 참조하셔서 IRC를 활용하시면 될 것입니다.



번 호 : 389 / 498 등록일 : 1999년 02월 09일 10:54
등록자 : ZSLINUX 이 름 : 낙엽 조 회 : 1251 건
제 목 : [강좌] IRC와 비취 사용법


------------------------------------------------------------------------


본 글은 IRC client중 BitchX를 기반으로 한
IRC 기본 명령어 사용법이다. 모든 명령어들
을 나열한 것이 아니며 중요하고 자주 쓰이
는 몇몇의 명령어들만 기술할 것이다.
틀린 내용은 주저말고 mail로 보내주시거나
reply를 달아 고쳐주십시요. 저도 완벽한 사
용법을 알고 적은 글은 아니니 양해바랍니다
데비안 관련은 from104 서기현님의 도움으로
작성되었습니다. 고맙습니다. 감수: cocoja
cocoja님 감사합니다.

(: seha@nownuri.net :)

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


-=- IRC의 기본 명령어와 아주 간단한 BitchX 사용법 -=-

-* IRC(Internet Relay Chat)란?

1988년 핀란드의 Jarkko Oikarinen에 의해 개발되었으며, 현재의 IRC버전은
1993년 발표된 RFC-1459 에 의거하여 각 IRC 서버 버전마다 개량을 거듭한
것이다. 쉽게 개념을 이해하자면 talk의 다중화 기능 이라고 설명하면 될
것이다. 하나의 IRC server에 전 세계에서 client를 통해 접속함으로써 대
화를 나누는 것이다. 하나의 IRC 서버가 전세계의 클라이언트에 서비스 하
는 것이 아니라 IRC 서버는 다른 채팅 서버와 달리 서버와 서버간을 연결할
수 있으므로 전세계에 걸쳐 서버를 연결할 수 있고, 클라이언트들은 또 이
각각의 서버에 접속하여 다른 서버에 연결한 클라이언트들과 실시간 대화를
할 수 있게 해준다.

c1 ---- S1 ----- S2 ----- S3 ----- c2
/ |
/ |
c3 S4 --- c4
/
/
c5

c 는 IRC 클라이언트
S 는 IRC 서버

일반적으로 사용되는 IRC port는 6667과 6668이며 별도의 client를 가지고
접속해야 한다. telnet host 6667 로 접속 가능하며 RFC-1459 에 명시된
프로토콜을 사용하면 기본적으로 대화가 가능하다. 그러나 이것은 매우 불
편하므로 전용 IRC 클라이언트를 사용하는 것이다.


-* BitchX란?

BitchX 가 스크립트에서 부터 출발한 것은 아니고 ircII 라고 하는 유닉스
용 클라이언트에 쓰였던 다양한 스크립트 기능을 한데 통합하여 panasonic
이라고 하는 사람이 ircII 를 기반으로 하여 만든 클라이언트.
현재 Linux에서 사용되는 일반적 client로는 irc와 BitchX가 있으며 Window
기반에서는 Pirch와 mIRC 등의 다양한 종류가 있다.
(어디서 말해줄까 하다가 이 곳에서 알려주기로. UNIX 계열에서는 죄다 영
문자의 대소 구별이 있지만 IRC에서만은 없다. 좋은걸까 나쁜걸까? :)

http://cocoja.sarang.net/irc/ 참고.


-* BitchX는 어디서 구하는가?

소스들
http://www.bitchx.org
http://cocoja.sarang.net/irc

기타 Alzza mirror site에 가면 rpm으로 된 BitchX를 구할 수 있다.

그리고 deb는 아래 주소에 있다.
http://doit.ajou.ac.kr/debian-kr/dists/potato-kr/main/binary-i386/net


-* BitchX 설치하기

<- RPM 설치 ->
우선 깔려 있는 패키지가 있는지 확인해본다.
$ rpm -qa |grep bitchx
현재 나온 버전은 bitchx-75p1+H2-2.i386.rpm 이며, 확인해 본 결과 본 프
로그램이 깔려 있다면 -Uvh 옵션을 줘서 업데이트를 없다면, -ivh를 줘서
새로 생성한다.

$ rpm -Uvh bitchx-75p1+H2-2.i386.rpm <- 업데이트
$ rpm -ivh bitchx-75p1+H2-2.i386.rpm <- 없을 경우

이렇게 하면 /usr/doc과 /usr/lib/irc 하위 디렉토리에 화일이 생성된다.

<- DEB 설치 ->
우선 오리지널 bitchx가 설치되어 있는지 확인한다. (편의상 사용자는 루트로 가정)
$ dpkg -l '*bitch*'
있다면 지운다.
$ dpkg -r bitchx
위에서 받은 deb을 설치한다. (새로 설치건 업그래이드건 옵션은 같음)

$ dpkg -i bitchx-ko*.deb

문서들은 /usr/doc/bitchx-ko 에 쌓여있다.


-* 실행시키기 전에

<- SERVER ->
우선 들어가고자하는 server를 선택한다. 기본적으로 알짜 패키지 속의
BitchX에는 아래와 같은 서버가 등록되어 있다.

0) cafe.iworld.net
1) kiss.sarang.net
2) hanabbs.com
3) irc.locus.net
4) cse.naru.net

IRC server 등록은 /usr/lib/irc 밑의 ircII.servers에 해주면 되고, Bitch
X를 실행시키면 자동으로 0번에서부터 차례로 접속을 시도해준다.
또는 profile에 아래를 첨가해주면 된다.(한줄에)

export IRCSERVER="[linux] cafe.iworld.net kiss.sarang.net hanabbs.com
irc.locus.net cse.naru.net"

첨가해주고 난 뒤에 꼭 source .bash_profile을 해주도록 하자.

<- Realname ->
realname을 주지 않는 경우에는 user 확인을 해보았을 경우에 (* I'm to la
me to read BitchX.doc *)라는 메세지가 뜬다. 이 것은 shell profile에서
각각 export IRCNAME=""(ex. sxport IRCNAME="seha")라는 부분을 첨가해주
면 된다.


-* BitchX 실행

여태까지 죽어라고 BitchX라고 했지만 실행 명령어는 정작 BitchX가 아닌
bx이다. 쉘에서 죽어라고 BitchX라고 입력하지 않기를 바란다.
실행 명령어는 알았지만, 하기 전에 먼저 해보아야 할 것. man bx를 해보았
으나 없으므로 꼭 bx -h를 해본다. 그러면 bx에 관련된 switch들이 좌르르
나올 것이다.
기본 적으로 bx는 irc(소문자 irc는 ircII client를 의미한다)와 같이 아래
와 같이 사용한다.

$ bx nickname server (ex. $ bx seha cafe.iworld.net)

하지만 본인 계정에서 자신의 계정을 별명으로 써서 앞서 설정해준 server
화일의 서버로만 접속한다면 달랑 bx라고만 입력해도 들어간다.

<- switches ->
모든 옵션을 다 알 필요는 없고 몇가지 유용한 것들만 알아보자. 필요한 부
분은 각자 알아서 배우도록 하자.

-c 접속해서 들어갈 방을 미리 명령어 라인에 적어준다.
$ bx nickname -c#channel server
(ex. $ bx seha -c#linux cafe.iworld.net)
*channel이란? IRC server에는 수많은 사람들이 접속하고 각자 가지
고 있는 주제가 다르다. channel이란 것은 대화방을
의미하고 대부분의 channel에는 그 방 고유의 성격이
나 주제가 내포되어 있다. #은 방 이름 앞에 늘 붙여
주도록 한다.(일종의 약속이다, 그 이상의 의미가 있
던가?)
-q 기본적으로 읽어들이는 ~/.ircrc를 읽지 않는다.
-v version을 알려준다.
-h switch와 약간의 도움말을 보여준다.
-N bx를 실행시키는 순간 뜨는 첫서버로의 자동 접속을
못하게 하고 bx를 띄우는 순간 server list를 보여준
다.
-A bx를 시작하는 순간 보여주는 ansi화면을 off한다.


-* IRC 접속 후

접속은 했는데 그 다음은 대체 무엇부터 만져야할지 모르겠다 라고 말한다
면 분명 초보임이 틀림없다. IRC맹만이 아니라 컴맹에 가깝다고 해도 할 말
이 없는 사람일 것이다. 두말하면 잔소리, /help 라고 입력해야지 그래도
컴퓨터와 통신에 익숙한 사람일 것이다. /help를 입력하면 수없이 많은 명
령어가 나오는데 도무지 뭐가 뭔지 나도 모르겠다. 몇몇개의 중요한 명령어
만 역시 알고 넘어가도록 한다. 나머지는 필요에 따라서 스스로 하기를.
BitchX 의 경우 /bhelp 가 있다.
/help 는 ircII의 명령이 /bhelp 는 BitchX 에서 확장된 명령의 도움말이
일반적으로 나온다.

<- commands ->
컴퓨터 용어가 그렇듯이 IRC의 기본 명령어도 죄다 영어의 원뜻을 생각하면
쉽게 배울 수 있을 것이다. 서버에 접속해서 아래 명령어들을 한번씩 시험
해보되, 새로운 방을 하나 만들어서 하는 것이 네티켓이다. 사람들이 이미
있는 방에서 여러 명령들을 실행해보느라고 방을 지저분하게 하는 것은 예
의가 아니다.

/ 명령어를 입력하기 위해서 기본이 되는 것. 요렇게
만 말해도 다들 알리라.
/server bx를 실행시키고 난 다음에 서버를 바꾸거나 할 때
(ex. server cafe.iworld.net)
/join 상용통신망을 해봤다면 join 정도의 명령어는 모두
알 것이다.
(ex. /join #linux)
/part 참가하는 명령어가 있다면, 당연히 나가는 명령어
/leave 도 있을 것이다. 이 두 명령어 모두 channel을 나
가는 명령어이다. part의 경우에는 msg를 첨가할
수 있다.
(ex. /part #linux 딴 방가서 놀꺼야 :P
/leave #linux)
/invite 특정인을 자기가 있는 방으로 초대한다. 오퍼만이
할 수 있다.
(ex. /invite you)
/nick 이름 바꾸는 명령어이다.
(ex. /nick seha_away)

*away란? away는 자리를 비웠다는 것을 의미한다.
/away 자리를 비웠을 경우에 남기며, away 다음에 이유를
적어도 되고 그냥 away만 올려도 된다. 이때에는
내게 온 msg, notice 등이 죄다 기록된다.
(ex. /away 자러가욧!)
/clear 어디든지 지우는 명령어는 있다!
/list 방이름과 주제, 참여 인원수를 보여준다. 전체를
모두 보려면 /list -y라고 해주면 된다.
(ex. /list ; /list #linux)
*참고 irc client에서는 bx에서 사용되는 -y라는 옵션이
필요없다.
/who 각 방에 있는 사람들에 대해 자세한 정보와 함께
열거해준다. 또는 /who *함으로 자기 방 사람들의
정보를 한꺼번에 볼 수도 있다.
(ex. /who #linux ; /who *)
/whois 개인 정보를 좀 더 자세하게 알아보는 명령어. se
ver 주소, 참여하고 있는 방, ircname등이 나온다.

(ex. /whois seha ; /whois *)
/names 방에 참가한 인원수와 참가자를 나열한다.
(ex. /names #linux ; /names -y)
/ver 특정인의 버전을 알아본다.
(ex. /ver you ; /ver *)
/msg 원하는 상대에게만 보이도록 메세지를 날린다.
(ex. /msg you 이렇게 하는거야)
*참고 벨을 울릴 수가 있다. /msg ^g 하면 상대컴
에 '딩' 하고 벨 소리가 간다.
/query msg 의 윗단계?로 같은 방에서라도 다른 사람들의
대화내용을 보면서 말하는 것은 상대에게만 가도록
한다. 끝낼 때는 /query라고만 하면 된다.
(ex. /query you)
/topic 방의 주제를 보고 바꾸는 명령어이다. /topic 뒤에
원하는 내용을 적으면 된다.
(ex. /topic 열심히 합시다!)

이상은 기본적인 명령어들이였고, 이제 방의 옵션에 관한 명령어를 몇가지
익혀보자.

/mode 방의 옵션 및, 개인의 옵션을 변화시키는 기본단계
+, -로 구분 된다. 예로 설명하겠다.
/mode #linux +i invite only 로 초대하지 않는한 들어갈 수 없다.
/mode #linux +t 오퍼만이 topic을 바꿀 수 있게 바꿔줌.
/mode #linux +p private(개인적인) 방 초청없이 참여할 수 있으나
channel list에는 나오지 않는다.
*오퍼란? 방장을 의미하며 여러가지 강력한 권한을 가진다.
/mode #linux +o (ex. /mode #linux +o you)
상용통신망의 챗방과 다른 점은 방장(오퍼)가 여럿
일 수 있다는 점이다.
bx에서는 /op 도 동일한 역할을 한다.

이제 오퍼로써의 명령어들을 몇가지 알아보도록 하자.

/kick (ex. kick #linux you)
방에서 특정인을 내쫓는 명령어
/ignore 특정인을 무시하는 옵션으로 마찬가지로 +, -로 변
화시킨다. 역시 예로 설명하겠다. ignore list는
/ignore만 치면 보인다.
/ignore you +all you가 말하는 것 전부를 무시한다.
풀 때는 -all
/ignore you +msgs your가 보내는 메세지만 무시한다.
풀 때는 -msgs
/ignore you +invite you가 보내는 초대 메세지를 거절한다.
풀 때는 역시 -invite
/ban 특정인을 방에 못들어오도록 하는 명령어이다.
풀 때는 /unban을 같은 형식으로 사용하면 된다.
/ban <*!*@ip> ban명령어에서도 *는 사용가능하며, ! 앞에 nick을
!다음에는 들어오는 주소의 account를 @다음에는
주소를 적어주면 특정 주소로부터의 접속을 막을
수도 있다.

(ex. /ban you!*@* 모든 주소의 you ban)
/bansta 현재의 ban list를 보여준다.

IRC에서는 file 전송도 가능하다. 하지만 이 것은 server를 걸쳐서 하는 전
송이 아니라 1:1 끼리 개인 port를 열고 하는 전송이다. 이러한 연유로 IRC
에는 해커(정확하게는 크래커)들이 warez 봇을 이용하여 불법 프로그램을
주고받는 일이 잦았는데 최근에는 서버 관리자들의 엄중한 감시로 인해 줄
어들고 있다. 기본적으로 dcc는 서버관리자들이 완벽하게 관리할 수 없지만
장난삼아서라도 대형 IRC망에서 불법 복사한 프로그램을 전송하거나 받지
않기를 바란다.
dcc외에도 cdcc도 있으며 아래 적어놓은 명령 이외의 많은 것이 있으나, 나
머지는 필요에 의해 각자 알아보기를 바란다.

/dcc send 화일 보낼 때
(ex. /dcc send you alone.mid)
/dcc get 화일 받을 때
(ex. /dcc get seha alone.mid)
/dcc 현재 전송 중인 file의 전송량 등을 확인할 때

수많은 IRC 명령어 중에서 대략 적으로 몇가지만 알아보았다. IRC에 접속하
여 언제나 /help를 침으로써 더 많은 명령어들을 볼 수 있으며, 이를 잘 활
용하기를 바란다.
*** Usage: /help [command] to get help on specific commands


-* BitchX Setting

이제까지는 IRC에서 사용되는 기본적인 명령어들을 살펴보았다. bx를 사용
한다는 것은 BitchX의 수많은 기능을 사용할 수 있다는 것이다. 물론 본인
도 실제로 사용할 줄 아는 기능이 열손가락 안에 들지만 몇가지 세팅과 기
능을 설명하고자 한다.

<- Setting ->
/set 이라는 명령어를 접속 중에 내려본다. 정신없이 몇 페이지의 화면이
넘어갈 것이다. 이 중에 전부를 설명할 수도 없고 몇가지 기본적이면서도
중요하다고 생각되는 것들만 설명하겠다.

/set auto 이렇게 명령하면 /set auto에 관한 것들이 나열된
다.
*참고 이하의 것들은 죄다 /set auto_away 식으로 사용된
다. 앞의 set을 잊지 말도록 하자.
auto_away 자동으로 away되느냐를 결정하는 것으로 On/Off
auto_away_time key 입력이 어느 정도 없을 경우에 away 하게되는
지 시간을 입력한다. 기본으로 10분간을 설정해놨
을 것이다.
*참고 IRC setting에서 쓰이는 시간은 초단위이다.
auto_unban ban을 자동으로 풀어줄 시간을 지정할 때 쓰인다.
autokick_on_version 자신의 버전 알아보려는 사람을 킥할 것인지
말 것인지를 정한다.
/set dcc 이렇게 하면 /set dcc에 관한 것들이 나열된다.
dcc_autoget 전송되는 file을 자동으로 받을 건지 결정한다
dcc_dldir 전송되는 file을 저장할 directory를 지정한다.
dcc_timeout 전송하는 file에 대해 상대가 받아들일 때까지 기
다리는 시간을 정한다. 이 시간을 넘으면 전송은

자동으로 close된다.

이 정도만 알아두도록 하자. 단 /bitch는 가급적 시험삼아서라도 하지 않도
록 하자. 이러면 꼭 한번 해보는 사람이 있는데, 책임은 절대 안진다. ^^;

<- 화면 나누기 ->
IRC는 multi-join이 가능하다. 즉, A를 떠나지 않고 B방에 참가할 수 있는
기능이 있다. 하지만 이럴 경우에는 무척이나 혼란스러운 것이 한 화면안에
두 곳의 이야기가 죄다 흘러나오고 있기 때문이다. 이를 위해서 BitchX에서
는 창을 나누는 기능이 있다.

/window help /window 명령에 대한 도움말이 나온다.

/window new 말 그대로 새로운 창을 열어준다.
/bind ^o next_window 창을 열었으면 이동할 수 있도록해야하는데 이
때 ^o를 눌름으로 이동할 수 있도록 설정한다.
/window kill 창을 죽인다.
/window server host[:port]
윈도우 마다 서로 다른 서버에 접속하고자 하는 경
우 현재의 윈도우에 다른 서버와 접속한 화면을 유
지할 수 있다.


-* Script 사용하기

위에 알려준 홈페이지에 가면 몇몇개의 BitchX를 보다 쉽고 잘 사용할 수
있게 해주는 script가 있을 것이다. 그 중에 cocoja님의 홈에 가면 midi를
들을 수 있게 만들어놓은 script를 사용해보기를 바란다. 물론 자세한 설명
서도 첨부되었으니 쉽게 사용할 수 있을 것이다.



-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

어쩌다가 이런 글을 쓰게 되었는지 모르겠다. IRC를 한지 4년째, 이제서야
한 곳에 리눅서들이 있는 곳에 자리를 트고 앉았다. 4년간 여기저기 돌아다
니면서 많이도 떠들었지만 지금처럼 편안하고 가족같은 이들을 만난 것은
처음이다. 통신이라는 것을 통해서 인간미 넘치는 이들을 만난다는 것이 어
떻게 보면 아이러니한 것 같다.

이 글을 쓰기까지 도와주신 분들, 특히 서기현님, cocoja님, 김경헌님, 그
리고 #QnQ 식구들에게 감사드린다.

끝으로 IRC에서의 넷티켓은 보다 나은 통신문화 정착을 위하여 저마다 꼭
지켜주기를 바란다. :)