[TIL] 20210202

Taesu Seo·2021년 3월 6일
0

TIL

목록 보기
1/2
post-thumbnail

/dev/null 2>&1

> redirection

  • 해당 연산자를 이용해서 입력과 출력 방향을 표준 입력이나 표준 출력이 아닌 다른 것으로 재지정 가능
  • 0 표준입력
  • 1 표준출력
  • 2 표준에러

아래 사진에서 보듯이 에러가 출력되는 명령어를 a.txt 에 넣으려고 시도하면 표준 출력이 아니므로 a.txt 에는 아무런 메시지가 없음

\> 앞에는 1(표준출력) 이 생략되어있음

아래 사진은 에러가 출력되는 명령어를 b.txt 에 넣으려고 시도하고 있으며, 이전 사진과는 다르게 표준에러(2) 를 b.txt 에 추가하라고 지시하고 있음

하지만, 언제 에러가 출력되는지 확신할 수 없고 로그파일에는 정상출력 및 에러출력을 같이 적어야 할 경우가 많음
표준출력과 표준에러를 하나의 파일(로그파일) 에 넣어야 할 경우 아래 사진과 같이 작성
표준 출력은 c.txt 에 넣고, 에러가 발생할 경우 첫 번째(c.txt) 파일에 삽입

쓰레기 값(의미없는 에러 등)까지 로그로 쌓을 경우, 서버에 용량이 부족할 경우가 생기게 되므로 아래와 같이 /dev/null 에 출력을 버려주는게 실제 출력결과나 로그를 보기좋게 쌓을 수 있음

[root@localhost redirection]# ls tsseo > /dev/null 2>&1

Java Option

  • -DtestOption=VARIABLE
    java 소스에서 System.getProperty("VARIAVLE") 코드에서 사용
    쉘이나 자바실행 시 옵션을 주게되면 코드상에서 해당 변수를 사용 할 수 있음

  • -Djava.net.preferIPv4Stack=TRUE
    Java는 OS에서 IPv4와 IPv6가 모두 사용 가능할 경우, IPv6를 우선적으로 사용
    해당 설정은 IPv4를 우선적으로 사용

  • XX:MaxPermSize=64m
    Java8 부터 사라진 옵션
    Perm 영역은 Class의 Meta 정보, Method의 Meta 정보, Static변수와 상수 정보 저장되는 공간으로 흔히 메타데이터 저장 영역이라고 부름
    Java8 부터 Native memory 영역으로 이동하여 Metaspace 영역으로 명명
    Java8 의 -XX:MaxMetaspaceSize 를 두지 않는 이상, Native memory 자원을 최대한 사용

  • -Djava.endorsed.dirs=/home/~/~/lib/endorsed -Xmx256m
    외부 API를 JDK에서 내포한 경우, 최신의 외부 API 사용
    JDK 에 있는 rt.jar 에 포함되어 있지만 외부 최신 API를 사용하고 싶을 경우 endorsed 디렉토리에 옮겨놓자

    설치한 라이브러리들 간의 로딩순서는 classpath에 설정한 순서로 조절할 수 있지만(? 아직 이건 모름..) rt.jar는 설정 순서로 조절할 수 없음

    참고 블로그
    https://blog.naver.com/PostView.nhn?blogId=iamadora&logNo=221392912155
    https://blog.voidmainvoid.net/184
    http://egloos.zum.com/aploit/v/4806304

profile
Connecting the dots

0개의 댓글