vi 파일명 vi에디터로 열기

명령모드 → 입력모드

O

I 가 나 다 i a 마 바 사 아 자 차 A

o


입력모드

이동

 

k

 

h

j

l

Ctrl + F                 다음화면으로 이동

Ctrl + B                 이전화면으로 이동

^ 현재행의              처음으로 이동

$ 현재행의              마지막으로 이동

gg                     제일 첫 행으로 이동

G                      제일 끝 행으로 이동

숫자G                  해당 숫자의 행으로 이동

:숫자엔터               해당 숫자의 행으로 이동


삭제,복사,붙여넣기

가 나 (다 X) ( x) 마 바 사 아 자 차

dd             현재 커서의 행 삭제

숫자dd          현재커서부터 숫자만큼의 행 삭제

D              커서 기준 뒤 다 지움

1,5000d        1~5000번 다지움

yy             현재 커서가 있는 행 복사

숫자yy          현재 커서부터 숫자만큼의 행 복사

p 복사행       내용을 현재 행 이후에 붙여넣기

P 복사행       내용을 현재 행 이전에 붙여넣기

:1,3 co 5   1~3라인을 5에 복사

:4,6 mo 8  4~6라인을 8에 이동


u 이전작업 취소



명령모드

/문자열         (현재 커서 이후)해당 문자열 찾음

?문자열         (현재 커서 이전)해당 문자열 찾음

n              찾은 문자 중에서 다음 문자로 이동

N              찾은 문자 중에서 이전 문자로 이동

noh            찾아서 블록 되어있는 문자들 해제


:%s/이전단어/새단어/g

ex) :%s/\$//g (설명: :%s/바꿔라 \$/의미없는(\) $를 /g 빈칸으로)





:w             저장

:w 새이름       새 이름으로 저장

:q!             저장안하고 닫기

:wq!            저장하고 닫기


-------------------------------


shutdown –h now              halt            init 0

끄기


shutdown –r now              reboot         init 6

재부팅


su – 입력후 루트암호           루트권한으로 진입

su – 사용자명                  사용자권한으로 진입

init s                          싱글유저



man 명령어    명령어  --help         도움말


pwd                    현재위치확인


ls 경로                 경로의 목록

ls –a                   숨김파일포함 목록

ls –l                   자세히 보여줌

ls *.txt                 확장자가 txt 인 목록을 보여줌

ls –l /user/bin/a*     /user/bin 디렉토리에있는 목록중 앞글자가 a인 것의 목록을 자세히보여줌


cd ~root               root 사용자의 홈 디렉토리로 이동함

cd ..                   상위 디렉토리로 이동

cd /user/bin           /user/bin 디렉토리로이동 (절대경로)

cd ../user/bin         현재경로의 상위..디렉토리 밑의 /user/bin디렉토리로 이동(상대 경로)


rm 파일명              파일명 파일 삭제

rm –r abc             디렉토리 삭제

rm –rf abc            abc디렉토리와 그 하부 강제로 삭제


cp –p                  날짜까지 원본과 같이 복사

cp a.txt b.txt           a.txt파일을 b.txt 파일로 복사

cp –r abc efg          디렉토리복사

cp –a abc efg         숨김파일, 디렉토리까지 복사

cp /dev/null a.txt      a.txt에 null값 복사


touch a.txt             a.txt파일 생성


mv aa bb cc dd       aa,bb,cc  파일을 dd 디렉토리로 이동

mv a.txt b.txt          이름변경


mkdir                  디렉토리 생성


rmdir ab               ab 디렉토리 삭제(빈디렉토리만)

rm –r ab              ab 디렉토리 삭제(내용있어도)


cat 파일명              텍스트 파일 내용 출력 (Ctrl + D 저장)

head 파일명            텍스트 앞10줄 출력

tail 파일명              텍스트 뒤10줄 출력

        옵션[-f] => 실시간 감시

        tail 이 중요한이유!!!

        tail -f /var/log/messages   =>   /var/log/messages 로그를 실시간으로 갱신 가능



more                  페이지 단위로 출력 (Space : 다음페이지, b : 앞페이지, Q : 종료)

clear                   명령창 화면 지워줌


----------------------

groupadd –g 5000 dba                 gid 5000번인 dba 그룹생성

useradd –u 500 –g 5000 oracle         uid 500번인 oracle 계정을 그룹5000번에 생성

passwd oracle                          oracle의 비번 생성


useradd user1                         

useradd –d /newhome newuser         newuser생성하면서 홈디렉토리를 /newhome으로 지정(디폴트 /home/사용자이름)  새로운 사용자 생성시 /etc/skel 디렉토리의 모든내용이 홈 디렉토리에 복사됨

tail /etc/passwd

userdel –r user1                       사용자의 홈디렉토리까지 삭제



system-config-users                   x윈도우 환경에서 사용자관리자 띄워줌

system-config-display                  x윈도우 환경에서 화면설정 띄워줌


퍼미션rwxrwxrwx

4 2 1  유저

4 2 1  그룹

4 2 1  그외사용자

chmod 777 a.txt                       a.txt에 퍼미션 rwxrwxrwx 부여함


소유자 변경

# chown [option] [UID:GID] [디렉토리/파일명]

option

-R 하위 디렉토리/파일에 모두 적용하여 바꾼다.

ex) chown -R oracle:dba /usr/local/jre


chgrp 새로운그룹명 파일명



rpm –Uvh abc.rpm

rpm –e 패키지이름

rpm –qa 패키지이름            시스템에 패키지 설치되었나 확인

rpm –qf 파일절대경로           파일이 어느 패키지 포함된것인지 확인

rpm –ql 패키지이름             패키지에 포함된 파일 확인

rpm –qi 패키지이름             설치된 패키지 상세정보

rpm –qip 패키지파일명.rpm     설치전 패키지 파일 상세정보 확인


--nodeps              의존성무시

--force                무조건 덮어씀(기존 비정상설치등 무시)


tar xvfj                 bzip2 압축풀기  파일명.tar.bz2

tar xvfz                 gzip 압축풀기   파일명.tar.gz

tar cvfj a.tar.bz2       bzip2로 압축

tar cvfz a.tar.gz       gzip으로 압축


find 경로 옵션 파일이름

        옵션    -name

                -user

                -perm

        ex) find /bin -size +10k –size –100k   /bin폴더 밑 10KB~100KB 파일검색


ln –s 링크대상파일이름 링크파일이름


반복작업

cron (관련데몬 crond , 관련파일 /etc/crontab)

vi etc/crontab

 * * * * *     root   run-parts      디렉토리

디렉토리 안 파일을 root 권한으로 실행

분 시 일 월 요일(0~6)

ex) 0 2 * * 3,5 a.sh   매월 2시 수,금에 a.sh 수행

        (분자리에) */3          (리눅스에서) 3분마다



netconfig                              랜카드 설정파일 IP주소 바꿀 때 –터미널 그래픽버전

/etc/init.d/network restart     



명령1 | 명령2                           pipe(파이프) 명령1의 결과를 명령2로 실행

        ex) ls -l /etc/*.conf | wc –l           /etc/*.conf 파일을 자세히 보여주기 | 결과물 라인수


명령1 > 명령2                          redirection(리다이렉션) 명령1의 결과를 명령2에 출력

        ls –l /etc/*.conf > list.txt              /etc/*.conf 파일을 자세히 보여주기 > list.txt 에..

                                                한번더 명령하면 덮어쓰기

        ls –l /etc/*.conf >> list.txt             list.txt 파일 하단에 결과물 추가함


명령 | grep 단어                         filter(필터) 필요한것만 걸러줌

        ex) ps –ef | grep bash                 bash가 들어간 프로세스만 출력

            rpm –qa | grep bind               bind가 들어간 패키지 출력(그냥 rpm –qa bind만 입력하면 bind-utils등등은 출력안됨)


ls –lSh                                 결과물 용량을 KB단위로 출력


cat /dev/null > list.txt                 용량 0으로 만들기 (cat 텍스트 파일 내용 출력)



nslookup                               DNS 서버의 작동을 테스트

ping IP또는URL

ifconfig 장치이름                       장치의 IP주소 설정 정보 출력

        ex) ifconfig eth0                       랜카드 IP주소 설정 정보확인


/etc/sysconfig/network                 네트워크의 기본적인 정보가 설정되어 있는 파일

/etc/sysconfig/network-scripts/ifcfg-eth0      eth0 장치에 설정된 네트워크 정보가 모두 들어있는 파일

/etc/resolv.conf                         DNS 서버의 정보 및 호스트 이름이 들어 있는 파일

/etc/hosts                             gus 컴퓨터의 호스트이름 및 FQDN이 들어있는 파일


ps –ef | grep 프로세스이름              프로세스이름이 들어간 프로세스의 상태 확인

pstree                                  부모와 자식프로세스의 관계를 트리구조로 보여줌


watch –n 시간(초) ‘ps –ef | grep ssh’  지정한 시간에 한번씩 ‘ ’ 안의 명령 실행


bg 작업번호            Ctrl + Z로 잠시 중지시킨 프로세스를 백그라운드로 실행

                        작업번호를 백그라운드 프로세스로 만들어줌

fg 작업번호             작업번호를 포그라운드 프로세스로 만들어줌

jops                    현재 백그라운드 장동 프로세스 확인

명령어 &               백그라운드로 프로세스 실행


kill –9 프로세스번호                     프로세스번호의 프로세스 강제 종료


top                            리눅스의 작업관리자

        Shift + p               CPU 사용 순위로 정령

        k 누르고 PID번호입력   (top상태에서) k 누르고 PID번호 입력후 옵션입력

                -1             강제종료후 다시시작

                -9             강제종료

                -15            정상종료

        q                      top모드 종료


top –c                 어떤 명령어가 돌아가고 있는지 보여줌    



ssh 계정@IP            계정@IP로 접속

scp [option] [file][user@host:file옮길 위치]

        <ex> scp ./apache-tomcat-6.0.32.tar.gz suser@222.333.444.56:/home/suser

        <option>

                -r : 지정한 디렉토리의 하위 디렉토리 및 파일까지 모두 복사

                -v : 전송시 진행사항을 보여줌



------------------------------------------

응급복구는 1CD로 부팅 → F5눌러서 진입 → linux rescue 엔터 → 전부진행후 → chroot /mnt/sysimage


fdisk → mkfs → mount


⓵ fdisk /dev/sd*              파티션 나누기

⓶ mkfs.ext3 /dev/sd* ext3형식으로 포맷

⓷ mount /dev/sdb1 마운트할디렉토리   sdb1을 마운트할 디렉토리에 마운트

                                        (재부팅시 적용하려면 /etc/fstab에 저장필수)



LVM관련

fdisk /dev/sdc         fdisk /dev/sdd         fdisk /dev/sde

pvcreate       물리 볼륨 생성

        ex) pvcreate /dev/sdc1

            pvcreate /dev/sdd1

            pvcreate /dev/sde1

vgcreate       볼륨 그룹 생성

        ex) vgcreate 볼륨그룹이름 /dev/sdc1 /dev/sdd1 /dev/sde1

vgdisplay      볼륨 그룹 확인

이상까지 생성한 볼륨그룹을 하나의 드라이브로 생각하고 작업하면됨(=디스크 장착완료함)


⓵ lvcreate             파티션나누기

        ex) lvcreate –L 400 –n myLG1 myVG          myVG가상드라이브를 myVG라는 논리볼륨으로 파티션

⓶ mkfs.ext3 /dev/myVG/myLG1               myLG1포맷

⓷ mount /dev/myVG/myLG1 /만든디렉토리             만든디렉토리에 마운트

                                                        (재부팅시 적용하려면 /etc/fstab에 저장필수)



df –h           파일 시스템에 대한 디스크 사용량을 MB 단위(-h 옵션)로 체크




RAID관련(하드디스크8개 장착실습)

fdisk /dev/sdb         디스크장착후 각각 파티션나누기

        t       fd      커맨드에서 t로 파일시스템 유형 선택 : fd (레이드용)

ls /dev/sd*            파티션 모두 만들어졌나 확인


ls –l dev/md?          md? 장치 있나 확인하고 있으면 해당 md숫자 지워주고 다시 생성 (rm –r md숫자)


⓵ mknod /dev/md0 b 9 0             md0 이라는 장치 파일 만들어줌

⓶ mdadm --create /dev/md0 --level=0 --raid-device=2 /dev/sdb1 /dev/sdc1

⓷ mdadm --datail --scan

⓸ mkfs.ext3 /dev/md0

⓹ mkdir /raid0data

   mount /dev/md0 /raid0data



RAID 고장났을 때

⓵ 고장난 하드 숫자만큼 하드디스크 추가한다음

⓶ mdadm --query --detail /dev/md1         현재 RAID1의 상태 확인

⓷ fdisk /dev/sde              디스크장착후 파티션나누기

   fdisk /dev/sdg

        t       fd      커맨드에서 t로 파일시스템 유형 선택 : fd (레이드용)

⓸ mdadm /dev/md1 --add /dev/sde1

   mdadm /dev/md5 --add /dev/sdg1

⓹ mdadm --query --detail /dev/md1 과 /dev/md5



mdadm --detail --scan                현재 RAID 장치 확인

팀과제 : DNS + ftp + mail + APM 구축


DNS (bind)

⓵ bind 설치

        bind-버전.rpm

        bind-chroot-버전.rpm

        bind-libs-버전.rpm

        bind-utils-버전.rpm


⓶ rpm -Uvh --nodeps --force bind*.rpm             bind 관련파일 설치


⓷ named.conf

⓸ zone-file

--------------------------

ftp (vsftp)

인터넷을 통해 한 컴퓨터에서 다른 컴퓨터로 파일을 전송할 수 있도록 하는 방법과, 그런 프로그램을 모두

일컫는 말이다.

   

rpm –Uvh vsftpd-2.0.5-16.el5_6.1.i386.rpm 설치

vi /etc/vsftpd/vsftpd.conf 설정

----------------------------

mail 


-----------------

APM  이란?

Apache + Php + Mysql  = APM


apache -> 리눅스에서 제공하는 웹서버. 무료!

php -> 웹페이지를 이쁘게 꾸밀수 있는 언어! 무료!

Mysql -> 데이터베이스 프로그램 무료!


Posted by 딩구르
,