U E D R , A S I H C RSS

�블스캠프2003/넷째날/Linux실습

1. � 페�지는?

제로 페�지 �블스 캠프 4�째� 하는 리눅스를 신입�들� 간단히 체험해 보는 기회를 가지게 하는 페�지입니다.

2. 작성�

02 임��Yggdrasil
�랜 재니가 맡기로 하였으나 MT 가는 바람� 제가 얼떨결� 맡게 �었습니다. 제가 거� 모르는 �태�기� 예제 같� 것� 못 하겠고, 그냥 따�하기... 정�만 � 것 같습니다.

3. 리눅스� 장�

척 보기� 리눅스는 윈�우 처럼 비쥬얼하지� 않고, 참 심심하게(?) �겼��� 불구하고 사용하는�, 그�는 아래와 같� 장�들� 있습니다.
  • 오픈 소스로서ì�˜ 장ì �
    • 소스코드가 공개ë�˜ì–´ 변형ì�´ 가능
    • 저작권 비용 필요없ì�Œ
    • 소스가 공개ë�˜ì–´ 버그 수정ì—� 사용ìž�ê°€ 참여할 수 있ì�Œ
    • 개발업체가 ë§�í•´ë�„ 소프트웨어는 ì¡´ì†�ë�  수 있ì�Œ
    • 소스코드로 ì�¸í•´ 다른 환경ì�˜ 시스템 통합시ì—� 유연함
  • 리눅스ì�˜ 장ì �
    http://www-903.ibm.com/kr/linux/value/advantage/
    • 제가 í�¼ì™€ì„œ ì“°ëŠ�니 ì°¨ë�¼ë¦¬ ë§�í�¬ë¥¼ 걸어ë‘�는 편ì�´ 나ì�„ ê±° 같네요.

4. 접� 프로그램

putty Client
여기서 다운 받아 실행한 후, Protocol� SSH로 하고 Hostname� zeropage.org로 하여 접�하세요. 그리고 부여받� id와 비밀번호를 입력하면 �니다.

5. 실습

5.1. 명령어 사용해보기

  • mkdir (디렉토리 만들기)
    • mkdir (디렉토리)
      • 예)cd temp_file
  • rmdir (디렉토리 지우기)
    • rmdir (디렉토리)
      • 예)rm temp_file
  • cd (디렉토리 ì�´ë�™)
    • cd (디렉토리)
      • 예)cd temp_file
    • cd .. 한 단계 ìƒ�위 디렉토리로 ì�´ë�™í•œë‹¤.
      • 주ì�˜) 반드시 cd 다ì�Œ 한 칸 ë�„어야 함.
  • ls (파ì�¼ 보기)
    • ls -l (ìž�세히 보여준다.)
    • ls -1 (한 줄ì—� 하나씩 보여준다.)
    • ê·¸ 외ì—� 다양한 옵션ì�´ 있다. 옵션ì�„ 여러개 한꺼번ì—� 쓸ë•� ls -1l ì‹�으로 쓴다.
  • cp (카피)
    • cp (파ì�¼1) (파ì�¼2) => 파ì�¼1ì�„ 파ì�¼2란 ì�´ë¦„으로 카피한다.
      • 예) cp aaa.txt bbb.txt
    • cp 파ì�¼1 temp_file => 파ì�¼1ì�„ temp_file로 카피한다.
    • cp 파ì�¼1 ../temp_file => 파ì�¼1ì�„ 현재ì�˜ ìƒ�위 디렉토리ì�˜ 하위 디렉토리ì�¸ temp_file로 카피한다.
  • rm (파ì�¼ 지우기)
    • rm (파ì�¼1) 파ì�¼1ì�„ 지운다.
  • mv (파ì�¼ 옮기기)
    • cp와 비슷하지만 ì›�본ì�´ 지워진다.
    • mv aaa.txt ccc.txt => aaa.txt를 ccc.txt로 ì�´ë¦„ì�„ 바꾸는 ìš©ë�„로 쓸 수 있다.
    • mv aaa.txt ./temp_file => aaa.txt를 temp_fileì�´ëž€ 하위 디렉토리로 옮긴다.
  • man (매뉴얼)
    • 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ì�˜ 권한만 준다.


SeeAlso linux필수명령어

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
지금 해보고 있습니다.. 재밌겠네요.. 내년��� 해보면 좋� 것 같습니다.^^; --창섭

확실히 명령어를 하나씩 가르� 주는 것� 한계가 있다고 봅니다. 그러나 제가 아는 게 없어서 �런 �으로 밖� 못 하겠습니다. 저 역시 리눅스 같� 것� 접한 �� 거� 없고, �번 �블스캠프를 위해서 저� 처� 접했습니다.(작년 �블스캠프 제외) 그래서 지금 저� 수준�선 � 정� 밖� 할 수가 없었습니다. --��

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:28:56
Processing time 0.0119 sec