반응형



Mail 서버구축


sendmail 설치 


 1.  /usr/local/src 디렉토리로 이동후 wget 사용해서 sendmail 다운받고 해당디렉토리로 이동

[root@server114 ~]# cd /usr/local/src

[root@server114 src]# cd sendmail-8.15.1 

[root@server114 sendmail-8.15.1]#

 


 2. smtp 가 주석처리 돼있는지 확인해서 되어있으면 삭제    (왜? 이거뭔데??)

[root@server114 sendmail-8.15.1]# grep smtp /etc/services

smtp            25/tcp          mail

smtp            25/udp          mail

smtps           465/tcp                         # SMTP over SSL (TLS)

rsmtp           2390/tcp                        # RSMTP

rsmtp           2390/udp                        # RSMTP


 


  3. make로 컴파일후 프로그램설치 (컴파일시 디렉토리가 없어서 에러남 그래서 디렉토리 먼저 만듬)


[root@server114 sendmail-8.15.1]# mkdir -p /usr/man/man8

[root@server114 sendmail-8.15.1]# mkdir -p /usr/man/man1

 

[root@server114 sendmail-8.15.1]# mkdir -p /usr/man/man5


[root@server114 sendmail-8.15.1]# make

......(컴파일목록)

[root@server114 sendmail-8.15.1]# make install

.......(설치목록)



 sendmail 설정파일 생성


 4. 설정파일이 있는 디렉토리로 이동 후 리눅스버전이므로 sendmail.mc파일로 변경


[root@server114 sendmail-8.15.1]# cd cf/cf

[root@server114 cf]#

[root@server114 cf]# pwd

/usr/local/src/sendmail-8.15.1/cf/cf

[root@server114 cf]# mv generic-linux.mc sendmail.mc

 


5. vi sendmail.mc 파일열어서 아래 나용 추가

    (access.db, domainaliases.db등등 자동으로 생성하기 위함) 후, 설정파일 빌드

[root@server114 cf]# vi sendmail.mc


FEATURE(access_db)dnl
FEATURE(virtusertable, btree /etc/mail/domainaliases.db)dnl
FEATURE(genericstable, btree /etc/mail/useraliases.db)dnl
FEATURE(accept_unqualified_senders)dn

[root@server114 cf]# sh Build sendmail.cf
[root@server114 cf]# ls sendmail.cf
sendmail.cf

 


 6. 설정파일 install 하면 /etc/mail 디렉토리로 이동됨


[root@server114 cf]# make install-cf

../../devtools/bin/install.sh -c -o root -g bin -m 0444 sendmail.cf /etc/mail/sendmail.cf

../../devtools/bin/install.sh -c -o root -g bin -m 0444 submit.cf /etc/mail/submit.cf

You have new mail in /var/spool/mail/root

[root@server114 cf]# ls /etc/mail

access          helpfile          Makefile     submit.cf      virtusertable.db

access.db       local-host-names  sendmail.cf  submit.mc

domaintable     mailertable       sendmail.mc  trusted-users

domaintable.db  mailertable.db    statistics   virtusertable

[root@server114 cf]#


 




  7. sendmail 중요 설정파일 생성 및 설정 (access)

[root@server114 mail]# vi access                                                                          access는 sendmail의 접근을 제어하는 파일.

# Check the /usr/share/doc/sendmail/README.cf file for a description             호스트나 도메일을 허용하는 의미는 RELAY.

# of the format of this file. (search for access_db in that file)                             반대는 REJECT. 

# The /usr/share/doc/sendmail/README.cf is part of the sendmail-doc

# package.

#

# by default we allow relaying from localhost...

Connect:localhost.localdomain           RELAY

Connect:localhost                       RELAY

Connect:127.0.0.1                       RELAY

Connect:172.16.5.114                    RELAY

~


 


  8. sendmail 중요 설정파일 생성 및 설정 (aliases)


[root@server114 mail]# vi aliases        

webmaster: root    

                                 

  //aliases 설정파일은 특정 계정으로 메일을 보냈을 경우 그 계정으로 메일이 도 착하지 않고 이 파일에 지정된 다른 계정으로 메일이 

      전송될 수 있게 함.특정 사 용자에게 온 메일을 다른 사람에게 보내주거나 리스트를 작성해야 하는 경우에 사용되 는 파일.

ex) admin 계정에게 보내는 메일 

     admin : Gz@ab.com, gz@abcd.com

ex) manager계정으로 오는 메일을 webmaster와 root로 전달 

     manager : root, webmaster

ex) manager 계정으로 오는 메일을 /etc/mailist/manager 파일에 계정들에게 전달 

     manager:: include:/etc/maillist/manager


 



 9. makemap이란 프로그램을 사용하여 Sendmail이 인식할 수 있는 DB 형태로 만듬


[root@server114 mail]# touch local-host-names                    //사용하고자 할 도메인 이름을 입력하면 사용할수있는데 

[root@server114 mail]#                                                   여기서는 빈 파일로 생성함.

[root@server114 mail]# makemap hash access < access

[root@server114 mail]# ls access.db

access.db



 

 

  10. aliases.db 파일 생성하기위한 단계

[root@server114 mail]# mkdir -p /var/spool/mqueue                  

[root@server114 mail]# chmod 755 /var/spool/mqueue

[root@server114 mail]# newaliases

[root@server114 mail]# ls aliases.db

aliases.db


 

  

11. sendmail 데몬시작

[root@server114 mail]# which sendmail

/usr/sbin/sendmail

[root@server114 mail]# /usr/sbin/sendmail -Ac -q1h                     // 중계용데몬

[root@server114 mail]# /usr/sbin/sendmail -bd -q1h                    // 제출용(수신용)데몬

[root@server114 mail]#

[root@server114 mail]#

[root@server114 mail]# ps -ef | grep -v grep | grep sendmail

root      3130     1  0 19:15 ?        00:00:00 sendmail: accepting connections

smmsp     3138     1  0 19:15 ?        00:00:00 sendmail: Queue runner@01:00:00 for /var/s        pool/clientmqueue

smmsp     8587     1  0 23:03 ?        00:00:00 sendmail: Queue runner@01:00:00 for /var/s        pool/clientmqueue

smmsp     8781     1  0 23:29 ?        00:00:00 sendmail: Queue runner@01:00:00 for /var/s        pool/clientmqueue

root      8784     1  0 23:29 ?        00:00:00 /usr/sbin/sendmail -bd -q1h

 

[root@server114 mail]#


 

 


 12. sendmail TEST 및 메일 로그 확인


[root@server114 mail]# telnet localhost 25

Trying 127.0.0.1...

Connected to localhost.localdomain (127.0.0.1).

Escape character is '^]'.

220 localhost.localdomain ESMTP Sendmail 8.13.8/8.13.8; Thu, 12 Feb 2015 23:32:51 +0900

mail from : ******@gmail.com

250 2.1.0 ****@gmail.com... Sender ok

rcpt to : d****@gmail.com

250 2.1.5 ****@gmail.com... Recipient ok (will queue)

subject : Test mail

500 5.5.1 Command unrecognized: "subject : Test mail"

data

354 Enter mail, end with "." on a line by itself

hello

bye

.

250 2.0.0 t1CEWprk008797 Message accepted for delivery

quit

221 2.0.0 localhost.localdomain closing connection

Connection closed by foreign host.

[root@server114 mail]#


[root@server114 mail]# cd /var/log
[root@server114 log]# tail -f maillog
Feb 12 23:30:26 server114 sendmail[8784]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Feb 12 23:30:26 server114 sendmail[8784]: daemon MTA: problem creating SMTP socket
Feb 12 23:30:31 server114 sendmail[8784]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Feb 12 23:30:31 server114 sendmail[8784]: daemon MTA: problem creating SMTP socket
Feb 12 23:30:36 server114 sendmail[8784]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Feb 12 23:30:36 server114 sendmail[8784]: daemon MTA: problem creating SMTP socket
Feb 12 23:30:36 server114 sendmail[8784]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: server SMTP socket wedged: exiting
Feb 12 23:33:19 server114 sendmail[8797]: t1CEWprk008797: Authentication-Warning: localhost.localdomain: server114 [127.0.0.1] didn't use HELO protocol
Feb 12 23:34:16 server114 sendmail[8797]: t1CEWprk008797: from=****@gmail.com, size=10, class=0, nrcpts=1, msgid=<201502121433.t1CEWprk008797@localhost.localdomain>, proto=SMTP, daemon=MTA, relay=server114 [127.0.0.1]
Feb 12 23:34:16 server114 sendmail[8797]: t1CEWprk008797: to=****@gmail.com, delay=00:00:26, mailer=esmtp, pri=30010, dsn=4.4.3, stat=queued

 

   

반응형

'linux' 카테고리의 다른 글

[서버구축] FTP  (0) 2016.03.08
[서버구축] DNS  (0) 2016.03.08
Shell Script  (0) 2016.03.08
Visual Editor(vi editor) 명령어 / network 정보  (0) 2016.03.08
[명령어] - 3. Process / RPM / Cron 관리  (0) 2016.03.08
반응형



FTP 서버구축

  

   1.  /usr/local/src 디렉토리로 이동후 wget 사용해서 vsftpd 다운받기

[root@server114 ~]# cd /usr/local/src

[root@server114 src]#

[root@server114 src]#

[root@server114 src]# pwd

/usr/local/src

[root@server114 src]# wget https://security.appspot.com/downloads/vsftpd-3.0.2.tar.gz




 

  2. 압축해체하고 해당 디렉토리로 이동후, 디렉토리생성

[root@server114 src]# tar zxf vsftpd-3.0.2.tar.gz

[root@server114 src]# cd vsftpd-3.0.2

[root@server114 vsftpd-3.0.2]# 
[root@server114 vsftpd-3.0.2]# mkdir -p /usr/local/sbin /usr/local/man/man{5,8}
[root@server114 vsftpd-3.0.2]# mkdir /var/ftp

 



  3. ftp 사용자의 권한을 root.root로 셋팅해서 익명접속 가능하게하고 og-w 이용해 쓰기권한 삭제

[root@server114 vsftpd-3.0.2]# chown root.root /var/ftp

[root@server114 vsftpd-3.0.2]chmod og-w /var/ftp
[root@server114 vsftpd-3.0.2]#  





  4. make; make install로 설치(bind와는 다르게 configure 지정안함) 후 필요한 파일들 복사

[root@server114 vsftpd-3.0.2]# make

[root@server114 vsftpd-3.0.2]# make install
[root@server114 vsftpd-3.0.2]# cp RedHat/vsftpd.pam /etc/pam.d/vsftpd(pam 파일 복사:vsftpd 로그인 인증방법중 pam방식 사용이 필요한 파일)
[root@server114 vsftpd-3.0.2]# cp RedHat/vsftpd.log /etc/logrotate.d/vsftpd  (로그 설정파일복사 . logrotate설정파일)
[root@server114 vsftpd-3.0.2]# cp vsftpd.conf /etc/vsftpd.conf                  (환경설정 파일 복사)   
[root@server114 vsftpd-3.0.2]#
[root@server114 vsftpd-3.0.2]#

 


 5. vi /etc/vsftpd.conf  설정변경   

12 anonymous_enable=YES

15 local_enable=YES

18 write_enable=YES
22 local_umask=022
35 dirmessage_enable=YES
38 xferlog_enable=YES
41 connect_from_port_20=YES
51 xferlog_file=/var/log/vsftpd.log
112 listen=NO

118 pam_service_name=vsftpd 




 

  6. xinetd 재시작후 ftp 로컬호스트 name, passwd 입력 ( 먼저 계정 생성후)  

[root@server114 vsftpd-3.0.2]# /etc/init.d/xinetd restart
[root@server114 vsftpd-3.0.2]# ftp localhost
Connected to server114.
220 (vsFTPd 3.0.2)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root): dahye
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
ftp>
ftp> bye
221 Goodbye.
 

​ 

 

  7 /var/ftp  들어가서 ftp서버에서 보여질 폴더생성 한후 폴더안에 들어갈 파일 생성

[root@server114 vsftpd-3.0.2]# cd /var/ftp

[root@server114 ftp]#

[root@server114 ftp]# mkdir sercet

[root@server114 ftp]# vi hello.txt                      -> 보여질 내용 적기.









  8. vi named.conf 파일수정  zone 파일생성


[root@server114 ftp]# cd /usr/local/dns/etc

[root@server114 etc]#

[root@server114 etc]# vi named.conf               -> dns와 연동하기 위해서 파일수정.


zone "server114" IN{

type master; 

file "zone-server114";                              ->추가.

};  


[root@server114 etc]# cd /var/named

[root@server114 named]# vi zone-server114 

$TTL 86400


@       IN      SOA     @       root. (


        42              ;serial (d. adams)

        3H              ; refresh

        15M             ; retry

        1W              ; expiry

        1D )            ; minimum


        IN      NS      @

        IN      A       172.16.5.114

www   IN      A       172.16.5.114

ftp     IN      A       172.16.5.114



   

 


9. ftp://내ip주소            접속!

    ftp://root@server114   접속!



반응형

'linux' 카테고리의 다른 글

[서버구축] Mail  (0) 2016.03.08
[서버구축] DNS  (0) 2016.03.08
Shell Script  (0) 2016.03.08
Visual Editor(vi editor) 명령어 / network 정보  (0) 2016.03.08
[명령어] - 3. Process / RPM / Cron 관리  (0) 2016.03.08
반응형



DNS 서버구축




BIND 설치


   1.  /usr/local/src 디렉토리로 이동후 wget 사용해서 bind 다운받기

[root@server114 ~]# cd /usr/local/src

[root@server114 src]#

[root@server114 src]#

[root@server114 src]# pwd

/usr/local/src

[root@server114 src]# wget ftp://ftp.isc.org/isc/bind9/9.10.1-P1/bind-9.10.1-P1.tar.gz

--20:19:42--  ftp://ftp.isc.org/isc/bind9/9.10.1-P1/bind-9.10.1-P1.tar.gz

           => `bind-9.10.1-P1.tar.gz'

Resolving ftp.isc.org... 204.152.184.110, 2001:4f8:0:2::18

Connecting to ftp.isc.org|204.152.184.110|:21... connected.

Logging in as anonymous ... Logged in!

==> SYST ... done.    ==> PWD ... done.

==> TYPE I ... done.  ==> CWD /isc/bind9/9.10.1-P1 ... done.

==> SIZE bind-9.10.1-P1.tar.gz ... 8356463

==> PASV ... done.    ==> RETR bind-9.10.1-P1.tar.gz ... done.

Length: 8356463 (8.0M)

100%[=======================================>] 8,356,463    803K/s   in 15s

20:19:59 (551 KB/s) - `bind-9.10.1-P1.tar.gz' saved [8356463]



  2. 압축해체하고 해당 디렉토리로 이동후, 경로옵션 지정후 시스템에 적당한 환경파일 생성하기

[root@server114 src]# tar zxf bind-9.10.1-P1.tar.gz

[root@server114 src]# ls

bind-9.10.1-P1  bind-9.10.1-P1.tar.gz

[root@server114 src]#

[root@server114 src]# cd bind-9.10.1-P1


[root@server114 bind-9.10.1-P1]# ./configure  --prefix=/usr/local/dns     (/usr/local/dns 디렉토리 생성한뒤)




​  3. make로 컴파일후, 프로그램설치

[root@server114 bind-9.10.1-P1]# make

......(컴파일목록)

[root@server114 bind-9.10.1-P1]# make install

.......(설치목록)







파일 환경설정 named.conf


 1. /usr/local/dns/etc 로 이동 후 vi로 named.conf 파일 생성

[root@server114 bind-9.10.1-P1]# cd /usr/local/dns/etc

[root@server114 etc]# ls

bind.keys

[root@server114 etc]# vi named.conf


? ​/usr/local/dns 디렉토리 생성 안하고 configure 했더니 /usr/local/dns/etc 에 bind.key 파일이 존재하지 않았음. 

 그래서디렉토리 생성후 다시 configure함. (bind-9.10.1-P1에서 configure.) 그럼, 전에 make install했던 나의 bind.key는 어디로 간거야? 읭??????


 2. named.conf 환경설정하기


/*

directory : 네임서버에서 데이터베이스 역활을 하는 존(zone)파일의 위치를 설정
dump-file :   named는 정보가 갱신될 때 dump파일로 저장하는데 그 덤프파일이 생성될 위치아 파일명을 지정
statistics-file : 네임서버의 통계를 낼 경우에 사용하는 옵션으로 메모리 통계 파일을 생성할 위치와 파일명 지정
allow-transfer : zone 파일의 내용을 복사할 대상에 제한을 걸 때 지정
*/




options {
        directory "/var/named";
        dump-file "/var/tmp/named_dmp.db";
        statistics-file "/var/tmp/named.stats";
        pid-file "/var/run/named.pid";
        allow-transfer { 172.16.5.114; };        
};
logging {
        category lame-servers { null; };
        category notify { null; };
};


zone "localhost" IN {
        type master;
        file "zone-localhost";
}; 

zone "naver.com" IN {
        type master;
        file "zone-naver.com";
};




​ 

파일 환경설정 zone file


1. /var/named 디렉토리 생성후 이동해서 zone file 작성

[root@server114 var]# mkdir /var/named

[root@server114 var]# cd /var/named

[root@server114 named]#

[root@server114 named]# vi zone-localhost


2zone-localhost 환경설정하기

[root@server114 named]# vi zone-localhost


$TTL 86400

@       IN      SOA     @       root (

        42              ; serial (d. adams)

        3H              ; refresh

        15M            ; retry

        1W             ; expiry

        1D )            ; minimum


        IN      NS      @

        IN      A       172.16.5.114

 


3. zone-naver.com 환경설정하기

[root@server114 named]# vi zone-naver.com


$TTL 86400

@       IN      SOA     @       root (

        42              ; serial (d. adams)

        3H              ; refresh

        15M            ; retry

        1W             ; expiry

        1D )            ; minimum


        IN      NS      @

  


        IN      A       173.194.127.152              

www   IN      A       173.194.127.152                  -> 순서 바뀌면 존파일 확인오류뜸.

 


4. zone file 확인하기. (/usr/local/dns/sbin 으로 이동한 뒤)

[root@server114 named]# cd /usr/local/dns/sbin

[root@server114 sbin]# ./named-checkzone naver.com /var/named/zone-naver.com

zone naver.com/IN: loaded serial 42

OK

[root@server114 sbin]# ./named-checkzone localhost /var/named/zone-localhost

zone localhost/IN: loaded serial 42

OK

 

[root@server114 sbin]#

 


5. 설정확인 및 테스트

[root@server114 sbin]# ./named

[root@server114 sbin]# ps -ef | grep -v grep | grep named

root     16297     1  0 23:25 ?        00:00:00 ./named




 DNS 서버 변경후 네트워크 재시작


 1. /etc/resolv.conf 열어서 변경하고 네트워크재시작 후 dns 서버변경 확인


[root@server114 sbin]# vi /etc/resolv.conf                                    ; dns서버를 내 아이피주소로 설정함.

[root@server114 sbin]# service network restart

Shutting down interface eth0:                              [  OK  ]

Shutting down loopback interface:                          [  OK  ]

Bringing up loopback interface:                            [  OK  ]

Bringing up interface eth0:                                [  OK  ]





2. nslookup으로 변경 확인

[root@server114 named]# nslookup

> naver.com

Server:         172.16.5.114

Address:        172.16.5.114#53


Name:   naver.com

Address: 173.194.127.152      -> 구글 ip주소.

>


>> VMware상 RHEL5 인터넷켜서 naver.com치면 google열림


반응형

'linux' 카테고리의 다른 글

[서버구축] Mail  (0) 2016.03.08
[서버구축] FTP  (0) 2016.03.08
Shell Script  (0) 2016.03.08
Visual Editor(vi editor) 명령어 / network 정보  (0) 2016.03.08
[명령어] - 3. Process / RPM / Cron 관리  (0) 2016.03.08
반응형


Shell 종류

 Bourn sh  :  최초의 shell 

 C sh   :  근대적 shell의 시초

 Korn sh :  유닉스계열에서 많이 사용

 Bash sh  리눅스 기본쉘

 /bin/sh

 /bin/csh

 /bin/ksh

 /bin/bash


- 각각의 쉘마다 처리하는 명령어가 다를수 있음

- 실행파일의 위치

/bin

/usr/bin  (일반사용자)

/usr/sbin (루트사용자)


Shell Script형식

 

실행방법 : sh 명령이용 or 실행권한을 주고 ./로 실행

# : 주석처리 (첫줄은 #!/bin/bash 로 예외, 이 스크립트를 수행할 shell이름 적는 부분)


- echo : 내용을 화면에 출력 (=printf)

  ex) echo  -n 출력할 문장 "   ( -n: 줄을 바꾸지 않고 연속적으로 출력 )

       echo  `실행할 명령어 


- 변수사용 데이터를 저장하기 위한 임시 기억 공간

변수지정 : 변수명=값 ( = 기호 좌우에 공백불허용, 변수값안에 공백이 있을경우 반드시 " "로 묶어줘야함)

변수호출 : echo $변수명

환경변수 : 변수 중에서 서버를 운영하기 위해 미리 생성되어 있는 변수 (환경변수명은 대문자로 사용함)

      환경변수의값은 /etc/profile 이나 사용자의 홈디렉토리안에 .bash_profile등에 설정되어있음


- read함수 : ​사용자로부터 값을 입력받아 변수에 저장 (=scanf),  변수를 먼저 선언할 필요없이 바로 사용. 

ex)   read name 

echo " Name: $name"

- argument(인수)를 사용한 실행 : 사용자에게 인수를 입력받아 출력.         $0            $1       $2       $3

ex)  echo "name : $1, address: $2 , Tel: $3, filename: $0"         [root]#  sh echo_test.sh dahye incheon 4387  

 

크기비교 [  공백 주의!! ]


[ $A -gt  $B ] : A > B

[ $A -lt $B ] : A < B

[ $A -ge $B ] : A ≥ B

[ $A -le  $B ] : A ≤ B

[ $A -eq $B ] : A = B 

[ $A -ne $B ] : A ≠ B



자계산


(`expr ` 사용해 연산, 모든데이터를 문자로 취급하기때문)


 ex) hap=`expr  $A  +  $B`    ( ` ` 역따옴표 표시 꼭 해야함) 

 * 연산자와,  ( ) 괄호 에는 꼭 탈출문자\를 사용해야함

  expr 구문안에서의 모든 연산자와 기호, 변수 사이에는 공백으로 

  한칸 씩 띄워줘야한다

 ex) result=`expr  \(  $A  +  $B  \)  \*  $C` 



문자열 비교 [  공백 주의!! ]  


 [ "string1" = "string2" ]    : 두문자열 같을 경우  

 [ "string1" != "string2" ]   : 두문자열 다를 경우

-z "string" ]      :  문자열의 길이 0인경우 

   [ -n "string" ]      :  문자열의 길이 0아닌경우



 

파일관리 -옵션 파일명 ]


-f : 파일이 있는경우

-s : ​파일이 존재하고 내용이 있는 경우

-d : 디렉토리인 경우                         

-r : 읽기 가능한 파일일 경우  

-w : 쓰기 가능한 파일일 경우

-x : 파일이 존재하고 실행 가능할 경우

!-옵션 : 옵션의 조건이 아닐 경우


 



조건문(if, case)과 반복문(for, while)



if    

case 

for 

while / until


if [ 조건 ];then

   실행문장

   exit

elif [ 조건 ];then  

   실행문장

   exit 

else

   if[조건];then

       실행문장

   elif[조건];then

       실행문장

   fi

fi    

 

case 변수 in

패턴 1)

   실행명령 ;;

패턴 2)

   실행명령 ;;

패턴 3)

   실행명령 ;;

*)

   실행명령 ;;

esac

 

       for 변수  in

       do

            for 변수 in

            do

     실행문장

            done

       done


    while or until [조건문]

      do

          반복할 문장

      done


        

 - 연습문제 : * 찍기!!!



반응형

'linux' 카테고리의 다른 글

[서버구축] FTP  (0) 2016.03.08
[서버구축] DNS  (0) 2016.03.08
Visual Editor(vi editor) 명령어 / network 정보  (0) 2016.03.08
[명령어] - 3. Process / RPM / Cron 관리  (0) 2016.03.08
[명령어] - 2. 권한 / 디스크 관리  (0) 2016.03.08
반응형


Vi Editor

 

Vi mode

command mode(기본모드)​대부분의 작업이 이 모드에서 진행됨.

delete, change, copy, move next, cursor 위치변경, text strings 검색, vi editor 종료 등


edit mode(편집모드) - ​기본모드에서 아래의 키를 입력하면 편집모드로 변환,


O 

I 가         나   i       a    라       마   A
o               (현재커서위치)


- last line mode편집모드에서ESC(=기본모드) ->  :(콜론),/,?를 눌러 변환 ) : 저장, 검색, 치환




Vi 명령어


- 새로운글자 입력

i : 커서 앞 text추가
: 커서 뒤 text추가
o : 커서 아래에 새로운 줄이 생성되어 text추가
 I : 커서 있는 줄 가장 앞쪽에 text추가
A : 커서 있는 줄 가장 뒤쪽에 text추가
O : 커서 위에 새로운 줄을 생성되어 text추가


- 위치이동

  h      j       k       l

 ←     ↓      ↑      →

 

 w  : 앞으로 한단어 이동                       ctrl + : 한페이지 아래로(f), 위로(b)

 b :  로 한단어 이동                                      반페이지 아래로(d), 위로(u) 

 e : 재 단어의 끝으로 이동

 $ :  현재라인의 끝으로 이동 

 0 :  현재라인의 처음으로 이동


- 글자삭제

x : 커서가 위치한 한글자 cut

dw : 위치한 곳에서부터 한단어 cut

dd : 커서 라인 cut

D : 커서가 위치한 곳에서부터 라인의 마지막 부분까지 cut

:5, 10d : 5~10번째 라인 delete    (:13, .d : 13번째부터 현재커서위치까지 라인 delete)


- 글자변경

J :  현재라인, 아래쪽라인  join

~ :  대소문자 변경

u : 이전 command 원상태로 돌림 (= ctrl +z (윈도우))

U : 현재라인 모든변경 원상태로 돌림


- 글자검색

/string :  해당string을 아래로 진행하며 검색

?string :  해당string을 위로 진행하며 검색

: string의다음위치 검색

string의이전위치 검색

:%s/old/new/g : file에서 old문자를 new문자로 교체


- 복사/붙여넣기

yy : 커서가있는 줄 복사

p : 커서가 위치한 아랫줄에 붙여넣기

P 커서가 위치한 윗줄에 붙여넣기 

:1,3 co 5 : 1~3번 라인을 복사해 5번 다음 라인에 붙여넣기

:4,6 m 8 : 4~6번 라인을 8번 라인으로 이동


- 저장

:w : 변경사항 저장

:w new_filename : new_filename으로 저장

:wq : 변경사항 저장하고 종료 (일반계정)

:wq! : 강제로 변경사항 저장하고 종료 (root계정)

:q! : 변경사항 저장하지않고 강제종료


- 각종설정

:set nu : 라인 number 보기/ nonu (숨기기)

:set noic : 검색시 대소문자 구분

- 이동

G : 마지막라인으로 이동

1G : 첫라인으로 이동

:21 : 21번줄로 이동


네트워크정보

 ~p336 )


IP MAC

-IP Address : 공인ip/사설ip

-MAC(media access control) Address (=hardware address)


Subnet mask



파일위치 (Linux 서버에서 ip관련 파일

ip관련 파일 : /etc/sysconfig/network-scripts

eth0 (첫번째 랜카드)

eth1 (두번째 랜카드)

- 서버이름 : /etc/sysconfig/network

- ip, gw, netmask  /etc/sysconfig/network-scripts/ifcfg-eth0

- dns /etc/resolv.conf

 


 * neat : 리눅스에서 네트워크설정 창(GUI환경) 띄우는 명령어 

 (eth0편집 설정변경후 /etc/init.d/network restart 로 네트워크 재시작)





반응형

'linux' 카테고리의 다른 글

[서버구축] DNS  (0) 2016.03.08
Shell Script  (0) 2016.03.08
[명령어] - 3. Process / RPM / Cron 관리  (0) 2016.03.08
[명령어] - 2. 권한 / 디스크 관리  (0) 2016.03.08
[명령어] 1. 기본 / 사용자관리  (0) 2016.03.08