개인 자료 정리 홈페이지 입니다.

Note > 리눅스 명령어 모음netstat

By a3040, Published on Invalid Date

네트워크 연결 상태와 관련된 정보를 출력하는 명령어입니다. 


-a: 현재 시스템에서 열린 모든 포트와 연결 상태를 출력합니다.

-r : 라우팅 테이블을 출력합니다.


-n: IP 주소와 포트 번호를 숫자 형태로 출력합니다.

-l: 현재 시스템에서 대기 중인 포트와 연결 상태를 출력합니다.

-t: TCP 프로토콜을 사용하는 포트와 연결 상태를 출력합니다.

-p: 해당 포트를 사용하는 프로세스 이름을 함께 출력합니다.


]#  netstat -r

Kernel IP routing table

Destination   Gateway     Genmask     Flags  MSS Window irtt Iface

default     183.111.227.1  0.0.0.0     UG    0 0     0 eth0

172.17.0.0   0.0.0.0     255.255.0.0   U     0 0     0 docker0

Note > 리눅스 명령어 모음ifconfig

By a3040, Published on Invalid Date

ifconfig - configure a network interface


네트워크 인터페이스의 정보를 확인하고 설정하는 명령어입니다.


와! 우분투 새로 설치했는데 기본명령어에 없네요. 이제 유물이된 명령어군요.

$ ifconfig -a

모든 인터페이스 정보 확인


$ ifconfig enp0s3

enp0s3 인터페이스 상태 확인



IP 주소 변경

$ ifconfig enp0s3 10.0.2.16 netmask 255.255.255.0


$ ifconfig eth0 down

eth0를 비활성화 시키는데 이런 명령어는 콘솔에서만 하세요. 원격에서 할 경우 이더넷번호 잘 확인하고 하셔야합니다.

서버의 네트워크 카드가 하나 비활성화됩니다.


root@example:~# ifconfig eth0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

inet 183.111.227.134 netmask 255.255.255.0 broadcast 183.111.227.255

inet6 fe80::216:3eff:fe99:1e53 prefixlen 64 scopeid 0x20<link>

ether 00:16:3e:99:1e:53 txqueuelen 1000 (Ethernet)

RX packets 12696368 bytes 2719999525 (2.7 GB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 6012316 bytes 1481087487 (1.4 GB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0


flags: eth0 인터페이스의 상태 정보를 나타냅니다. UP (인터페이스 활성화), BROADCAST (브로드캐스트 지원), RUNNING (인터페이스 작동 중), MULTICAST (멀티캐스트 지원) 등의 정보를 포함합니다.

mtu: eth0 인터페이스의 MTU(Maximum Transmission Unit) 값입니다. 이 값은 한 번에 전송할 수 있는 데이터 패킷의 최대 크기를 나타냅니다.

inet: eth0 인터페이스의 IPv4 주소입니다.

netmask: eth0 인터페이스의 넷마스크(mask) 값입니다. 이 값은 네트워크 주소와 호스트 주소를 구분하는데 사용됩니다.

broadcast: eth0 인터페이스의 브로드캐스트 주소입니다.

inet6: eth0 인터페이스의 IPv6 주소입니다.

ether: eth0 인터페이스의 MAC 주소입니다.

txqueuelen: eth0 인터페이스의 송신 큐 길이입니다. 이 값은 송신 패킷의 대기열 길이를 나타냅니다.

RX packets, bytes, errors, dropped, overruns, frame: eth0 인터페이스의 수신 통계 정보입니다. RX packets는 수신한 패킷 수, bytes는 수신한 바이트 수, errors는 수신 중 에러가 발생한 횟수, dropped는 수신 중 패킷이 유실된 횟수, overruns은 수신 중 오버런이 발생한 횟수, frame은 수신 중 프레임 에러가 발생한 횟수를 나타냅니다.

TX packets, bytes, errors, dropped, overruns, carrier, collisions: eth0 인터페이스의 송신 통계 정보입니다. TX packets는 송신한 패킷 수, bytes는 송신한 바이트 수, errors는 송신 중 에러가 발생한 횟수, dropped는 송신 중 패킷이 유실된 횟수, overruns은 송신 중 오버런이 발생한 횟수, carrier는 송신 중 캐리어 감지 에러가 발생한 횟수, collisions는 송신 중 충돌이 발생한 횟수를 나타냅니다.

Note > 개발환경과도구정리winmerge

By a3040, Published on Invalid Date

두 개의 파일 또는 폴더를 비교하여 파일이나 폴더 간의 차이점을 찾아내고, 이를 하나의 파일로 병합할 수 있습니다.무료이며, 오픈 소스 프로젝트로 개발되고 있어서 누구나 자유롭게 사용할 수 있습니다. 


WinMerge - 차이를 알게 될 것입니다…


1.다운로드 및 설치

다운로드 파일을 클릭하여 실행하고 설치합니다.


- 간단 사용 방법

파일 > 열기 후 비교가 필요한 파일을 찾아보기를 통해 두개 선택합니다. 그 후 하단 "비교" 버튼을 클릭합니다.

winmerge 비교파일 선택


비교 실행 화면입니다. 필요한 경우 차이가 나는 부분을 확인하고 필요한쪽에 병합하거나 할수있습니다.

winmerge 비교화면

Note > npm cli 명령어 모음npm install

By a3040, Published on Invalid Date

패키지를 설치하기 위한 명령어입니다.


웹프로그램을 개발해보려고 express라는 패키지를 설치해보겠습니다.

package.json 파일의 dependencies 항목에 해당 패키지 정보가 자동으로 추가됩니다.

작업하고 있던 폴더에는 node_modules라는 폴더가 생성되며 프로젝트에 종속된 패키지 관리를 수행합니다.


개발용으로 node대신 nodemon 패키지도 설치해봅니다.

package.json 파일에는 devDependencies 항목이 추가됩니다.



git 등에서 clone으로 프로젝트를 설치한 후 package.json이 존재할때

npm install [엔터]

를 실행하시면 package.json파일 안의 종속성 패키지들 전체가 설치 됩니다.


현재 작업중인 프로젝트에 설치

npm install [패키지명]: 프로젝트의 로컬 디렉토리에 패키지를 설치합니다. 이때 package.json 파일의 dependencies 항목에 해당 패키지 정보가 추가됩니다.


npm install [패키지명] --save: 위와 동일하게 패키지를 설치하면서, package.json 파일의 dependencies 항목에 해당 패키지 정보를 추가합니다.


npm install [패키지명] --save-dev 또는 npm install [패키지명] -D 명령어를 사용하여 설치하면, package.json 파일에는 devDependencies 항목이 추가되어, 해당 패키지가 개발 시에만 필요한 패키지임을 명시합니다.


node가 설치된 전체 설치

npm install [패키지명] -g: 글로벌하게 패키지를 설치합니다



Note > npm cli 명령어 모음npm run

By a3040, Published on Invalid Date

package.json 파일에서 정의된 스크립트를 실행하기 위한 명령어입니다. 이 명령어를 사용하면 커스텀 명령어를 실행할 수 있습니다.


npm init 로 package.json을 생성한 후 package.json의 scripts 부분을 수정합니다.

  "scripts": {
    "start": "node index.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },

index.js 추가 후

console.log("1");

npm run [scripts]


node가 자바스크립트런타임이기 때문에

> node index.js 라고 터미널에 직접 입력하셔도 됩니다.

node로 직접 실행