Linux 방화벽 포트열기

Linux 2015. 2. 12. 14:39
SMALL

# iptables -L  : 방화벽 설정 확인


# iptables -A INPUT -p tcp --dport 3306 -j ACCEPT  : 3306포트 방화벽 뚫어주기

# service iptables save : 설정한 내용을 저장한다.

# /etc/init.d/iptables restart : 포트변경후 iptables 재시작


------------

서버를 재시작한 이후에도 계속 설정을 유지하는 방법중에는 iptables의 설정파일에 추가해주는 방법도 있다.

# vi /etc/sysconfig/iptables

-A RH-Firewall-1-INPUT -s your.ip.address.com/255.255.255.255 -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

위에 설정을 추가해주면 해당 아이피에서 80포트로 들어오는 패킷을 허용한다.

# /etc/init.d/iptables restart
LIST

'Linux' 카테고리의 다른 글

Tomcat의 logging.properties 및 디렉토리설정  (0) 2015.02.12
Ubuntu Tomcat install  (0) 2015.02.12
리눅스 vi 명령어모음  (0) 2015.02.12
Jetty 9 설치방법  (0) 2015.02.12
Linux 사용중인 포트확인 명령어  (0) 2015.02.11
블로그 이미지

SeoHW

,

리눅스 vi 명령어모음

Linux 2015. 2. 12. 13:34
SMALL

리눅스 vi 명령어

 

명령모드 -> 입력모드

 

a  : 현재 커서의 뒤에 입력

i : 현재 커서의 앞에 입력

 

페이지 이동

Ctrl + f : 아래 화면 페이지 이동

Ctrl + b : 위의 화면 페이지 이동

G : 파일의 제일 마지막으로 이동

gg(Shift+g) : 파일의 가장 처음으로 이동

80G : 파일의 80번째 줄로 이동

 

복사, 붙여넣기

yy : 한줄 복사

15yy : 15줄 복사

p : 현재 커서의 아래줄에 붙여 넣기

P : 현재 커서가 있는 줄에 붙여 넣기

dw : 한 줄 잘라내기

15dw : 15줄 잘라내기

 

지우기

x : 한 문자만 지우기

dd : 한 줄 잘라내기

15dd : 15줄 잘라내기

 

수정하기

r : 한 문자만 변경

R : Replace

 

vi 편집기 종료

x  : == wq

 

환경 설정

set nu : 줄 번호 보이기

set nonu : 줄 안보이기

set ts = 4 : Tab 키의 공백 넓이를 지정 (기본값: 8)

 

기타 기능

vi !/.exrc

set ts=4 등의 환경설정 저장

 

화면 분할기능

new [파일명]

Ctrl + w + w 화면간 이동


디렉토리에서 문자열 찾기

- 파일 안에 내용을 찾는 검색어

 

find ./ : 현재 디렉토리에서

find ./ -name "*.txt" -print | xargs grep "찾는 문자열"

 

vi 에디터에서 문자열 찾기

:/long ( 아래로 "long"이라는 문자열 찾기 )

:?long ( 위로  ~ )

문자열을 찾은 후에 다음 문자열로 이동할 때에는 n, 이전은 N

 

LIST

'Linux' 카테고리의 다른 글

Ubuntu Tomcat install  (0) 2015.02.12
Linux 방화벽 포트열기  (0) 2015.02.12
Jetty 9 설치방법  (0) 2015.02.12
Linux 사용중인 포트확인 명령어  (0) 2015.02.11
ubuntu 에서 iptables 설정 포트열기 예제  (0) 2015.02.11
블로그 이미지

SeoHW

,
SMALL

프로그램안에서 사용해야 할 다량의 문자열들을 정의하는데 있어서 효율적인 방법은 소스코드에 모든 내용을 포함시키기 보다는 외부에 내용을 저장해 놓고 필요할 때 마다 읽어오는 방법입니다.

안드로이드에서는 문자열로서 사용하기 위한 데이터를 보관하기 위한 기법으로 리소스 XML에 내용을 기술하는 방법과 SQLite를 사용하는 방법, 그리고 assets 디렉토리를 사용하는 방법을 제공해 주고 있습니다.

오늘 소개할 내용은 assets 디렉토리에 저장된 텍스트 파일을 프로그램내로 읽어들이는 내용입니다.

assets 디렉토리

안드로이드 프로젝트를 이클립스 상에서 보면 assets라는 (평소에는 잘 사용하지 않는) 디렉토리에 있습니다. 프로그램과 직접적으로 연관되지 않은 비 리소스 파일들을 저장해 놓고 필요한 경우 스트림을 생성하여 읽어들이기 위한 저장공간입니다.

이 폴더안에 test.txt라는 파일을 넣었다고 가정하고 이 파일의 내용을 프로그램의 Runtime시에 읽어오는 방법을 소개하겠습니다.


AssetManager의 객체 생성

Context 클래스 내에 보면 getResource()라는 메소드가 있습니다. getResource()라는 메소드는 Resources 라는 클래스의 객체를 리턴합니다. 이 객체는 App이 갖고 있는 자원에 접근할 수 있는 객체입니다. 이 객체를 통해서 AssetManager라는 객체를 얻을 수 있습니다.

<strong>Context 클래스</strong>
<strong>Resources getResource();</strong><br />리소스 객체를 얻어옵니다.


만약 Activity안에서 AssetManager객체를 얻고자 한다면 다음과 같이 사용할 수 있습니다.

Resources r = getResource();


Context 클래스는 Activity 클래스의 상위 클래스이기 때문에 Activity 안에서는 Context클래스 내의 기능들을 자기것인양 사용할 수 있습니다.

리소스 객체를 얻은 후에는 이 리소스 객체를 통해서 AssetManager 객체를 얻어옵니다.

<strong>Resources클래스</strong>
<strong>AssetManager getAssets();</strong><br />AssetManager 객체를 얻어옵니다.




 

AssetManager를 통하여 파일 열기

AssetManager 객체가 생성되면 이 객체의 open() 메소드를 사용하여 InputStream 객체를 얻을 수 있습니다. open() 메소드는 호출 시에 대상 파일의 이름을 문자열로 전달합니다. 파일이 위치한 경로는 이클립스 프로젝트 내의 assets 라는 폴더로 이미 확정이 되어 있는 상태이기 때문에 전달하는 파라미터는 파일의 이름만을 전달합니다. 주의하실 점은 이 메소드를 사용하려면 try { } ~ catch { } 블록으로 묶어 주어야 한다는 점 입니다. 그래서 Asset객체를 통해서 InputStream을 여는 과정은 다음과 같아집니다.

  1. AssetManager am = m_context.getResources().getAssets();  
  2. InputStream is = null;  
  3.   
  4. try {  
  5.     is = am.open("contact.txt");  
  6.     // 스트림을 사용합니다.  
  7. catch (Exception e) {  
  8.     // 에러가 발생한 경우의 처리  
  9. finally {  
  10.     if (is != null) {  
  11.         try {  
  12.             is.close();  
  13.             is = null;  
  14.         } catch (Exception e) {}  
  15.     }  
  16. }  
  17.   
  18. am = null;  




 

test.txt 파일을 읽기

Context객체와 읽어야 할 파일이름을 전달하였을 때, 해당 파일의 내용을 읽어서 문자열로 리턴해 주는 함수를 구현해 본다면 다음과 같이 구현할 수 있겠습니다.

  1. String readAsset(Context context, String file_name) {  
  2.     AssetManager am = context.getResources().getAssets();  
  3.     InputStream is = null;  
  4.     // 읽어들인 문자열이 담길 변수  
  5.     String result = null;  
  6.   
  7.     try {  
  8.         is = am.open(file_name);  
  9.         int size = is.available();  
  10.   
  11.         if (size > 0) {  
  12.             byte[] data = new byte[size];  
  13.             is.read(data);  
  14.             result = new String(data);  
  15.         }  
  16.     } catch (Exception e) {  
  17.         e.printStackTrace();  
  18.     } finally {  
  19.         if (is != null) {  
  20.             try {  
  21.                 is.close();  
  22.                 is = null;  
  23.             } catch (Exception e) {}  
  24.         }  
  25.     }  
  26.   
  27.     am = null;  
  28.     return result;  
  29. }  


Activity클래스 안에서 사용방법은 다음과 같습니다.

String data = readAsset(this, "test.txt");
LIST
블로그 이미지

SeoHW

,