1. ì�´ 페ì�´ì§€ëŠ”? ¶
ì œë¡œ 페ì�´ì§€ ë�°ë¸”스 ìº í”„ 4ì�¼ì§¸ì—� 하는 리눅스를 ì‹ ìž…ìƒ�들ì�´ 간단히 체험해 보는 기회를 가지게 하는 페ì�´ì§€ìž…니다.
2. 작성ìž� ¶
02 임��Yggdrasil
ì›�ëžœ 재니가 맡기로 하였으나 MT 가는 바람ì—� ì œê°€ 얼떨결ì—� 맡게 ë�˜ì—ˆìŠµë‹ˆë‹¤. ì œê°€ ê±°ì�˜ 모르는 ìƒ�태ì�´ê¸°ì—� ì˜ˆì œ ê°™ì�€ 것ì�€ 못 í•˜ê² ê³ , 그냥 ë”°ë�¼í•˜ê¸°... ì •ë�„ë§Œ ë� 것 같습니다.
ì›�ëžœ 재니가 맡기로 하였으나 MT 가는 바람ì—� ì œê°€ 얼떨결ì—� 맡게 ë�˜ì—ˆìŠµë‹ˆë‹¤. ì œê°€ ê±°ì�˜ 모르는 ìƒ�태ì�´ê¸°ì—� ì˜ˆì œ ê°™ì�€ 것ì�€ 못 í•˜ê² ê³ , 그냥 ë”°ë�¼í•˜ê¸°... ì •ë�„ë§Œ ë� 것 같습니다.
3. 리눅스ì�˜ 장ì � ¶
ì²™ 보기ì—� 리눅스는 윈ë�„ìš° 처럼 비쥬얼하지ë�„ ì•Šê³ , ì°¸ 심심하게(?) ìƒ�ê²¼ì�Œì—�ë�„ ë¶ˆêµ¬í•˜ê³ ì‚¬ìš©í•˜ëŠ”ë�°, ê·¸ì—�는 아래와 ê°™ì�€ 장ì �들ì�´ 있습니다.
- 오픈 소스로서ì�˜ 장ì �
- 소스코드가 공개�어 변형� 가능
- ì €ìž‘ê¶Œ 비용 필요없ì�Œ
- 소스가 공개ë�˜ì–´ 버그 ìˆ˜ì •ì—� 사용ìž�ê°€ ì°¸ì—¬í• ìˆ˜ 있ì�Œ
- 개발업체가 ë§�í•´ë�„ 소프트웨어는 ì¡´ì†�ë� 수 있ì�Œ
- 소스코드로 ì�¸í•´ 다른 환경ì�˜ 시스템 통합시ì—� ìœ ì—°í•¨
- 소스코드가 공개�어 변형� 가능
- 리눅스ì�˜ 장ì �
http://www-903.ibm.com/kr/linux/value/advantage/
- ì œê°€ í�¼ì™€ì„œ ì“°ëŠ�니 ì°¨ë�¼ë¦¬ ë§�í�¬ë¥¼ 걸어ë‘�는 편ì�´ 나ì�„ ê±° 같네요.
- ì œê°€ í�¼ì™€ì„œ ì“°ëŠ�니 ì°¨ë�¼ë¦¬ ë§�í�¬ë¥¼ 걸어ë‘�는 편ì�´ 나ì�„ ê±° 같네요.
4. ì ‘ì†� 프로그램 ¶
putty Client
여기서 다운 받아 실행한 후, Protocolì�„ SSH로 í•˜ê³ Hostnameì�„ zeropage.org로 하여 ì ‘ì†�하세요. ê·¸ë¦¬ê³ ë¶€ì—¬ë°›ì�€ id와 비밀번호를 ìž…ë ¥í•˜ë©´ ë�©ë‹ˆë‹¤.
여기서 다운 받아 실행한 후, Protocolì�„ SSH로 í•˜ê³ Hostnameì�„ zeropage.org로 하여 ì ‘ì†�하세요. ê·¸ë¦¬ê³ ë¶€ì—¬ë°›ì�€ id와 비밀번호를 ìž…ë ¥í•˜ë©´ ë�©ë‹ˆë‹¤.
5.1. ëª…ë ¹ì–´ 사용해보기 ¶
- mkdir (ë””ë ‰í† ë¦¬ 만들기)
- mkdir (ë””ë ‰í† ë¦¬)
- 예)cd temp_file
- 예)cd temp_file
- mkdir (ë””ë ‰í† ë¦¬)
- rmdir (ë””ë ‰í† ë¦¬ 지우기)
- rmdir (ë””ë ‰í† ë¦¬)
- 예)rm temp_file
- 예)rm temp_file
- rmdir (ë””ë ‰í† ë¦¬)
- cd (ë””ë ‰í† ë¦¬ ì�´ë�™)
- cd (ë””ë ‰í† ë¦¬)
- 예)cd temp_file
- 예)cd temp_file
- cd .. 한 단계 ìƒ�위 ë””ë ‰í† ë¦¬ë¡œ ì�´ë�™í•œë‹¤.
- 주�) 반드시 cd 다� 한 칸 �어야 함.
- 주�) 반드시 cd 다� 한 칸 �어야 함.
- cd (ë””ë ‰í† ë¦¬)
- ls (파� 보기)
- ls -l (�세히 보여준다.)
- ls -1 (한 줄� 하나씩 보여준다.)
- 그 외� 다양한 옵션� 있다. 옵션� 여러개 한꺼번� 쓸� ls -1l �으로 쓴다.
- ls -l (�세히 보여준다.)
- cp (카피)
- cp (파�1) (파�2) => 파�1� 파�2란 �름으로 카피한다.
- 예) cp aaa.txt bbb.txt
- 예) cp aaa.txt bbb.txt
- cp 파�1 temp_file => 파�1� temp_file로 카피한다.
- cp 파ì�¼1 ../temp_file => 파ì�¼1ì�„ 현재ì�˜ ìƒ�위 ë””ë ‰í† ë¦¬ì�˜ 하위 ë””ë ‰í† ë¦¬ì�¸ temp_file로 카피한다.
- cp (파�1) (파�2) => 파�1� 파�2란 �름으로 카피한다.
- rm (파� 지우기)
- rm (파�1) 파�1� 지운다.
- rm (파�1) 파�1� 지운다.
- mv (파� 옮기기)
- cp와 비슷하지만 �본� 지워진다.
- mv aaa.txt ccc.txt => aaa.txt를 ccc.txt로 �름� 바꾸는 용�로 쓸 수 있다.
- mv aaa.txt ./temp_file => aaa.txt를 temp_fileì�´ëž€ 하위 ë””ë ‰í† ë¦¬ë¡œ 옮긴다.
- cp와 비슷하지만 �본� 지워진다.
- man (매뉴얼)
- man (ì•Œê³ ì‹¶ì�€ ëª…ë ¹ì–´)ì�˜ 형ì‹�으로 사용한다. cpëª…ë ¹ì–´ì—� 대해 ì•Œê³ ì‹¶ìœ¼ë©´ man cp를 ì“°ë©´ ë�œë‹¤.
- man (ì•Œê³ ì‹¶ì�€ ëª…ë ¹ì–´)ì�˜ 형ì‹�으로 사용한다. cpëª…ë ¹ì–´ì—� 대해 ì•Œê³ ì‹¶ìœ¼ë©´ man cp를 ì“°ë©´ ë�œë‹¤.
- chmod (권한 ì„¤ì •)
- ls -lì�„ í•´ë³´ë©´ ì œì�¼ 왼쪽ì—� -rwxrwxrwx 등ì�˜ 문ìž�ê°€ 나오는ë�°, ì�´ê²ƒì�€ 권한ì�„ ë§�한다.
- ì ‘ê·¼ 권한ì—�는 3종류가 있다. r: read, w: write, x: excuteì�˜ 권한ì�„ 나타냄
- 권한 부여 대��� 3종류가 있다. 왼쪽� rwx부터 차례로 u(user), g(group), o(others)� 순서.
- ì˜ˆì œ
- chmod ugo+rwx aaa.txt => aaa.txt를 user, group, othersì—�게 ì�½ê³ ì“°ê³ ì‹¤í–‰ì‹œí‚¤ëŠ” 권한ì�„ 준다.
- chmod u-r aaa.txt => aaa.txt� �� 권한� user로부터 빼앗는다.
- chmod 701 aaa.txt => userì—�ê²� rwxì�˜ 권한ì�„ ì£¼ê³ , groupì—�ê²� ì–´ë– í•œ 권한ë�„ 안 ì£¼ê³ , othersì—�ê²� xì�˜ 권한만 준다.
- chmod ugo+rwx aaa.txt => aaa.txt를 user, group, othersì—�게 ì�½ê³ ì“°ê³ ì‹¤í–‰ì‹œí‚¤ëŠ” 권한ì�„ 준다.
- ls -lì�„ í•´ë³´ë©´ ì œì�¼ 왼쪽ì—� -rwxrwxrwx 등ì�˜ 문ìž�ê°€ 나오는ë�°, ì�´ê²ƒì�€ 권한ì�„ ë§�한다.
5.2. vi ì—�디터 ì�¨ë³´ê¸° ¶
- vi는 MS워드나 아래아 한글과는 달리 메뉴가 없습니다. 그래서 여러 기능ì�„ 쓰기 ìœ„í•´ì„ ê°� 기능ì—� 해당하는 버튼ì�„ 외워야 í• í•„ìš”ê°€ 있습니다.
5.3. 사용법 ¶
- 파ì�¼ì�„ 처ì�Œ ë§Œë“¤ê³ ìž� í• ë•ŒëŠ” 그냥 vië�¼ê³ 치면 ë�œë‹¤.
- ì „ì—� 있ë�˜ 파ì�¼ì�„ ê³ ì¹˜ê³ ìž� í• ë•ŒëŠ” vi (파ì�¼ëª…)으로 들어가면 ë�œë‹¤..
- viì—�는 다ì�Œê³¼ ê°™ì�€ 3가지 모드가 있습니다. 처ì�Œ 실행하면 ëª…ë ¹ëª¨ë“œì—�서 시작ë�œë‹¤.
5.3.1. ìž…ë ¥ 모드 ¶
- 문서를 íŽ¸ì§‘í• ìˆ˜ 있는 모드로 ëª…ë ¹ëª¨ë“œì—�서 i를 누르면 들어간다. ì œì�¼ ë°‘ì—� INSERTë�¼ê³ 표시ë�œë‹¤. 여기서 보통 문서 편집하는 것처럼 ìž…ë ¥í•´ 주면 ë�œë‹¤.
5.3.2. ëª…ë ¹ 모드 ¶
- copy, paste 등 편집과 ê´€ë ¨ë�œ 다양한 기능ì�„ ì‚¬ìš©í• ìˆ˜ 있다.
- 방향키 => 커서를 움�� 수 있습니다.
- G => 문서ì�˜ ì œì�¼ ë��으로
- w => 다� 단어로
- b => ì�´ì „ 단어로
- 등등ì�˜ 다양한 ëª…ë ¹ì�„ 쓸 수 ìžˆê³ , ì�´ì œë¶€í„° 편집(copy&paste)ì—� 관해서 설명합니다.
- y => 복사하기
- yy => 한줄 복사하기
- nyy => 현재 줄 �하로 n개� 줄� 복사(n� 임�� 숫�)
- yw => 한단어 복사
- nym => n개� 단어 복사(n� 임�� 숫�)
- p => 붙�기
- ì�´ëŸ° 것 외ì—�ë�„ 수많ì�€ 복사 ë¶™ì�´ê¸° ê´€ë ¨ ëª…ë ¹ì–´ê°€ 있습니다.(n번 ë¶™ì�´ê¸° 등등)
- ë¬¼ë¡ ëª…ë ¹ëª¨ë“œì—�ì„ copy&pasteë§Œ í• ìˆ˜ 있는 것ì�´ 아니ë�¼ 지우기, 복구하기 등ì�˜ ëª…ë ¹ì–´ê°€ 있습니다.
5.3.3. ì½œë¡ ëª¨ë“œ ¶
- save, exit 등ì�„ í• ìˆ˜ 있는 모드로 ì œì�¼ ë�� 줄ì�˜ 왼쪽ì—� ì½œë¡ ì�´ 표시ë�œë‹¤.
- q! =>종료
- wq ì €ìž¥í•œ 후 종료. 처ì�Œ ë§Œë“ íŒŒì�¼ì�˜ 경우는 wq (파ì�¼ëª…)ì�„ ì�¨ 주어야 한다.
5.4. viì—�서 C 컴파ì�¼ 해보기 ¶
- ìš°ì„ vi 편집기를 실행한다.
- C 소스를 ìž…ë ¥í•©ë‹ˆë‹¤. 단, C++ 스타ì�¼ì�´ 아닌 C 스타ì�¼ë¡œ. 즉, stdio.h와 printf등ì�„ 사용하ë�¼ëŠ” 뜻ì�´ì£ . 주ì�˜í• ì �ì�€, 여기서 주ì�˜í• ì �ì�€ main() 함수ì�˜ 리턴값ì�€ void로 해주면 안 ë�˜ê³ int로 해주어야 합니다.(왜 그런지는 ëª¨ë¥´ê² ìœ¼ë‚˜ 컴파ì�¼ ì—�러가 나ë�”ë�¼ê³ ìš”.)
- ì €ìž¥í•©ë‹ˆë‹¤. 확장ìž�는 cppê°€ 아닌 c로 í• ê²ƒ.
- vi�디터를 나와서 gcc (파�명)� 치면 컴파�� �는�, 무조건 실행파�� a.out으로 나옵니다.
- a.out으로 실행하면 �니다.
- �런 �으로 HelloWorld와 구구단� 만들어 봅시다.
Unix Philosophy를 경험하게 해주는 ê±´ 어떨까요? 예컨대 Software Tools ì² í•™ì�„ 경험하게 해주는 것ì�´ì£ . 개별ì �ì�¸ 커맨드를 하나씩 가르ì³�주는 것ë�„ ì�˜ë¯¸ìžˆì�„ 수 있지만 학습ì�€ 학습ìž� 스스로 ë”가를 "구성"í•´ ë³¼ 때 ë°œìƒ�합니다. 단순 암기는 피해야 í• ê²ƒìž…ë‹ˆë‹¤.
예를 들면, apache 로그 파ì�¼ì�„ ì¤�니다. ê·¸ë¦¬ê³ sort, uniq, cut, grep, head 등ì�˜ ëª…ë ¹ì–´ì�˜ 사용법ì�„ 간단히 가르ì³� ì¤�니다. ê·¸ë¦¬ê³ ì�´ë“¤ì�„ 파ì�´í”„로 연결해서 2003ë…„ 6ì›”ì—� ì ‘ì†�한 IP 중ì—� 가장 ìž�주 ì ‘ì†�한 IP ë² ìŠ¤íŠ¸ 10ì�„ 1등부터 뽑아내ë�¼ê³ 합니다. (
~cpp grep "Jul/2003" access.log| cut -d' ' -f1 |sort|uniq -c|sort -rn|head -10| cut -f2)훨씬 ë�” ë§Žì�€ 것ì�„ 배우게 ë� 것입니다.
--JuNe
지금 í•´ë³´ê³ ìžˆìŠµë‹ˆë‹¤.. ìž¬ë°Œê² ë„¤ìš”.. ë‚´ë…„ì—�ë�¼ë�„ í•´ë³´ë©´ 좋ì�„ 것 같습니다.^^; --ì°½ì„
확실히 ëª…ë ¹ì–´ë¥¼ 하나씩 가르ì³� 주는 것ì�€ 한계가 ìžˆë‹¤ê³ ë´…ë‹ˆë‹¤. 그러나 ì œê°€ 아는 게 없어서 ì�´ëŸ° ì‹�으로 ë°–ì—� 못 í•˜ê² ìŠµë‹ˆë‹¤. ì € ì—시 리눅스 ê°™ì�€ 것ì�„ ì ‘í•œ ì �ì�´ ê±°ì�˜ ì—†ê³ , ì�´ë²ˆ ë�°ë¸”ìŠ¤ìº í”„ë¥¼ 위해서 ì €ë�„ 처ì�Œ ì ‘í–ˆìŠµë‹ˆë‹¤.(작년 ë�°ë¸”ìŠ¤ìº í”„ ì œì™¸) 그래서 지금 ì €ì�˜ 수준ì—�ì„ ì�´ ì •ë�„ ë°–ì—� í• ìˆ˜ê°€ 없었습니다. --ì˜�ë�™
확실히 ëª…ë ¹ì–´ë¥¼ 하나씩 가르ì³� 주는 것ì�€ 한계가 ìžˆë‹¤ê³ ë´…ë‹ˆë‹¤. 그러나 ì œê°€ 아는 게 없어서 ì�´ëŸ° ì‹�으로 ë°–ì—� 못 í•˜ê² ìŠµë‹ˆë‹¤. ì € ì—시 리눅스 ê°™ì�€ 것ì�„ ì ‘í•œ ì �ì�´ ê±°ì�˜ ì—†ê³ , ì�´ë²ˆ ë�°ë¸”ìŠ¤ìº í”„ë¥¼ 위해서 ì €ë�„ 처ì�Œ ì ‘í–ˆìŠµë‹ˆë‹¤.(작년 ë�°ë¸”ìŠ¤ìº í”„ ì œì™¸) 그래서 지금 ì €ì�˜ 수준ì—�ì„ ì�´ ì •ë�„ ë°–ì—� í• ìˆ˜ê°€ 없었습니다. --ì˜�ë�™










