[Ubuntu] 우분투 시스템 재시작[Ubuntu] 우분투 시스템 재시작

Posted at 2018. 7. 19. 16:04 | Posted in Linux/Ubuntu
반응형




■ 시스템 종료 명령어




# 시스템 재시작


 $ sudo reboot 


 -. 시스템을 재시작 하는 명령어이다.

 -. 재시작을 하게 되면 현재 동작중인 프로그램이 모두 강제 종료되므로 주의해야 한다.




# 시스템 종료


 $ sudo shutdown now

OR

 $ sudo halt


 -. 시스템을 종료하는 명령어이다.

 -. 시스템을 재시작 명령이나 종료 명령은 root 사용자만이 실행할 수 있는 명령이기 때문에 반드시 sudo를 붙여서 실행해 주어야 한다.




# 일정 시간 경과 이후 시스템 종료


 $ sudo shutdown -h 10 ( 10분 뒤에 시스템 종료 )

 $ sudo shutdown -h 8:30 ( 8시 30분에 시스템 종료 )




# 일정 시간 뒤에 시스템 재시작


 $ sudo shutdown -r 10 ( 10분 뒤에 재시작 )

 $ sudo shutdown -r 8:30 ( 8시 30분에 재시작 )




# 종료 또는 재시작 예약 취소


$ sudo shutdown -c






반응형

'Linux > Ubuntu' 카테고리의 다른 글

[Ubuntu] 우분투 사용자 권한 설정  (0) 2018.07.20
[Ubuntu] 우분투의 시스템 구조  (0) 2018.07.19
[Ubuntu] 네트워크 관련 명령어  (0) 2018.07.19
[Ubuntu] 우분투 Package 관리  (0) 2018.06.29
[Ubuntu] Terminal 사용하기  (0) 2018.06.27
//

[Ubuntu] 네트워크 관련 명령어[Ubuntu] 네트워크 관련 명령어

Posted at 2018. 7. 19. 15:51 | Posted in Linux/Ubuntu
반응형





■ 네트워크 관련 명령어


 -. 우분투를 포함한 리눅스를 사용하게 어되면 대부분 네트워크를 통한 서비스를 하거나 작업을 하는 경우가 많다.

 -. 따라서 가장 많이 쓰이는 명령어들 중 하나가 네트워크를 확인하거나 설정하는 명령어들이다.


# 연결에 문제가 없는지 확인하는 명령어 ping


 $ ping IP주소 또는 도메인 주소 


 -. ping은 가장 기본적인 네트워크 명령어로 연결에 문제가 없는지 확인하는 명령어이다.

 -. 예를 들어 자신의 컴퓨터가 인터넷에 잘 연결되어 있는지 확인하려면 위와 같이 입력하면 된다.

 -. 위와 같은 결과가 나온다면 google.com 서버로부터 응답을 받았다는 의미이며, 이는 컴퓨터가 인터넷에 잘 연결되었다는 의미이다.




# 네트워크 장치 목록 확인 ifconfig


 $ ifconfig 


 -. ifconfig 명령어는 운영체제에 설정된 네트워크 장치의 목록을 보여준다.

 -. 위 이미지는 필자의 환경에서 실행한 결과이다.

 -. 위 항목에서 eth0, lo 라고 적혀진 부분이 각각의 하나의  네트워크 장치로 인식된 장치를 말한다.

 

 ① enp0s3, eth0

   · 우분투 16버전이상부터 eth0가사라지고 enp0s3가사용된다.

   · enp0s3라고 적힌 네트워크 장치가 실제로 네트워크와 연결되는 장치를 의미한다.

   · 만약 네트워크장치가 1개가 아니라면 eth1, eth2 … 이런 식으로 여러 개가 존재하게 된다.

   · inet addr이다 이 정보가 바로 IP 주소정보이다.

 

 ② lo

   · lo라는 항목은 좀 특이한 항목이다. lo는 loopback이라 불리며 실제 물리적으로 연결된 네트워크의 연결과는 별개로 존재한다. 이는 운영체제 자신을 가리키고 있는 장치이다.

   · lo장치는 항상 IP주소가 127.0.0.1을 항당 받는데 이는 관례적으로 자기 자신을 가리키는 IP 주소로 사용된다.

   · 용도는 외부 네트워크가 아닌 동일 컴퓨터에서 동작중인 서버나 프로그램에 접속할 때 사용한다.




※ ifconfig가 실행되지 않는경우


 -. 우분투 18.04버전을 처음 설치하고 ifconfig 명령을 수행 중 실행이 되지 않는 경우가 발생 하였다.

 -. 이경우 net-tools 패키지를 설치함으로서 해결 할 수 있다.


 $ sudo apt install net-tools



# ifconfig를 활용한 네트워크 IP 주소 변경


 $ ifconfig enp0s3 192.168.1.5 


 -. 위 명령은 enp0s3라는 네트워크 장치의 IP를 192.168.1.5로 변경하라는 명령이다.



# 네트워크의 연결 상태를 모니터링하는 netstart


 

 $ netstat -at


 -. netstat은 네트워크의 연결 상태를 모니터링 하는 명령어이다.

 -. netstat을 이용하게 되면 어떤 서비스가 활성화되어 동작 중인지, 어떤 클라이언트가 접속 중인지를 파악할 수 있다.

 -. tcp의 연결 상태를 보고 싶다면 위와 같이 입력한다.

 -. 이 명령으로 현재 컴퓨터에서 어떤 서비스가 동작하고 있는지를 알 수 있다.


 

Active Internet connections ( servers and established )

Proto

Recv-Q

Send-Q

Local Address

Foreign Address

State


tcp

0

0

localhost:59479

*:*

LISTEN


tcp

0

0

localhost:postgresql

*:*

LISTEN


tcp

0

0

*:8089

*:*

LISTEN


tcp

0

0

localhost:mysql

*:*

LISTEN


tcp

0

0

localhost:http-alt

*:*

LISTEN


tcp

0

0

*:ssh

*:*

LISTEN


tcp

0

0

localhost:postgresql

localhost:46709

TIME_WAIT


tcp

0

36

localhost:ssh

58.122.34.74:53001

ESTABLISHED


tcp

0

0

localhost:postgresql

localhost:46720

TIME_WAIT


tcp

0

0

localhost:postgresql

localhost:46718

ESTABLISHED


tcp

0

0

localhost:postgresql

localhost:46706

ESTABLISHED


tcp

0

0

localhost:postgresql

localhost:46705

TIME_WAIT


tcp

0

0

localhost:postgresql

localhost:46715

TIME_WAIT


tcp

0

0

localhost:postgresql

localhost:46721

ESTABLISHED

 :: 리눅스의 신 168page 결과값 ::


 -. ③번째 항목에서 보이듯이 tcp포트 8089가 클라이언트 접속 대기중인 것을 알 수 있다.

 -. State가 LISTEN인 항목은 "클라이언트의 접속 대기 중"이라는 의미이다.

 -. State가 ESTABLISHED인 항목은 "이미 클라이언트가 해당 서비스를 사용하기 위해 접속되어 있다."라는 의미이다.




# 인터넷 라우팅 테이블 정보를 보여주는 route


 $ route 



 -. route 명령은 인터넷 라우팅 테이블 정보를 보여준다.

 -. 패킷이라고 부르는 데이터 조각이 발신 컴퓨터에서 출발해 인터넷을 거쳐서 목적지까지 도착하려면 수많은 라우터 또는 게이트웨이를 지나가야 한다.

 -. 이렇게 패킷이 라우터를 거쳐서 전달되는 과정을 라우팅(Routing)이라고 한다.

 -. 라우팅에서 가장 중요한 것이 첫 번째 게이트웨이 정보이다.

 -. 우리는 첫 번째 게이트웨이까지만 패킷을 전달해주면 그 이후 패킷이 잘 전달되게 하는 것은 첫번째 게이트웨이의 몫이기 때문이다.

 -. 보통 인터넷 공유기를 사용하면 첫 번째 게이트웨이는 공유기가 된다.를


 

Kernel IP routing table

Destination

Gateway

Genmask

Flags

Metric

REF

Use

Iface


defalut

10.211.55.1

0.0.0.0

UG

0

0

0

eth0


10.211.55.0

*

255.255.255.0

U

1

0

0

eth0

 :: 리눅스의 신 170page 결과값 ::


 -. 위 표를 통해 알 수 있듯이 필자의 게이트웨이는 default라고 되어 있는 10.211.551 주소이다.

    따라서 컴퓨터에서 위보루 보내지는 모든 패킷은 10.211.55.1로 전달되게 된다.

 -. 만약 게이트웨이 IP주소가 잘못되어 있다면(즉, 이너텟 공유기 주소가 아니라면) 인터넷이 연결되지 않는다.





반응형

'Linux > Ubuntu' 카테고리의 다른 글

[Ubuntu] 우분투의 시스템 구조  (0) 2018.07.19
[Ubuntu] 우분투 시스템 재시작  (0) 2018.07.19
[Ubuntu] 우분투 Package 관리  (0) 2018.06.29
[Ubuntu] Terminal 사용하기  (0) 2018.06.27
Wine을 이용하기  (0) 2018.06.26
//

[JAVA] JAVA에서 Map 이란?[JAVA] JAVA에서 Map 이란?

Posted at 2018. 7. 17. 02:55 | Posted in JAVA
반응형




■ 자바에서 맵(Map) 이란?




 -. 자바에서의 Map은 키(Key)와 값(Value)으로 이루어져 있다.

 -. 자바의 Map은 키와 값이 1 : 1로 저장된다.

 -. 키(Key)는 중복되지 않는다. 만약 키가 다르고, 값이 동일하다면 Map에서는 다른 것으로 간주한다.

  ① 모든 데이터는 키와 값이 존재한다.

  ② 키가 없이 값만 저장될 수는 없다.

  ③ 값이 없이 키만 저장할 수도 없다.

  ④ 키는 해당 Map에서 고유해야만 한다.

  ⑤ 값은 Map에서 중복되어도 전혀 상관 없다.



  -. Map은 java.util 패키지의 Map이란 이름의 인터페이스로 선언되어 있고, 구현해 놓은 클래스들도 많이 있다.


메소드 이름 및 매개 변수

리턴 타입

설 명

 put(K key, V value)

V

 첫번째 매개 변수인 키를 갖고 두번째 매개변수인 값을 갖는 데이터를 저장한다.

 putAll(Map<? extends K, ? extends V> m)

void

 매개 변수로 넘어온 Map의 모든 데이터를 저장한다.

 get(Oubject key)

V

 매개 변수로 넘어온 키에 해당하는 값을 넘겨준다.

 remove(Object key)

V

 매개 변수로 넘어온 키에 해당한느 값을 넘겨주며, 해당 키와 같은 Map에서 삭제한다.

 keySet()

Set<K>

 키의 목록을 Set 타입으로 리턴한다.

 values()

Collection<V>

 값의 목록을 Collection 타입으로 리턴한다.

 entrySet()

Set<Map.Entry<K, V>>

 Map 안에 Entry라는 타입의 Set을 리턴한다.

 size()

size()

 Map의 크기를 리턴한다.

 clear()

clear()

 Map의 내용을 지운다.


 -. Map을 사용할 때 꼭 기억해야 하는 것은 맵에 데이터를 넣는 put(), 데이터를 확인하는 get(), 데이터를 삭제하는 remove()메소드 이다.





반응형
//

[JAVA] JAVA의 접근 제어자[JAVA] JAVA의 접근 제어자

Posted at 2018. 7. 17. 01:55 | Posted in JAVA
반응형




■ 자바의 접근 제어자




 -. 자바를 배우면 꼭 외우고, 이애하고 있어야 하는 것 중에 접근 제어자(Access modifer)라는 것이 있다.

 -. 자바의 접근 제어자에는 4개가 있다.

 -. 접근 제어자는 클래스, 메소드, 인스턴스 클래스 변수를 선언할 때 사용된다.


    package c.javapackage.sub;


    public class Sub {


        // 중간 생략

        public void publicMethod() {


        }


        protected void protectedMethod() {


        }


        /* package-private */

        void packagePrivateMethod() {


        }


        private void privateMethod() {


        }

    } 


 자바에는 이와 같이 public, protected, package-private(접근 제어자 없음), private 로 총 4가지로 접근 제어자가 있다.


 ① public : 누구나 접근 할 수 있도록 할 때 사용한다.

 ② protected : 같은 패키지 내에 있거나 상속받은 경우에만 접근할 수 있다.

 ③ package-private : 아무런 접근 제어자를 적어주지 않을 때이며, package-private라고 불린다. 같은 패키지 내에 있을 때만 접근할 수 있다.

 ④ private : 해당 클래스 내에서만 접근 가능하다.


 

해당 클래스 안에서

같은 패키지에서

상속 받은 클래스에서

import한 클래스에서

 public



 protected


×

 (package private)

×

×

 private

×

×

×








반응형
//