[beginning] Linux & vi editor

Slides:



Advertisements
Similar presentations
Apr. 25, 2013 Laboratory of Systems Medicine BASIC LINUX COMMANDS.
Advertisements

Linux1 Linux 개요 Linux 방문하여 홈페이지 등록하기 Vi 편집해 보기. Linux2 개요  Linux 란 ? 1991 Linus Benedict Torvalds 가 만든 Unix 의 한 버전 GNU(GNU is Not Unix) » 프로그램이나 정보의.
1 장 Unix/Linux 소개 1 Helpers. 1 장 내용 1. 왜 유닉스인가 ? 2. 유닉스 시스템 구조 3. 유닉스 역사 및 버전 4. 리눅스 설치 ( 별도 2 시간 실습 ) 5. 사용 환경 6. 사용자 계정 관리 Unix/Linux 2.
SPARCS 10 이 가 영 기본 UNIX 명령어. 일단 로그인 ! Linux login 시 계정을 입력하거나 root 를 입력 Root -> # 일반 사용자 -> $ 패스워드 : echo 기능을 꺼서 볼 수 없다. 대소문자 구분 패스워드 처음 설정 시 : ~$ passwd.
KAIST 09 SPARCS 10 안재만 (Kuss).  OS  Kernel & Shell  OS Layer  Linux  Linux / GNU  Linux 역사  Linux 배포판  Linux Directories.
쉘 스크립트와 cron coearth, george.
Root File System 충북대학교 지능로봇연구실.
시작부터 끝까지 진지한 궁서체로 진행하는 완벽한 주입식의 하드코어한 리눅스/장난감 세미나
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
UNIX 기초 UNIX 기초 UNIX 기초.
1장 유닉스 소개.
Linux University of Seoul Computer Science Park Jong wook
리눅스 실습 정성훈.
컴퓨터 네트워크 실습.
Unix(Linux) shell programming
크로스 컴파일 환경 구축.
디렉토리 다루기 ㅎㅎ 유닉스 파일 시스템 현재 디렉토리 확인 : pwd 디렉토리 이동 : cd
UNIX의 중급 명령어 UNIX의 고급 명령어 연습 문제
Chapter 11 The C Shell.
Minicom,tftp,nfs설정,vnc설정
1 유닉스 시스템 프로그래밍 개요.
 13장. 배시쉘 프로그래밍.
리눅스와 보안 PLUS 오태호.
소개: Unix란 무엇인가? 숙명여대 창병모 2009/09.
Linux 9.X 기초에서 활용까지 Chapter 09 쉘(Shell).
유닉스 이론과 실습 √ 원리를 알면 IT가 맛있다 컴퓨터정보계열 이광규.
UNIX Unbounded A Beginning Approach
임베디드 리눅스 시스템의 기본 개념 강의 목표 내용 임베디드 리눅스 시스템의 기본 개념과 주제 제시 1. 임베디드 시스템
목차 커널의 개념 및 기능 커널 포팅 램디스크.
Linux/UNIX Programming
Linux/UNIX Programming
UNIX Unbounded A Beginning Approach
컴퓨터 네트워크 실습.
Linux/UNIX Programming
리눅스 명령어 실습 임베디드 시스템 I.
제2장 유닉스/리눅스 사용.
Linux Compile.
리눅스 기본 명령어 기본 명령어 명령어 기능 사 용 예 date 날짜 및 시간을 확인하고 생성.
Internet Protocol and Programming
정보검색 환경세팅 및 쉘스크립트 맛보기 IS lab. 김건영.
Beginning Linux Programming
제 4 강 운영체제 개요 및 리눅스 실습.
Crontab.
상지대학교 컴퓨터공학과 고광만 Lecture 01: 유닉스/리눅스 소개 상지대학교 컴퓨터공학과 고광만
6. 파일 관리. pwd(print working directory)와 cd(change directory) ls(list)
제4장 유닉스 쉘 숙명여대 창병모 2011 가을.
2018 봄학기 Pusan National University School of CSE
4장 서버 구축을 위해 알아야 할 핵심 개념과 명령어
유닉스 개요 및 기본 사용법 ㅎㅎ 유닉스 개요 유닉스 시스템 접속 방법과 명령 사용법.
VI Editor 부서 : 연구소 이름 : 노재용.
Internet Protocol and Programming
Linux/UNIX Programming
운영체제 RaspberryPi Sejin Oh.
Itbank solaris Pm 4:00 class 김 정 훈
Vim editor (1/4) 김선영 버 전: 버 전: 인사이트 출판사 가메출판사 저자홈페이지.
editing program files with vi 기본적인 Linux commands
Linux/UNIX Programming
6장 콘 셸 뇌를 자극하는 Solaris Bible.
시스템 인터페이스 Lab2 X-window 및 명령어 사용.
Unix 방문(접속하여 로그인) 하기 수퍼 유저 되어 사용자 계정 만들기 Unix의 아파치 웹 서버에 홈페이지 등록하기
Telnet 을 활용한 Linux 메뉴얼 오두환.
Chapter 12 파일 시스템 이해 Solaris1 . 파일 타입
Command line tools 한국어 정보의 전산 처리
시스템 인터페이스 Lab#5 쉘 실습.
Internet Protocol and Programming
제4장 유닉스 쉘 숙명여대 창병모
제8장 C 쉘 창병모
Linux/UNIX Programming
Linux/UNIX Programming
Intelligent software Lab. 전재원
Presentation transcript:

[beginning] Linux & vi editor Nov. 2010 http://suite.tistory.com/entry/beginning-Linux-vi-editor

목차 Linux history Shell Linux Directory Linux Command Redirect & Pipe Vi(Visual) Editor

1. 리눅스 히스토리 Unix vs linux 유닉스와 리눅스는 다르다? 유닉스는 1970년대 초 C 언어 기반으로 만들어짐 이후 기업 ,단체,대학들에 개발하며 발전 대표적인 벤더의 UINX 이름 HP : Hp Unix IBM : AIX Oracle(sun) : solaris 그리고….들어본 단어 System V ,BSD POSIX ….. http://blog.naver.com/jyh8572?Redirect=Log&logNo=120098211541

1. 리눅스 히스토리 리눅스 배포판 사용자가 쉽게 사용하도록 커널을 가지고 패키지화 linux 1991년 리누스 토발즈(linus Torvalds)가 unix 기반으로 오픈소스 Kernel 공개 v0.01 부터 현재 v2.6.* (2003년) - UNIX와 반대의 자유소프트웨어 GNU프로젝트(Gnu is Not Unix) : 1984년~ linux = 리누스 토발즈의 커널 + GNU (그누) 소프트웨어(c컴파일러,vi...) -> 이후 오픈 소스를 세계의 개발자가 참가하여 개발 리눅스 배포판 사용자가 쉽게 사용하도록 커널을 가지고 패키지화 Redhat(fedora,centos , Enterprise), 한컴리눅스 , Debian , Suse , 우분투….

2. Shell 쉘이란? 커널 쉘 사용자와 커널 사이 중간 역할 담당 사용자가 입력한 명령어(ls,cp…)를 실행해줌(fork() ,exec()이용) 대표적인 쉘로 bourne shell , c shell , korn shell , bash shell /etc/passwd 에 최초 로그인시 사용할 쉘 명시되어있음 -> shell script 실행 변경가능 ex) 맨 첫줄에 #!/bin/csh windows 의 쉘은? 하드웨어 쉘 커널

2. Shell 알아야 할 환경 변수 알아야 할 쉘 시작(기동실행) 파일 $>env 입력하면 현재 내가 사용하고 있는 shell의 환경변수가 출력됨 $SHELL : 내가 현재 사용하고 있는 쉘 $PATH : 명령어의 path 정보 앞에서부터 차례로 입력 $LANG , $LC_ALL: 내 쉘의 char-set 정보 ( $LANG < $LC_ALL이 우선순위 높음 ) ex) alias utf8='export LC_ALL=ko_KR.utf8' 알아야 할 쉘 시작(기동실행) 파일 쉘 마다 다름 bash : .bash_profile , .bashrc csh : .cshrc korn : .profile

3. Linux 주요 Directory /etc 리눅스 운영 / 응용프로그램등의 환경 정보 파일이 모여있음 /etc/passwd , /etc/hosts , /etc/xinetd.d /bin , /usr/bin , /sbin , /usr/sbin 리눅스 명령어 모음 /var 리눅스 데이터 모음(로그, 메일등…) /var/log/secure , /var/log/ messages /home 일반 사용자 홈 디렉터리 /lib C 라이브러리 모음 /tmp 임시디렉터리 (일반사용자로 Write가능)

Linux 주요 Command – 알아야 할 명령어들 4. Linux 주요 Command – 알아야 할 명령어들 ls (list) 파일 리스트 출력 수많은 옵션이 존재 $>ls –ltr Ex) drwxrwxr-x 5 ir ir 4096 10월 19 11:24 abc -rw-rw-r-- 1 root ir 203 12월 23 2009 test.sql cd (change directory) 디렉터리 이동 상위 ../ 상대 path ../dir 절대 path /dir cd ~ : 사용자의 홈디렉터리 이동

Linux 주요 Command – 알아야 할 명령어들 4. Linux 주요 Command – 알아야 할 명령어들 cp (copy) 파일 복사 옵션 -r , -R 디렉토리 전체 복사 mv(move) $>mv <source> <target> 파일 이동 , 디렉토리 모두 가능 man (manual) 명령 매뉴얼 보기 $> man rm rm (remove) 파일 삭제 옵션 : -r 하위 디렉토리 포함 삭제 , -f 강제 삭제 rmdir : 디렉토리만 삭제 <-> mkdir cat (concatenate) 파일 내용출력 echo 스트링또는 변수 값을 출력 $>echo $SHELL sleep 초단위 sleep uname –a 서버 네임 (cpu bit , os name)

Linux 주요 Command – 알아야 할 명령어들 4. Linux 주요 Command – 알아야 할 명령어들 touch : 빈파일생성 chmod : 파일의 권한 설정: 숫자 설정방식이 유용함 , -R 옵션은 하위 포함 U(user) , G(group) , O(other) rwx : read(4) , write(2) , excute(1) 예제) 파일 소유자는 읽기와 실행권한 , 그룹에는 쓰기권한 , Other 에는 권한 없음 $> chmod 520 <testfile> chown : 파일의 소유권 설정 모든 파일에는 소유자와 그룹값이있음 , -R 옵션은 하위 포함 예제 실행 쉘이 root권한일때 test.sql 파일의 소유자를 root로 변경 $> chown root:irteam test.sql pwd (print working directroy) : 현재 디렉터리 출력 whereis , which 명령어의 위치를 찾아줌 w, who : 현재 서버에 접속된 사용자 정보 접속시간 , soruce ip , idle 타임… uptime 서버의 부팅후 수행시간 cpu Load 정보

Linux 주요 Command – 알아야 할 명령어들 4. Linux 주요 Command – 알아야 할 명령어들 top (windows의 작업관리자) 현재 서버의 사용하는 프로세스 정보 cpu 정보 출력 h입력하면 추가 옵션 정보 설정가능 -> s : change delay 타입 : 1 sar : 시스템의 사용량 30초 단위로 출력 (/var/log/sa/로그파일기록으로 1~2주 누적되었있음) sar –r : 메모리 정보 출력

Linux 주요 Command – 알아야 할 명령어들 4. Linux 주요 Command – 알아야 할 명령어들 ps : 현재 서버의 프로세스 정보 보여주기 수많은 옵션중에 주로 ps –ef 사용 많이 나오기 때문에 주로 grep 과 함께 사용 (5장 Pipe에서 추가) grep 스트링 포함된 파일 찾기 grep “find_string” <file> -r 하위 디렉토리 포함 (기본 unxi 계엘에는 없는 옵션임) -v 포한되지 않은 파일 찾기(가끔 유용할때가 있음) 예제 ) test.file 에서 “연습하기” 가 들어갔는지 확인 $>grep “연습하기” test.file find : 파일 찾기 find <path> <option> 옵션에 따라 파일명 속성 사용자를 찾을수있음 에제 ) /home1/irteam/var 디렉토리에서 파일명이 test로 시작하는 파일 출력 $> find /home1/irteam/var -name “test.*” locale : 서버내 사용할수있는 char-set 보기 환경변수 $LANG , $LC_ALL 설정시 주로 사용(리눅스 배포판 또는 unix마다 다르기 때문에 확인필요)

Linux 주요 Command – 알아야 할 명령어들 4. Linux 주요 Command – 알아야 할 명령어들 df (disk free) 디스크 사용량 출력 -k kilo 단위로 free : 메모리량 (unix 계열에서는 없는 명령어 또는 다른형태로 값을출력) tail 파일의 끝내용을 출력 <-> head (앞부분) -f 계속적으로 파일에 write 되는 내용을 모니터링 -n default 출력 라인수를 늘리고 싶을때 exit , logout , ctrl + d : 로그아웃 date : 날짜 출력 alias : 현재 서버 alias 설정 정보 출력

Linux 주요 Command – 알아야 할 명령어들 4. Linux 주요 Command – 알아야 할 명령어들 du (disk usage) 디스크 사용량 보기 옵션 -k 주면 kilo 단위로 출력 , --max-depth : 파일제외하고 디렉터리 레벨단위 출력?? 옵션 –h 주면 M , G 단위로 표시 (unix 계열에서는 없는 옵션) whoami , id : 현재 쉘 상태의 계정보기

Linux 주요 Command – 알아야 할 명령어들 4. Linux 주요 Command – 알아야 할 명령어들 wc (word count) 파일안의 라인수 또는 단어수를 출력 가능 옵션 -l line 수 , -c 문자의 수 예제 ) 현재 서버 원격 접속자수 $>who | wc –l gzip (gnu zip) 파일 압축 (확장자 gz) -d 압축 풀기 /sbin/ifconfig –a : ethernet 정보

Linux 주요 Command – 알아야 할 명령어들 4. Linux 주요 Command – 알아야 할 명령어들 tar : 파일, 디렉토리 묶기 tar <option> <create_tar_file> <file|directory> 주요 옵션 : cvf 파일명을 지정하여 묶기 xvf 묶은 파일 풀기 gzip 압축 포함 : z 옵션 ( unix 계열에서는 안됨) kill : 프로세스에 unix signal 주입 일반적으로 9번 강제 종료시 사용 ps 명령어로 process id를 찾은후 kill -9 <process id>

Linux 주요 Command – 알아야 할 명령어들 4. Linux 주요 Command – 알아야 할 명령어들 netstat 서버의 네트웍 정보 출력 주로 데몬의 포트 Listen 확인 가능 예제 서버내 Listen 하고있는 포트 $>netstat -an |grep LISTEN rsync : 서버간 파일 동기화 rsync <option> <sorurce> <targer> 서버간 파일전송 용도 가능(/etc/rsync.conf 설정에따라 암호 설정없이 가능) 예제) 현재 서버의 aaa파일 new1001 서버의 /home/new/111 디렉토리에 복사 $>rsync aaa new1001:/home/new/111 ln (link) 하드 링크 배우고 사용해본적 없음~~~ 소프트 링크 –s 옵션 주로 사용 (windows의 바로가기정도) 예제) /home/fs/lnDir 디렉토리를 cd /InDir 접속해도 ) /home/fs/lnDir 를 바라보도록 링크 파일 생성 root 권한 필요 $> ln –s /home/fs/lnDir /InDir

5. Redirect & Pipe Redirect : 연산자 ‘>’ ‘>>’ ‘<‘ 이용 출력 방향 바꾸기 쉘상에서 실행파일을 실행하면 file descriptor 1번 (stdout 모니터)로 출력이된다. 예약된 file descriptor : 0번 표준입력 : 키보드 (stdin) 1번 표준 출력 : 모니터 (stdout) 2번 표준 에러 출력 : 모니터(stderr) 예제1) 현재 서버에 원격 접속된 사용자를 file로 저장 (출력 file descriptor를 모니터에서 current_user.file 로 변경) $> w > current_user.file 예제2) 파일을 file1 의 내용을 file2의 끝에부터 이어 붙이기 $> cat file1 >> file2 예제3) 명령어 수행중에 발생하는 stderr(2) 내용을 stdout(1)에 쓰기 $> ls ss.txt 2>&1 (c shell 은 다름)

5. Redirect & Pipe Pipe : 연산자 ‘|’ 이용 앞서 실행된 프로세스의 stdout이 후에 수행되는 프로세스의 stdin으로 입력 예제1) 현재 서버의 수행중인 아파치의 process 찾기 $> ps –ef |grep httpd 예제2) access.log에서 문자열이 “2010-10-29” 들어간 라인수 $> grep “2010-10-29” access.log | wc –l

6. Vi(Visual) Editor Vi 에디터 마우스 없이도 유연하게 파일 편집가능 키보드 전체가 명령어(실제로 몇 개만 알아도 사용가능) 대소문자에 따라 명령어 수행이 다름 익숙해지면 일반 윈도우의 에디터보다 편하다고 함? vi history 유닉스가 나오고 에디터로 1976년 BY 빌조이 기타 에디터로는 ed , pico , emacs vim ?(Vi Improved) 리눅스에서는 전부 vi -> vim 으로 alias 되어있음 일반적으로 유닉스에는 vim이 설치 안되어 있어 전통방식 vi 사용

6. Vi : Visual Editor Vi Mode Vi는 3가지 모드를 가지고 명령모드를 중간으로 이동 Command i,u,o ...등 : , ? , / Esc Esc Insert Mode Line Mode

6. Vi(Visual) Editor 명령어 설명 yy(yank) 복사 dd 삭제 p 붙이기 dw 워드 단위 삭제 Command 입력모드 주요 명령어 명령어 설명 yy(yank) 복사 dd 삭제 p 붙이기 dw 워드 단위 삭제 라인의 맨 앞 $ 라인의 끝 w 워드 단위 앞으로 이동 b 워드 단위 뒤로 이동 x shift + g 마지막 라인 ctrl + f 한화면 앞으로 ctrl + b 한화면 뒤로 h,j,k,l 좌,하,상,우 방향키 u undo

6. Vi(Visual) Editor :4 4라인으로 이동 : set number 에디터에 라인번호 출력 :q 편집 종료 Line 라인 모드 주요 명령어 명령어 설명 :4 4라인으로 이동 : set number 에디터에 라인번호 출력 :q 편집 종료 :wq vs :wq! 저장 후 종료 (같은 명령어 :x) 1,2 co 5 1,2라인을 5라인에 복사 5d 현재 라인에서 아래로 5줄 삭제 :s ex):1,$s/abc/cba/g 문자열 치환 / vs ? -> n , N (다음 번 찾기) 문자열 찾기