설명

- 파일을 여러 조각으로 나눈다.


옵션

- b : SIZE 바이트만큼 출력파일을 나눈다.

- l : 라인수만큼 파일을 나눈다.

- d : 알파벳 대신 숫자로 파일명을 생성한다.


사용예

- 바이트로 나누기

$ split -b 100M web.log.2015-02-10

-rw-rw-r-- 1 root root 723M 2015-02-11 16:17 web.log.2015-02-10
-rw-rw-r-- 1 root root 100M 2015-02-11 17:26 xaa
-rw-rw-r-- 1 root root 100M 2015-02-11 17:26 xab
-rw-rw-r-- 1 root root 100M 2015-02-11 17:26 xac
-rw-rw-r-- 1 root root 100M 2015-02-11 17:26 xad
-rw-rw-r-- 1 root root 100M 2015-02-11 17:26 xae
-rw-rw-r-- 1 root root 100M 2015-02-11 17:26 xaf
-rw-rw-r-- 1 root root 100M 2015-02-11 17:26 xag
-rw-rw-r-- 1 root root  23M 2015-02-11 17:26 xah


- 50만 라인으로 나누기

$ split -l 500000 web.log.2015-02-10

-rw-rw-r-- 1 root root 723M 2015-02-11 16:17 web.log.2015-02-10
-rw-rw-r-- 1 root root 128M 2015-02-11 17:32 xaa
-rw-rw-r-- 1 root root 139M 2015-02-11 17:32 xab
-rw-rw-r-- 1 root root 142M 2015-02-11 17:32 xac
-rw-rw-r-- 1 root root 140M 2015-02-11 17:32 xad
-rw-rw-r-- 1 root root 141M 2015-02-11 17:32 xae
-rw-rw-r-- 1 root root  35M 2015-02-11 17:32 xaf


- mylog_숫자 파일명으로 나누기

$ split -l 500000 -d web.log.2015-02-10 mylog_

-rw-rw-r-- 1 root root 128M 2015-02-11 17:36 mylog_00
-rw-rw-r-- 1 root root 139M 2015-02-11 17:36 mylog_01
-rw-rw-r-- 1 root root 142M 2015-02-11 17:36 mylog_02
-rw-rw-r-- 1 root root 140M 2015-02-11 17:36 mylog_03
-rw-rw-r-- 1 root root 141M 2015-02-11 17:36 mylog_04
-rw-rw-r-- 1 root root  35M 2015-02-11 17:36 mylog_05
-rw-rw-r-- 1 root root 723M 2015-02-11 16:17 web.log.2015-02-10


'서버 > 리눅스 명령어' 카테고리의 다른 글

[리눅스] du  (0) 2015.09.07
[리눅스] df  (0) 2015.09.07
[리눅스] ps  (0) 2015.09.04
[리눅스] ifconfig  (0) 2015.03.01
[리눅스] netstat  (0) 2015.01.27
Posted by SungHoon, Park
,

netstat 명령어는 네트워크 정보(상태, 프로토콜 통계 등)를 제공해주는 명령어이다.

netstat 명령어는 대부분의 OS에서 지원된다.


다음은 netstat에 대한 옵션 정보이다.


 옵션

상세설명 

 -a

 모든 소켓정보를 출력 

 -c

 매초마다 결과를 출력 

 -l

 LISTEN 상태의 소켓정보를 출력 

 -t

 TCP 연결포트 출력 

 -u

 UDP 연결포트 출력 

 -n

 주소,포트형식 → 숫자형식 으로 출력

 -p

 소켓과 관련된 PID, 애플리케이션명을 출력 

 -g

 라우팅 테이블 정보 출력 


그리고 이것은 네트워크 상태에 관한 설명이다.


상태 

상세설명 

 LISTEN

 연결을 기다리고 있는 상태. 포트가 열려있음

 ESTABLISHED

 네트워크가 서로 연결되어 있는 상태. 포트가 사용중임

 TIME_WAIT

 연결은 종료되었으나, 다른 명령을 기다리고 있는 상태

 CLOSED

 완전히 연결 종료 

(일단 아는 것만 우선 나열.. 네트워크 공부를 좀 더 하고 추가할 예정 -_ㅠ;)



모든 네트워크 정보 보기

아무 옵션없이 netstat 명령어를 치면 된다.


netstat


라우팅 테이블 정보 보기


netstat -r (또는 --route)


열려있는 모든 네트워크 확인


netstat -na


LISTEN하고 있는 네트워크 확인


netstat -l

netstat -na | grep LISTEN 

(이렇게 할 경우 모든 결과를 가져오고 grep을 하기 때문에 -l 보다 처리시간도 길고 CPU 점유도 많다. 비추천함)


현재 아파치에 연결되어 있는 네트워크 확인


netstat -na | grep :80 | grep ESTABLISHED


현재 아파치 동접(동시접속수) 확인


netstat -na | grep :80 | grep ESTABLISHED | wc -l


네트워크 인터페이스가 어떤 멀티캐스트 그룹에 속해 있는지 확인하기


netstat -g (또는 --groups)


'서버 > 리눅스 명령어' 카테고리의 다른 글

[리눅스] du  (0) 2015.09.07
[리눅스] df  (0) 2015.09.07
[리눅스] ps  (0) 2015.09.04
[리눅스] ifconfig  (0) 2015.03.01
[리눅스] split  (0) 2015.02.11
Posted by SungHoon, Park
,

이벤트 버블링과 반대되는 개념으로서,

이벤트가 상위노드에서 하위노드로 전파되어 실행된다.

(※ 캡쳐링의 경우는 IE9 이전 버전에서는 지원하지 않는다.)


이고잉님 생활코딩 강의에 너무 잘 설명되어 있어서 링크로 대신한다.

http://opentutorials.org/module/904/6768

Posted by SungHoon, Park
,

스크립트 이벤트 순서가 자식노드에서부터 상위 부모노드로 올라가면서 연속적으로 실행되는 것을 말한다.


<html>
<head>
	<style type="text/css">
		.parent {width:300px; height:300px; background-color:red;}
		.child {width:150px; height:150px; background-color:yellow;}
	</style>
	<script type="text/javascript">
	function parent(){
		alert("parent clicked");
	}
	
	function child(){
		alert("child clicked");
	}	
	</script>
</head>
<body>
	<div onclick="parent();" class="parent">
		<div onclick="child();" class="child"></div>
	</div>
</body>
</html>




위 코드를 실행하면 나오게 되는 화면이다.

부모 <div>와 자식 <div>가 겹쳐지는 부분인 노란색 영역을 클릭하게 되면 "child clicked" 얼럿이 뜨고 나서 "parent clicked" 얼럿이 뜨게 된다.


이것을 막기 위해선 event 속성의 cancleBubble값을 true로 설정하여야 한다.


	function child(){
		alert("child clicked");
		event.cancelBubble = true;
	}


또는 jQuery를 통해서 다음과 같이 처리할 수도 있다.


	jQuery(".child").click(function(e){
		e.stopPropagation();
	});



Posted by SungHoon, Park
,

인텔리J에서 패키지 구조가 하위에 1개씩만 있을 경우는 아래와 같이 패키지명이 Flat하게 연결된다. (기본설정임)

이 경우에 패키지명을 Refactor하게 되면 제일 하위의 updatable만 변경할 수 있다.



전체 패키지명을 수정하기 위해서는 Project탭의 설정 아이콘(톱니바퀴)를 클릭하여 

Compact Empty Middle Packages체크 해제한다.



체크해제 하게 되면 아래와 같이 Hierarchical하게 패키지명이 표현되며 Refactor를 통해서 전체 패키지명을 변경할 수 있게 된다.





Posted by SungHoon, Park
,

폰트변경


폰트는 개인취향이므로 원하는 폰트로 바꿔도 무방하다. 개인적으로 최근에 코딩용으로 새로나온 D2Coding이 괜찮은 것 같다.


1) File → Settings(Ctrl+Alt+S) → Editor → Colors & Fonts → Font로 이동

2) Save As를 눌러 새로운 이름으로 Scheme 생성

3) Primary Font를 'D2Coding', 크기를 15로 설정



스펠링체크 해제


인텔리J 기본설정은 영어 스펠링을 체크한다. 프로젝트 전문용어나 축약어가 코드에 사용될 경우 노란색 밑줄이 표시되어 지저분하므로, 스펠링 체크해제하도록 한다.

 

File → Settings(Ctrl+Alt+S) → Inspections → Spelling 옵션 체크 해제



매크로를 통한 Save Actions 기능 추가


이클립스의 경우 Save Actions 기능이 있어서 저장시 소스 포맷팅, import 등을 정리하기 쉽다. 하지만 인텔리J에는 이 기능이 없는데, 인텔리J에서는 매크로 기능으로 동일하게 구성할 수 있다.


1) Edit → Macros → Start Recording 시작 (이후 발생하는 액션이 저장된다)

2) Ctrl + Alt + L 입력: 코드 포맷팅 수행

3) Ctrl + Alt + O 입력: import 정리 수행

4) Ctrl + S: 파일 저장 기능

5) Edit → Macros → Stop Recording 종료

6) "Format And Save Files"로 Marco명을 설정한다.

7) File → Settings(Ctrl+Alt+S) → Keymap → Macros 트리 클릭 → Format And Save Files에서 마우스 우클릭. Add Keyboard Shortcut 클릭한다.

8) 단축키를 정한다. 개인적으로 Alt + S를 추천한다.


인텔리J 창 닫기


이클립스는 Ctrl + W를 누르게 되면 창닫기가 되는데 인텔리J에서는 이 단축키가 안된다. 

왠만한 응용 프로그램 등은 보통 Ctrl + W가 창을 닫는건데..아쉽;; 

이것 역시 키맵 설정을 통해 동일하게 구성할 수 있다.


1) File → Settings(Ctrl+Alt+S) → Keymap → Main Menu → Window → Editor Tabs → Close 선택

2) 키보드 숏컷을 설정. Alt + W를 추천한다.


※ Keymap에서 변경된 키맵은 인텔리J에서는 파란색으로 표시해준다.


줄번호 설정


개발자라면 아마 모두 줄번호 표시를 설정하지 않을까 한다.

Apppearance 항목에서 설정할 수 있다.


1) File → Settings(Ctrl+Alt+S) → Editor → Appearance → Show line numbers 체크

2) Show whitespaces는 선택사항



Lombok 설정


Lombok은 코딩시 생성하는 getter(), setter(), toString() 등을 자동적으로 설정해주는 유용한 라이브러리다. Lombok을 사용할 경우 플러그인을 추가해준다.


1) Settings → Plugins -> [Lombok]으로 검색 → Lombok Plugin 다운로드 및 설치 실행

2) 인텔리J 재시작


Posted by SungHoon, Park
,