[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] JVM 프로그램의 메모리 영역 (0) | 2020.04.27 |
---|---|
[JAVA] 자바 개발자로서 알아야 하는 것들 (3) | 2020.02.18 |
[JAVA] 객체지향 개발과 관련 용어 (0) | 2019.12.27 |
[JAVA] Java의 역사와 JVM, 알아두어야 하는 상식 (0) | 2019.11.06 |
[JAVA] JAVA의 접근 제어자 (0) | 2018.07.17 |
[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 |
○ |
× |
× |
× |
'JAVA' 카테고리의 다른 글
[JAVA] JVM 프로그램의 메모리 영역 (0) | 2020.04.27 |
---|---|
[JAVA] 자바 개발자로서 알아야 하는 것들 (3) | 2020.02.18 |
[JAVA] 객체지향 개발과 관련 용어 (0) | 2019.12.27 |
[JAVA] Java의 역사와 JVM, 알아두어야 하는 상식 (0) | 2019.11.06 |
[JAVA] JAVA에서 Map 이란? (0) | 2018.07.17 |