1 / 64

LINUX

LINUX. STUDY #01. SNUCSE GUARDIAN @ Mistrie 2012. 04. 23. 00. WHO IS Mistrie ?. WHO IS Mistrie ?. 컴퓨터공학부 11 학번 올해 19 세 가디언 신입회원 (?) 시간이 남아돌아서 (?) 스터디 진행중 ppt 잘 만드는 능력은 없음 스터디에 많은 걸 기대하지는 맙시다. 01. WHAT IS LINUX?. WHAT IS LINUX?. 그 전에 .. OS 가 뭔지 아시나요 ?.

Download Presentation

LINUX

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. LINUX STUDY #01 SNUCSE GUARDIAN @ Mistrie 2012. 04. 23.

  2. 00 WHO IS Mistrie?

  3. WHO IS Mistrie? • 컴퓨터공학부 11학번 • 올해 19세 • 가디언 신입회원(?) • 시간이 남아돌아서(?)스터디진행중 • ppt잘 만드는 능력은 없음 • 스터디에 많은 걸 기대하지는 맙시다

  4. 01 WHAT IS LINUX?

  5. WHAT IS LINUX? 그 전에.. OS가 뭔지 아시나요? OS(Operating System) - 하드웨어 자원을 편리하고 효율적으로 사용할 수 있도록 사용자-하드웨어 사이를 중계하는 프로그램 - 크게 서버계열 / 클라이언트 계열로 분류 - 서버계열 : Solaris, linux, FreeBSD, Win 2003 등 - 클라이언트 : Win 7, Mac OS 등

  6. WHAT IS LINUX? Linux란? • 리누스토발즈개갞끼(?) • 1991년 개발, 무료 • unix와 유사한 환경을 제공하면서 개인컴퓨터에서 동작 • 오픈소스 형식 : 누구나 수정, 추가, 배포가 가능

  7. WHAT IS LINUX? Linux란? • 현재 다양한 Linux 배포판이 존재 • 대표적으로 Ubuntu, Fedora, RedHat, Debian등

  8. 02 VIRTUAL MACHINE

  9. VIRTUAL MACHINE 가상머신? • 하드웨어가 아니면서도 서버와 동일한 기능을 • 수행하는 소프트웨어 • 물리적 서버와 마찬가지로 OS와 어플을 실행하지만 • 이미지로 관리, 하드웨어 자원을 분배 가능 • - 대표적으로 VMWare, Virtualbox등이 있음

  10. VIRTUAL MACHINE

  11. VIRTUAL MACHINE 가상머신의 특징과 장점 • 하드웨어에 대해 독립적 • 생성된 가상머신이 완전히 격리됨, 확실한 보안 유지 • 파일로 저장 : 신속한 구축, 이동이 가능 • 한 대의 서버에서 여러 VM을 동시에 실행가능

  12. VIRTUAL MACHINE 왜 언급했을까? • 우리는 리눅스를 배워야 한다 • 그런데 게임도 해야 한다(?) • 그래서 윈도우를 밀어버릴 수는 없다 • 결론 : VM으로 리눅스를 깔자

  13. 03 SERVER : MARTINI

  14. MARTINI - 컴퓨터공학부 숙제 서버 - 급할 때(?) 쓰기에 가장 좋음 - 성능 정말 좋아요 16 cores, 2.27GHz, RAM 12GB, Debian GNU Linux 2.6

  15. MARTINI - putty로 접속가능 : martini.snucse.org - id/pw는 스누씨 id/pw와 동일 • root 권한이 필요한 경우를 제외하면 실습은 • 모두 마티니에서 이루어질 예정

  16. 04 FILE & DIRECTORY

  17. FILE & DIRECTORY 파일? - 디스크에 데이터를 저장하는 단위 - 파일의 구성요소 파일명 inode : 파일에 대한 정보를 가지고 있음 storage : 실제 데이터가 저장되는 장소 - storage에 저장되는 데이터에 따라 종류 구분

  18. FILE & DIRECTORY * 일반 파일 - 일반적으로 생기는 파일 - storage에 원하는 데이터가 들어있음 * 디렉토리 파일 • storage에 파일의 이름과 파일에 대한 정보를 • 저장하는 inode번호를 가진 파일 - mkdir명령어로 생성

  19. FILE & DIRECTORY * 디바이스 파일 • 장치를 제어하는 커널의 디바이스 모듈과 • 연결되도록 설정된 파일 • 이 파일에 데이터를 저장하면 • 오디오 디바이스 – 소리로 출력 • 터미널 – 해당 터미널로 내용 출력

  20. FILE & DIRECTORY * 심볼릭 링크 파일 • storage에 연결되어 있는 파일의 경로를 • 가지고 있는 파일 • 이 파일을 호출하면 실제 storage에 저장된 • 경로명을 이용하여 해당 경로의 정보를 읽어 • 저장된 내용을 가져오게 함

  21. ls - 디렉토리 내의 파일을 확인할 수 있음 - ls –a : 숨겨진 파일을 확인할 수 있음 • ls –l : 좀 더 많은 정보를 확인할 수 있음

  22. ls -l rynn5419@martini:~$ ls -al 합계 144 drwx------ 13 rynn5419 cseusers 4096 2012-04-23 13:21 . drwxr-x--x 1101 13018 13018 36864 2012-04-16 01:18 .. -rw------- 1 rynn5419 cseusers 3143 2011-04-23 08:43 .bashrc drwx------ 3 rynn5419 cseusers 4096 2012-03-09 00:46 .irssi -rw------- 1 rynn5419 cseusers 675 2011-03-05 00:45 .profile drwxr-xr-x 2 rynn5419 cseusers 4096 2012-01-18 18:43 .vim -rw------- 1 rynn5419 cseusers 23210 2012-04-23 13:15 .viminfo -rw-r--r-- 1 rynn5419 cseusers 452 2012-04-12 15:32 .vimrc drwxr-xr-x 2 rynn5419 cseusers 4096 2012-04-23 02:59 algorithm drwxr-xr-x 6 rynn5419 cseusers 4096 2012-02-07 16:09 cpr drwxr-xr-x 10 rynn5419 cseusers 4096 2012-03-06 12:50 java drwxr-xr-x 5 rynn5419 cseusers 4096 2012-03-13 15:41 study drwxr-xr-x 3 rynn5419 cseusers 4096 2012-04-18 16:17 tmp

  23. ls -l • 어떤 파일이 실행 파일인지 디렉토리인지 • 데이터 파일인지 어떻게 구분할 수 있을까?

  24. ls -l drwxr-xr-x 5 rynn5419 cseusers 4096 2012-03-13 15:41 study drwxr-xr-x : TypePermisson 5 : Links rynn5419 : Owner cseusers : Group 4096 : Size 2012-03-13 15:41 : Modify Time study : File name

  25. ls -l * 1번째 필드(drwx r-x r-x) • 1번째 문자 : 파일의 종류를 표시 (-) : 일반 파일 / (d) : 디렉토리/ (l) : 심볼릭 링크 파일 (c) : 문자 디바이스 파일 / (b) : 블록 디바이스 파일 • 나머지 문자들은 3개씩 끊어서..

  26. ls -l * 1번째 필드(drwx r-x r-x) • rwx, r-x, r-x로 세 분류의 사용자의 허가권 정의 첫 번째 rwx : 파일의 주인에 대한 허가권 설정 두 번째 r-x : 그룹에 대한 허가권 설정 세 번째 r-x : 그 외 사용자에 대한 허가권 설정 (r) : 읽기 / (w) : 쓰기 / (x) : 실행

  27. ls -l * 2번째 필드(5) • 링크의 개수 : inode를 참조하고 있는 파일 수 • 디렉토리는 기본적으로 “.”와 “..”가 참조 •  디렉토리의 링크 개수는 2 이상 * 3번째 필드(rynn5419) • 이 파일의 소유자의 사용자명

  28. ls -l * 4번째 필드(cseusers) • 이 파일의 소유자가 소속된 그룹명 * 5번째 필드(4096) • 파일의 크기 • 일반 파일 : 저장되어 있는 데이터의 바이트수 • 디렉토리: 512바이트 단위로 할당

  29. ls -l * 6번째 필드(2012-03-13 15:41) • 파일이 최종 수정된 시간정보 * 7번째 필드(study) • 파일의 이름

  30. chown - 파일의 소유권을 변경하는 명령어 • 변경 전과 변경 후의 계정의 권한이 있어야 가능 - chown <계정명]>[:그룹명] <파일명>

  31. chmod - 파일의 허가권을 변경하는 명령어 - chmod <mode> <files> - 파일의 허가권은 3가지로 분류됨 파일의 주인, 주인의 그룹, 그 외의 사용자

  32. chmod - mode 설정 <누구에게> <권한을 주거나 뺏는다> <어떤 권한을> 파일의 주인 (u) + 읽기(r) 그룹 (g) - 쓰기(w) 그 외 사용자 (o) = 실행(x) 전체 (a) ex) chmodug+x file1 file1에 대해 파일의 주인과 그 그룹에 실행 권한을 추가 ex) chmod o-rwx file2 file2에 대해 그 외 사용자에 모든 권한을 제거

  33. 05 LINUX COMMANDs

  34. LINUX COMMNADs - 약 1000개 이상 - 모든 걸 가르치지는 않는다 - 리눅스 명령어 다 외워오면 빵 사드림(?) - 그래서 존재하는 것이 man

  35. man - command[-option] <argument>의 형태 - 모든 걸 외울 수 없다 • man : 리눅스의 모든 명령어에 대한 사용법을 • 알려주는 온라인 매뉴얼 - man <command> 형식으로 사용가능

  36. man - man grep으로 검색

  37. man - man –f <command> command에 대해 어떤 매뉴얼이 제공되는지 매뉴얼 리스트를 확인할 수 있음 • http://man.kldp.org 한글화된 매뉴얼을 제공

  38. pwd - pwd : 현재 디렉토리의 위치를 보여줌 - pwd –L : 상대경로 // pwd –P : 절대경로 • ex) rynn5419@martini:~$ pwd –P • /home/csehome/rynn5419

  39. cd - cd : 다른 디렉토리로 이동할 수 있게 한다 ex) cd /usr/bin : /usr/bin 디렉토리로 이동 cd : 홈 디렉토리로 이동 cd .. : 상위 디렉토리로 이동 cd / : 루트 디렉토리로 이동

  40. mkdir - mkdir<디렉토리명>: 새로운 디렉토리를 만든다 • mkdir –m <권한> <디렉토리명> • 권한을 설정해서 디렉토리를 만들 수 있음 • (현재 디렉토리 아래에 /linux가 없을 때) • mkdirlinux/hw1  안 된다 • mkdir –p linux/hw1  디렉토리가2개 만들어짐 • (linux디렉토리가 만들어지고 그 아래 hw1 생성)

  41. rmdir - rmdir<디렉토리명>: 비어있는 디렉토리를 삭제 • 디렉토리 안에 파일이 있으면 rmdir을 쓸 수 없음 • 디렉토리 안의 파일까지 같이 지우고 싶다면.. • rm –rf<디렉토리명> 명령어를 사용

  42. hostname, date - hostname : 접속하고 있는 호스트 이름 확인 rynn5419@martini:~$ hostname martini - date : 시스템의 현재 시간 표시 rynn5419@martini:~$ date 2012. 04. 23. (월) 04:41:55 KST - root 권한이 있다면 시스템 시간을 변경 가능

  43. whoami, id - whoami : 현재 로그인하고 있는 계정명을 출력 rynn5419@martini:~$ whoami rynn5419 • id : 현재 로그인하고 있는 계정에 대한 계정명과 • 등록된 그룹명들을 출력 rynn5419@martini:~$ id uid=12345(rynn5419) gid=1234(cseusers) groups=123(cseusers)

  44. who • who : 현재 시스템에 로그인하고 있는 전체 • 사용자 정보를 출력 rynn5419@martini:~$ who thsehgus pts/3 2012-04-13 08:12 (147.46.xxx.xxx:S.0) rynn5419 pts/45 2012-04-23 11:24 (147.47.xxx.xx) dandelin pts/38 2012-02-29 01:45 (14:S.0) - 계정명– 터미널명– 접속 시간 – ip - pts/xx 는 localhost의 desktop 환경에서 오픈된 터미널

  45. cat - 파일 내용을 출력 - cat [-option] <filename> rynn5419@martini:~$ cat 1.c #include <stdio.h> int main(){ printf(“hello world!\n”); return 0; }

  46. cat - cat > filename 으로 새 파일을 만들 수 있다 rynn5419@martini:~$ cat > 2.c #include <stdio.h> int main(){ printf(“hello world!\n”); return 0; } - 입력을 완료하면 ctrl + d를 입력해 입력을 끝낸다

  47. cat - cat 명령어를 사용해 2개의 파일을 병합 가능 - cat 1.c 2.c > 3.c rynn5419@martini:~$ cat 1.c #include <stdio.h> rynn5419@martini:~$ cat 2.c int main(){ printf(“hello world!\n”); return 0; } rynn5419@martini:~$ cat 1.c 2.c > 3.c

  48. cat - cat –n : 출력할 때 줄 번호를 같이 출력 - cat –b : 출력할 때 ‘비어있지 않은’ 줄 번호를 출력 rynn5419@martini:~$ cat –n 1.c 1 #include <stdio.h> 2 3 int main(){ printf(“hello world!\n”); 5 return 0; 7 8} rynn5419@martini:~$ cat –b 1.c 1 #include <stdio.h> 2 int main(){ 3 printf(“hello world!\n”); 4 return 0; 5}

  49. more - 파일 내용을 화면크기 단위로 출력 - more [파일명] - more 상태에서 쓸 수 있는 명령 <spacebar>: 다음 페이지로 한 화면을 넘김 <enter> : 한 줄씩 뒤로 넘김 h : 사용할 수 있는 명령의 요약정보 확인 /pattern : 지정한 패턴을 포함한 페이지를 출력 q : more에서 빠져나옴

  50. head, tail - head : 파일의 첫 줄부터 일부분을 출력 - tail : 파일의 끝 줄부터 일부분을 출력 - head(tail) [-라인수] [파일명] - [-라인수]를 입력하지 않으면 기본 10줄이 출력

More Related