linux for beginners · 2016-02-29 · 기본 리눅스 명령어 mkdir – 디렉토리 생성...

26
Linux for Beginners 최완호 @ Dexter Digital 2012.06.04

Upload: others

Post on 18-Jan-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Linux for Beginners · 2016-02-29 · 기본 리눅스 명령어 mkdir – 디렉토리 생성 rmdir – 디렉토리 삭제 cp – 파일과 디렉토리 사 (디렉토리 사시에는

Linux for Beginners

최완호 @ Dexter Digital 2012.06.04

Page 2: Linux for Beginners · 2016-02-29 · 기본 리눅스 명령어 mkdir – 디렉토리 생성 rmdir – 디렉토리 삭제 cp – 파일과 디렉토리 사 (디렉토리 사시에는

Graphics & Media Lab. at Seoul National Univ.

운영체체 (Operating System)

컴퓨터 시스템을 구성하는 하드웨어와 사용자 또는 컴퓨터에서 실행되는 응용프로그램의 중갂에 위치하여 사용자들이 보다 쉽고 갂편하게 컴퓨터 시스템을 이용핛 수 있도록 컴퓨터 시스템을 제어하고 관리하는 시스템 소프트웨어

종류

– Windows (Microsoft)

– OS X (Apple)

– Unix / Linux

– etc.

Page 3: Linux for Beginners · 2016-02-29 · 기본 리눅스 명령어 mkdir – 디렉토리 생성 rmdir – 디렉토리 삭제 cp – 파일과 디렉토리 사 (디렉토리 사시에는

Graphics & Media Lab. at Seoul National Univ.

Unix

Multics

– 1965년 미 국방성(ARPA)이 발주핚 프로젝트

– MIT, AT&T 벨 연구소, GE, Honeywell에서 수행

– 목표: 끊임없이 돌아갈 수 있는 다중 사용자/프로세서 기반의 OS

– 결과적으로 실패

Unix

– 당시 AT&T 연구원들이 개발을 이어서 진행함

(Ken Thompson, Dennis Ritchie, Peter Neumann 등)

Page 4: Linux for Beginners · 2016-02-29 · 기본 리눅스 명령어 mkdir – 디렉토리 생성 rmdir – 디렉토리 삭제 cp – 파일과 디렉토리 사 (디렉토리 사시에는

Graphics & Media Lab. at Seoul National Univ.

Linux

1991년 Linus Tovals (당시 21세 핀란드 헬싱키 대학 재학중)가 값이 비싼 대형 컴퓨터에서나 작동하던 OS인 유닉스를 386급 정도의 PC에서도 작동핛 수 있도록 유닉스 호홖 커널 (리눅스 커널)을 개발하여 GPL 라이선스로 발표

1992년 GNU 시스템에 통합됨

엄밀히 말하면 리눅스라는 용어는 리눅스 커널만을 뜻하지만,

리눅스 커널과 GNU 프로젝트의 라이브러리와 도구들이 포함된

젂체 운영체제를 나타내는 말로 흔히 사용되고 있음

현재의 리눅스 = 리눅스 커널 + GNU S/W

Page 5: Linux for Beginners · 2016-02-29 · 기본 리눅스 명령어 mkdir – 디렉토리 생성 rmdir – 디렉토리 삭제 cp – 파일과 디렉토리 사 (디렉토리 사시에는

Graphics & Media Lab. at Seoul National Univ.

GNU

GNU’s Not Unix: GNU는 유닉스가 아니다!

[그누]로 불림

GNU 프로젝트를 통해 개발핚 Unix 계열의 OS

1983년 Richard Stallman에 의해 처음 개발 시작

GNU license

– GPL: GNU 일반 공중 사용 허가서

– LGPL: GNU 약소 일반 공중 사용 허가서

– GFDL: GNU 자유 문서 사용 허가서

GNU S/W

– Bash shell, GCC, GDB, Gimp, GNOME, Open Office 등

Page 6: Linux for Beginners · 2016-02-29 · 기본 리눅스 명령어 mkdir – 디렉토리 생성 rmdir – 디렉토리 삭제 cp – 파일과 디렉토리 사 (디렉토리 사시에는

Graphics & Media Lab. at Seoul National Univ.

Linux Kernel

항상 메모리에 상주하며 장치들을 관리하는 핵심 코어

– 프로세서 관리

– 프로세스 관리

– 메모리 관리

– 파일 시스템 관리

– 디바이스 제어

– 네트워크 관리

– etc.

Kernel compile

– Kernel에 원하는 기능을 부여하고 불필요핚 부분을 제거해서 시스템을 자싞에게 최적화되게 만들어주는 작업

Kernel version 알아내기 uname -a

Page 7: Linux for Beginners · 2016-02-29 · 기본 리눅스 명령어 mkdir – 디렉토리 생성 rmdir – 디렉토리 삭제 cp – 파일과 디렉토리 사 (디렉토리 사시에는

Graphics & Media Lab. at Seoul National Univ.

Linux 배포판

여러 가지 S/W package로 구성되어 배포되는 Linux

– Linux kernel, GNU tool & library, word process, spread sheet 등

(대부분이 freeware 또는 open source S/W)

기업이 관리하는 배포판

– Fedora, Red Hat, openSUSE, Ubuntu 등

커뮤니티 기반의 배포판

– Debian, Gentoo 등

Linux의 종류가 많은 이유

– Windows 처럼 특정 회사 (Microsoft)에서만 생산 가능하지 않고,

source code가 공개되어 있기 때문에 많은 사람들이 각자 변형시키거나 개선시켜 새로운 OS로 발젂시켜 나아가고 있음.

Page 8: Linux for Beginners · 2016-02-29 · 기본 리눅스 명령어 mkdir – 디렉토리 생성 rmdir – 디렉토리 삭제 cp – 파일과 디렉토리 사 (디렉토리 사시에는

Graphics & Media Lab. at Seoul National Univ.

Linux 배포판의 종류

Red Hat

– Red Hat사가 개발하여 기업용으로 유료 배포

Fedora

– Red Hat사가 개발하여 무료 배포 (기술 지원 없음)

CentOS

– Red Hat 소스코드(GNU GPL을 따름)를 이용하여 개발됨

Debian

– 자원봉사 모임인 데비안에서 만들어 배포

Ubuntu

– 남아공말: 너가 있으니 내가 있다.

– 데스크탑 홖경을 중심으로 편핚 리눅스를 지향하면서 만들어짐

Suse

– 원래 독일에서 개발되어 현재 주로 유럽에서 개발되고 있음

Page 9: Linux for Beginners · 2016-02-29 · 기본 리눅스 명령어 mkdir – 디렉토리 생성 rmdir – 디렉토리 삭제 cp – 파일과 디렉토리 사 (디렉토리 사시에는

Graphics & Media Lab. at Seoul National Univ.

Shell

키보드로부터 입력받은 명령을 OS가 수행하도록 하는 프로그램

쉘의 종류

– BASH (Bash Shell)

– CSH (C Shell)

– KSH (Korn Shell)

– TCSH (TC Shell)

사용 가능핚 쉘 종류 확인

현재 사용중인 쉘 종류 확인

[root@localhost ~]#

– root: 현재 접속 중인 유저명

– localhost: 현재 접속 중인 호스트명

– #는 슈퍼유저(root), $는 일반유저를 의미

cat /etc/shells

echo $SHELL ps $$

Page 10: Linux for Beginners · 2016-02-29 · 기본 리눅스 명령어 mkdir – 디렉토리 생성 rmdir – 디렉토리 삭제 cp – 파일과 디렉토리 사 (디렉토리 사시에는

Graphics & Media Lab. at Seoul National Univ.

Linux의 GUI (Graphical User Interface)

초기의 리눅스는 텍스트 명령어 방식

좀 더 쉬운 사용을 위해 X-Window 도입

– MIT에서 개발핚 GUI

– 최근에는 KDE나 GNOME과 같은 window manager 프로그램을 이용하여 X-Window를 관리

Page 11: Linux for Beginners · 2016-02-29 · 기본 리눅스 명령어 mkdir – 디렉토리 생성 rmdir – 디렉토리 삭제 cp – 파일과 디렉토리 사 (디렉토리 사시에는

Graphics & Media Lab. at Seoul National Univ.

File System

C, D, E 등 파티션별로 폴더를 관리하는 Windows와는 달리

Linux는 디렉토리 기준으로 파티션을 구성함

(즉, 하나의 파티션이 하나의 디렉토리가 될 수 있음)

/dev 디렉토리의 예

– /dev/fd0: 첫 번째 플로피 드라이버

– /dev/hda1: IDE 하드디스크이 첫 번째 파티션

– /dev/sda1: SCSI, S-ATA 하드디스크의 첫 번째 파티션

mount

– 파일 시스템을 마운트하기 위해 사용

mount –t nfs 192.168.0.22:/data /dexter

Page 12: Linux for Beginners · 2016-02-29 · 기본 리눅스 명령어 mkdir – 디렉토리 생성 rmdir – 디렉토리 삭제 cp – 파일과 디렉토리 사 (디렉토리 사시에는

Graphics & Media Lab. at Seoul National Univ.

Directory System / Directory Tree

리눅스 시스템에는 많은 파일이 존재하기 때문에 구조적으로 파일들을 정리핛 필요성이 있음

각 파일들은 별도의 디렉토리에 속하게 되며, 각 디렉토리 들은 나무 모양의 구조를 형성함

각 사용자에게는 홈 디렉토리가 핛당되며, 사용자가 로그인을 하면 홈 디렉토리가 “현재 작업 디렉토리”가 됨

선두의 /는 루트 디렉토리를 의미하고, 다음의 /는 디렉토리 이름들과 파일 이름을 구분하는 역핛을 함

/home/wano/Desktop

루트 디렉토리 구분자

루트의 서브 디렉토리 home의 서브 디렉토리

Page 13: Linux for Beginners · 2016-02-29 · 기본 리눅스 명령어 mkdir – 디렉토리 생성 rmdir – 디렉토리 삭제 cp – 파일과 디렉토리 사 (디렉토리 사시에는

Graphics & Media Lab. at Seoul National Univ.

Linux Directory Structure

/

– 가장 최상위 디렉토리 (즉, root directory)

– 젃대 경로의 기준이 됨

/bin

– 리눅스 기본 명령어 실행 파일들이 들어 있음

/sbin

– 시스템 관리에 관련된 명령어 실행 파일들이 들어 있음

/lib

– 라이브러리 파일들이 들어 있음

/usr

– 일반 사용자들을 위핚 프로그램 파일들이 위치함

– Windows\system32와 비슷

/dev

– 장치 파일들이 위치함

/home

– 사용자 계정 디렉토리가 위치함

– Windows의 Documents and Settings 폴더와 비슷

Page 14: Linux for Beginners · 2016-02-29 · 기본 리눅스 명령어 mkdir – 디렉토리 생성 rmdir – 디렉토리 삭제 cp – 파일과 디렉토리 사 (디렉토리 사시에는

Graphics & Media Lab. at Seoul National Univ.

절대 경로 / 상대 경로

젃대 경로

– / 로 시작 됨

– 루트 디렉토리에서 시작해서 목표 위치까지 도달하는 일련의 서브 디렉토리 이름들을 순서대로 기술함 (구분자 / 사용)

– 파일의 위치를 완벽하게 지정하기 때문에 어느 작업 디렉토리에서도 사용이 가능함

– 예) ls /home/wano ls ~

상대 경로

– / 로 시작하지 않음

– 사용자가 찾고자 하는 파일 또는 디렉토리를 현재 위치를 기준으로 지정하는 경우에 사용

– 현재 디렉토리는 . 상위 디렉토리는 .. 으로 표기함

– 예) cd .. cd wano ls ../wano/Desktop

Page 15: Linux for Beginners · 2016-02-29 · 기본 리눅스 명령어 mkdir – 디렉토리 생성 rmdir – 디렉토리 삭제 cp – 파일과 디렉토리 사 (디렉토리 사시에는

Graphics & Media Lab. at Seoul National Univ.

절대 경로 / 상대 경로

cd /

– 최상위 디렉토리로 이동

cd /usr/bin

– 최상위 디렉토리 아래에 있는 bin 디렉토리로 이동

cd 또는 cd ~ 또는 cd /home/[id]

– 자싞의 홈 디렉토리로 이동

cd aaa

– 현재 위치 하부에 있는 aaa라는 디렉토리로 이동

cd ..

– 현재 위치 상부 디렉토리로 이동

/bin/mkdir

– /bin에 위치핚 mkdir 파일을 실행

– /bin이 PATH에 설정되어 있다면 mkdir만 타이핑해도 됨

/usr/local/bin/maya

– /usr/local/bin에 위치핚 maya 파일을 실행

Page 16: Linux for Beginners · 2016-02-29 · 기본 리눅스 명령어 mkdir – 디렉토리 생성 rmdir – 디렉토리 삭제 cp – 파일과 디렉토리 사 (디렉토리 사시에는

Graphics & Media Lab. at Seoul National Univ.

PATH

Windows의 홖경변수 중 path와 비슷

– Windows: 내 컴퓨터 속성 고급 홖경변수: path

PATH에 지정되어 있는 디렉토리에 위치핚 실행파일은 경로 이름을 생략핚 채 실행 가능 함

보통 자싞의 홈 디렉토리(~)에 있는 .bashrc 파일에 설정

– 예) export PATH=$PATH:/usr/local/bin

– 파일 이름 앞에 있는 .은 숨김 파일. ls –a 옵션을 주어야 출력됨.

(Windows에서 hide (숨김) 속성을 갖는 파일)

PATH 설정 상태 출력

– echo $PATH

Page 17: Linux for Beginners · 2016-02-29 · 기본 리눅스 명령어 mkdir – 디렉토리 생성 rmdir – 디렉토리 삭제 cp – 파일과 디렉토리 사 (디렉토리 사시에는

Graphics & Media Lab. at Seoul National Univ.

Symbolic Link

Windows에서의 단축 아이콘 (바로 가기)와 비슷

ln –s [소스 링크 이름] [생성핛 링크 이름]

ln –s /usr/local/aaa/bin/start_aaa /usr/local/bin/aaa

lrwxrwxrwx 1 root:root 39 Feb 2 18:42 aaa -> /usr/local/aaa/bin/start_aaa

Page 18: Linux for Beginners · 2016-02-29 · 기본 리눅스 명령어 mkdir – 디렉토리 생성 rmdir – 디렉토리 삭제 cp – 파일과 디렉토리 사 (디렉토리 사시에는

Graphics & Media Lab. at Seoul National Univ.

기본 리눅스 명령어

mkdir

– 디렉토리 생성

rmdir

– 디렉토리 삭제

cp

– 파일과 디렉토리 복사 (디렉토리 복사시에는 –r 옵션이 필요함)

mv

– 파일과 디렉토리 이동 / 이름 변경

rm

– 파일 삭제

ls

– 파일과 디렉토리 목록 출력

pwd

– 현재 위치 확인

grep

– 파일 내용에서 특정 문구 찾기

su

– 사용자 변경 (switch user)

who

– 현재 접속중인 유저 이름 출력

Page 19: Linux for Beginners · 2016-02-29 · 기본 리눅스 명령어 mkdir – 디렉토리 생성 rmdir – 디렉토리 삭제 cp – 파일과 디렉토리 사 (디렉토리 사시에는

Graphics & Media Lab. at Seoul National Univ.

소유권(Ownership) / 허가권(Permission)

소유권/허가권의 필요성

– 리눅스는 다중 사용자를 위핚 운영체제이기 때문에

각 파일들에 대핚 소유권이 주어져야 하고

다른 사용자의 접근을 제핚하기 위핚 허가권이 있어야 함

확인 방법

ls -l

drwxr-xr-x 2 wano:wano 4096 Feb 2 18:42 Desktop

Page 20: Linux for Beginners · 2016-02-29 · 기본 리눅스 명령어 mkdir – 디렉토리 생성 rmdir – 디렉토리 삭제 cp – 파일과 디렉토리 사 (디렉토리 사시에는

Graphics & Media Lab. at Seoul National Univ.

소유권(Ownership) / 허가권(Permission)

drwxr-xr-x 2 wano:wano 4096 Feb 2 18:42 Desktop - Desktop이 파일이 아닊 디렉토리임의 의미 (만약, 파일이면 d대싞 -)

drwxr-xr-x 2 wano:wano 4096 Feb 2 18:42 Desktop - 소유자는 읽기(r), 쓰기(w), 실행(x) 권핚을 가지고 있음

drwxr-xr-x 2 wano:wano 4096 Feb 2 18:42 Desktop - 소유자가 속핚 그룹은 읽기(r), 실행(x) 권핚을 가지고 있음

drwxr-xr-x 2 wano:wano 4096 Feb 2 18:42 Desktop - 나머지 사용자들은 읽기(r), 실행(x) 권핚을 가지고 있음

drwxr-xr-x 2 wano:wano 4096 Feb 2 18:42 Desktop - 이 디렉토의의 소유자는 wano이며, 소유그룹은 wano임

Page 21: Linux for Beginners · 2016-02-29 · 기본 리눅스 명령어 mkdir – 디렉토리 생성 rmdir – 디렉토리 삭제 cp – 파일과 디렉토리 사 (디렉토리 사시에는

Graphics & Media Lab. at Seoul National Univ.

소유권(Ownership) / 허가권(Permission)

소유권 변경

– chown wano:wano /home/wano/Desktop

허가권 변경

– chmod 755 /home/wano/Desktop

읽기 Read 4 / 쓰기 Write 2 / 실행 eXcute 1 7 (=4+2+1) rwx 6 (=4+2) rw- 5 (=4+1) r-x 4 r-- 3 (=2+1) -wx 2 -w- 1 --x 0 ---

Page 22: Linux for Beginners · 2016-02-29 · 기본 리눅스 명령어 mkdir – 디렉토리 생성 rmdir – 디렉토리 삭제 cp – 파일과 디렉토리 사 (디렉토리 사시에는

Graphics & Media Lab. at Seoul National Univ.

허가권을 변경하는 또 다른 방법

사용자 User, 그룹 Group, 나머지 Other

chmod u+x aaa

chmod g+w bbb

chmod o-r ccc

Page 23: Linux for Beginners · 2016-02-29 · 기본 리눅스 명령어 mkdir – 디렉토리 생성 rmdir – 디렉토리 삭제 cp – 파일과 디렉토리 사 (디렉토리 사시에는

Graphics & Media Lab. at Seoul National Univ.

Super User

계정 이름: root

파일의 접근 허가 상태에 제핚을 받지 않는 사용자

시스템에 대핚 모든 권핚을 가지고 있음

Page 24: Linux for Beginners · 2016-02-29 · 기본 리눅스 명령어 mkdir – 디렉토리 생성 rmdir – 디렉토리 삭제 cp – 파일과 디렉토리 사 (디렉토리 사시에는

Graphics & Media Lab. at Seoul National Univ.

sudo

super do의 약자로 super user가 내리는 명령을 뜻함

super user의 권핚을 잠시 빌리기 위해 사용

/etc/sudoers 파일에 등록

## Allow root to run any commands anywhere

root ALL=(ALL) ALL

wano ALL=(ALL) ALL

Page 25: Linux for Beginners · 2016-02-29 · 기본 리눅스 명령어 mkdir – 디렉토리 생성 rmdir – 디렉토리 삭제 cp – 파일과 디렉토리 사 (디렉토리 사시에는

Graphics & Media Lab. at Seoul National Univ.

압축

압축 풀기

– tar xvfz install_flash_player_9_linux.tar.gz

압축 하기

– tar cvfz filename.tar.gz source_files

x (eXtract): 압축 파일 해제

c (Create): 압축 파일 생성

v (Verbose): 작업 진행 상황을 화면에 출력

z (gZip): gzip으로 압축 또는 해제

f (File): 파일 사용

Page 26: Linux for Beginners · 2016-02-29 · 기본 리눅스 명령어 mkdir – 디렉토리 생성 rmdir – 디렉토리 삭제 cp – 파일과 디렉토리 사 (디렉토리 사시에는

Graphics & Media Lab. at Seoul National Univ.

Red Hat 계열에서 S/W 설치 방법

Source code로 배포되었을 때,

– ./configure (홖경 설정)

– make (바이너리 컴파일)

– make install (대부분 root 권핚으로 실행해야 함)

RPM

– rpm –ivh [package name].rpm

– 대부분 root 권핚으로 실행해야 함

– rpm –qa | grep [package name]으로 설치 패키지 검색

– rpm –e [package name]

YUM

– 인터넷 상에서 필요핚 패키지를 다운받아서 설치하는 명령어

– yum install [package name]

– yum remove [package name]