반응형

스크립트나 명령어 실행시 나오는 시스템 출력등을 로그로 남기는 방법

같이 일하는 동료분이 물어봤는데 하도 오랬만이라 생각이 안났습니다. ㅋㅋ

단지 생각 나는건   CMD  2> /dev/null    리눅스를 하면서 이것을 썻던 기억이..  자료를 찾아보았습니다.

<출처>http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=10302&docId=71786938&qb=uK60qr26IMelwdjD4rfCuea5/Q==


보통 크론을 이렇게 돌리지 않나요...
/script_dir/script_file > /dev/null
혹은 /script_dir/script_file > /var/log/log_filename.log 2>&1

그렇지 않으면 스크립트 내부에 echo 그리고 명령어들을 바꿔 주는겁니다.
cp $1 $2 이런게 있으면 cp $1 $2 > /var/log/log_filename.log 2>&1
echo "context" 는 echo "context" > /var/log/log_filename.log 2>&1
이런식으로 바꾸는겁니다.

콘솔에서 실행한다고 하면
command > logfile 하면 결과중에 표준 출력은 파일로 에러 내용은 화면으로 나옵니다
command 1> logfile 위와 같겠습니다.
command 2> logfile 하면 에러 내용만 파일로 갑니다 표준출력은 화면으로 나옵니다.
command &> logfile 하면 표준 출력 에러출력 모두 파일로 갑니다.
command > logfile 2>&1 표준 출력은 파일로 가는데 에러출력은 표준 출력이랑 같이 나가게 한다는의미로
                                     표준 출력이 나가고 에러가 나가는게 아니라 같이 나갑니다. 결국 윗줄이랑 같습니다.
                                     (꼬고 꼬면 이런거도 됩니다. command 2> logfile >&2 )
심심해서 이렇게 해보니
command > logfile 2> logfile 이건 순서가 다르게 들어가네요.

find 명령어 쓸때 퍼미션 에러 나는거 보기싫으면 다음과 같이 합니다.
find / -name "*alpha*" 2> /dev/null    에러는 널로 가서 없어지고 화면에는 찾은 결과만 나옵니다.
find / -name "*alpha*" 2> /dev/null > search_log 마찬가지로 에러는 널로 가서 없어지고 결과만 파일로~

적다보니 신나서 너무 길게 적었네요... 즐컴하세요


 
반응형
프로그래밍을 할때 뜻하지 않게 나타나 괴롭히는 문제가 인코딩 문제가 아닌가 싶다.

이번에는 유니코드 문제였다. 무슨 암호와 같은 \uC774\uC0AC\uC57C 였다.

한글출력 부분을 변경하려고 찾는데 도무지 검색으로 찾을 수가 없어서 그냥 소스를 분석했다.

이래저래보다보니 저런식으로 한글을 변환 해 놓은것 같다. ㅡㅡ;  첨엔 어떻게 변환하지 했다.

또 구글링을 열심히 한 결과 관련 자료를 찾았다.

일단 한글 유니코드 표를 다운 받을 수 있는 사이트 :  http://www.unicode.org/charts/

Hangul Syllables  이라고 검색해서 다운받으면 된다. 그리고 잘 찾아서 보면 된다. ^^;;;;

그리고 귀차니즘을 가진 분들이거나 영문 사이트 울렁증 있으신 분들을 위해  링크


이거 어떻게 일일히 찾아서 하냐.. 하고 생각하시는 분들을 위한 사이트 링크 있습니다!!

http://people.w3.org/rishida/scripts/uniview/conversion.php

원하는 곳에 문자열을 넣고 변환을 하면 거의 모든 인코딩 방식으로 변환해서 보여준다.

아직 인코딩에 대한 정리된 개념이 없는 거 같아 확실히 개념을 세울 필요가 있을 듯 하다.

그리고 개인적으로 쓸 인코딩 프로그램 하나 만들어 놔야겠다.. 킁.. 일일히 그때 그때 찾기 귀찮으니.
반응형

URL Encoding Reference

ASCII Character URL-encoding
space %20
! %21
" %22
# %23
$ %24
% %25
& %26
' %27
( %28
) %29
* %2A
+ %2B
, %2C
- %2D
. %2E
/ %2F
0 %30
1 %31
2 %32
3 %33
4 %34
5 %35
6 %36
7 %37
8 %38
9 %39
: %3A
; %3B
< %3C
= %3D
> %3E
? %3F
@ %40
A %41
B %42
C %43
D %44
E %45
F %46
G %47
H %48
I %49
J %4A
K %4B
L %4C
M %4D
N %4E
O %4F
P %50
Q %51
R %52
S %53
T %54
U %55
V %56
W %57
X %58
Y %59
Z %5A
[ %5B
\ %5C
] %5D
^ %5E
_ %5F
` %60
a %61
b %62
c %63
d %64
e %65
f %66
g %67
h %68
i %69
j %6A
k %6B
l %6C
m %6D
n %6E
o %6F
p %70
q %71
r %72
s %73
t %74
u %75
v %76
w %77
x %78
y %79
z %7A
{ %7B
| %7C
} %7D
~ %7E
  %7F
%80
  %81
%82
ƒ %83
%84
%85
%86
%87
ˆ %88
%89
Š %8A
%8B
Œ %8C
  %8D
Ž %8E
  %8F
  %90
%91
%92
%93
%94
%95
%96
%97
˜ %98
%99
š %9A
%9B
œ %9C
  %9D
ž %9E
Ÿ %9F
  %A0
¡ %A1
¢ %A2
£ %A3
  %A4
¥ %A5
| %A6
§ %A7
¨ %A8
© %A9
ª %AA
« %AB
¬ %AC
¯ %AD
® %AE
¯ %AF
° %B0
± %B1
² %B2
³ %B3
´ %B4
µ %B5
%B6
· %B7
¸ %B8
¹ %B9
º %BA
» %BB
¼ %BC
½ %BD
¾ %BE
¿ %BF
À %C0
Á %C1
 %C2
à %C3
Ä %C4
Å %C5
Æ %C6
Ç %C7
È %C8
É %C9
Ê %CA
Ë %CB
Ì %CC
Í %CD
Î %CE
Ï %CF
Ð %D0
Ñ %D1
Ò %D2
Ó %D3
Ô %D4
Õ %D5
Ö %D6
  %D7
Ø %D8
Ù %D9
Ú %DA
Û %DB
Ü %DC
Ý %DD
Þ %DE
ß %DF
à %E0
á %E1
â %E2
ã %E3
ä %E4
å %E5
æ %E6
ç %E7
è %E8
é %E9
ê %EA
ë %EB
ì %EC
í %ED
î %EE
ï %EF
ð %F0
ñ %F1
ò %F2
ó %F3
ô %F4
õ %F5
ö %F6
÷ %F7
ø %F8
ù %F9
ú %FA
û %FB
ü %FC
ý %FD
þ %FE
ÿ %FF


URL Encoding Reference

The ASCII device control characters %00-%1f were originally designed to control hardware devices. Control characters have nothing to do inside a URL.

ASCII Character Description URL-encoding
NUL null character %00
SOH start of header %01
STX start of text %02
ETX end of text %03
EOT end of transmission %04
ENQ enquiry %05
ACK acknowledge %06
BEL bell (ring) %07
BS backspace %08
HT horizontal tab %09
LF line feed %0A
VT vertical tab %0B
FF form feed %0C
CR carriage return %0D
SO shift out %0E
SI shift in %0F
DLE data link escape %10
DC1 device control 1 %11
DC2 device control 2 %12
DC3 device control 3 %13
DC4 device control 4 %14
NAK negative acknowledge %15
SYN synchronize %16
ETB end transmission block %17
CAN cancel %18
EM end of medium %19
SUB substitute %1A
ESC escape %1B
FS file separator %1C
GS group separator %1D
RS record separator %1E
US unit separator %1F

<출처 : http://www.w3schools.com/tags/ref_urlencode.asp >
반응형
글깨짐 확인 소스..




1. charset의 의미
charset = "coded character set"
charset은 "컴퓨터에서 문자를 표현하기 위해, 각 문자를 정수값에 대응시켜 놓은 체계"를 의미합니다.

예를 들어, euc-kr charset이라면, 영숫자와 한글 그리고 일부 특수문자와 한자들을 정수값에 대응해 놓은 것입니다.
euc-kr환경에서 한글을 입력하면, 컴퓨터는 euc-kr charset에서 각 문자별로 지정한 정수값을 쓰게 됩니다.

2. charset이 달라진다면..
각 charset별로, 표현하고자하는 문자와 대응하는 정수값이 달라질 수 있습니다.
예를들어 euc-kr은 태국문자를 위한 정수값을 정의하지 않았으므로, 태국문자는 표현하거나 입력할 수 없습니다.

그리고, euc-kr charset에 맞춰 한글로 어떤 내용을 작성했는데,
이것을 iso-8859-1 charset 환경에서 열어본다면, 한글 대신에 엉뚱한 특수문자쌍들을 보게 될 것입니다.

이런 문제 때문에, 문자 데이터를 주고 받을 때는 서로 간에 charset을 일치시킬 필요가 있습니다. 그렇지
않으면, 원래 생각했는 내용 대신 "깨진 문자들"을 보게 될테니까요.
( 가끔 charset은 일치되었는데, 사용하는 폰트에 대응하는 문자가 없어서 깨져보이는 경우도 있습니다. )

서블릿 코딩시에, content type의 일부로 charset을 명시하는 것은 웹 브라우저에게 사용하는 charset을
알려주어 오해하지 않게 하기 위해서입니다.

3. 한글을 표현할 수 있는 charset
한글을 표현할 수 있도록 설계된 charset은 euc-kr외에도, ksc5601, cp933, cp949 등등 꽤 많습니다.
그리고, 전세계 모든 문자를 표현할 목적으로 설계된 unicode역시 한글을 지원합니다.
그러나, 한글을 지원하는 charset을 사용하더라도, 문서를 만들 때 사용한 charset과 읽을 때 사용하는
charset이 다르다면, 제대로 그 내용을 볼 수 없을 것입니다. 이 경우에는 따로 conversion로직을 사용하여
원하는 charset에 맞춰 데이터를 가공해야 할 것입니다.
( euc-kr, ksc5601 같은 경우는 거의 차이가 없어 호환가능합니다. )

3. 영문 OS에서 한글 표현
charset에 맞추어 문자데이터를 처리하는 것은 OS나 DBMS, 미들웨어 등 플랫폼이므로, 플랫폼에서
제공해주지 않는 charset을 사용할 수는 없습니다.
다행히도, 최근의 플랫폼 SW들은 다양한 charset 지원을 포함하고 있습니다. 만약 어떤 OS가 euc-kr모드로
작동하고 있다면, 설령 영문OS라 하더라도, 한글 처리에 문제가 없다고 볼 수 있습니다.
문제가 있다면 euc-kr모드로 작동하고 있는 것이 아니겠죠.

저 같은 경우, 영문 OS를 설치하고, 그 위에서 한글을 사용해 본 적이 있습니다.

4. encoding
charset과 비슷한 의미로 사용하는 단어로 encoding이 있습니다.
charset이 문자에 대해 정수값을 지정한 것이라면,
encoding은 "문자를 표현하는 정수값을 어떤 bit배열로 표현할 것"인지를 의미합니다.

대부분의 경우, charset과 encoding을 구별할 필요가 없습니다. 왜냐하면 정수값을 bit배열로 표현하는 방법은
하나만 있을테니까요. 그러나 unicode 경우에는 UTF-8, UTF-16 같이 몇 가지 다른 encoding을 사용합니다.
charset이 같다면, 그 charset을 지원하는 어떤 encoding을 사용하든지, 각 문자에 대응하는 논리적인 정수값은 동일합니다.
그러나 실제로 기록되는 bit배열은 encoding에 따라 달라질 수 있습니다. 이 경우, 제대로 데이터를 주고 받으려면, charset뿐 아니라 encoding까지도 맞춰야 합니다.
반응형
정말 오랫만에 보는 아스키코드다.. 처음 프로그래밍에 입문할때 많이 봤었다.

C로 프로그램을 작성하던 대학생 시절의 감회가 떠오른다.

키코드값을 찾던 중에 보게되어 올린다..



출처: www.LookupTables.com
반응형

Key Code Reference Table

키코드값이 필요 해서 찾던 중에 찾았다.. ㅎㅎ 정리해 놓으면 유용할듯 하다.

매번 찾기는 귀찮으니 잘 포스팅 해놓자 ㅋㅋ

Key Pressed

Javascript Key Code

backspace

8

tab

9

enter

13

shift

16

ctrl

17

alt

18

pause/break

19

caps lock

20

escape

27

page up

33

page down

34

end

35

home

36

left arrow

37

up arrow

38

right arrow

39

down arrow

40

insert

45

delete

46

0

48

1

49

2

50

3

51

4

52

5

53

6

54

7

55

8

56

9

57

a

65

b

66

c

67

d

68

e

69

f

70

g

71

h

72

i

73

j

74

k

75

l

76

m

77

n

78

o

79

p

80

q

81

r

82

s

83

t

84

u

85

v

86

w

87

x

88

y

89

z

90

left window key

91

right window key

92

select key

93

numpad 0

96

numpad 1

97

numpad 2

98

numpad 3

99

numpad 4

100

numpad 5

101

numpad 6

102

numpad 7

103

numpad 8

104

numpad 9

105

multiply

106

add

107

subtract

109

decimal point

110

divide

111

f1

112

f2

113

f3

114

f4

115

f5

116

f6

117

f7

118

f8

119

f9

120

f10

121

f11

122

f12

123

num lock

144

scroll lock

145

semi-colon

186

equal sign

187

comma

188

dash

189

period

190

forward slash

191

grave accent

192

open bracket

219

back slash

220

close braket

221

single quote

222




<출처: http://protocolsofmatrix.blogspot.com/2007/09/javascript-keycode-reference-table-for.html >
반응형

문자 A부터 Z, 표준 숫자 0부터 9

다음 표는 표준 키보드의 문자 A부터 Z 및 숫자 0부터 9까지의 키와 ActionScript에서 해당 키를 식별하는 데 사용하는 키 코드 값의 목록입니다.

문자 또는 숫자 키

키 코드

ASCII 키 코드

A

65

65

B

66

66

C

67

67

D

68

68

E

69

69

F

70

70

G

71

71

H

72

72

I

73

73

J

74

74

K

75

75

L

76

76

M

77

77

N

78

78

O

79

79

P

80

80

Q

81

81

R

82

82

S

83

83

T

84

84

U

85

85

V

86

86

W

87

87

X

88

88

Y

89

89

Z

90

90

0

48

48

1

49

49

2

50

50

3

51

51

4

52

52

5

53

53

6

54

54

7

55

55

8

56

56

9

57

57

a

65

97

b

66

98

c

67

99

d

68

100

e

69

101

f

70

102

g

71

103

h

72

104

i

73

105

j

74

106

k

75

107

l

76

108

m

77

109

n

78

110

o

79

111

p

80

112

q

81

113

r

82

114

s

83

115

t

84

116

u

85

117

v

86

118

w

87

119

x

88

120

y

89

121

z

90

122

숫자 키패드의 키

다음 표는 숫자 키패드의 모든 키와 ActionScript에서 해당 키를 식별하는 데 사용하는 키 코드 값의 목록입니다.

숫자 키패드 키

키 코드

ASCII 키 코드

숫자 패드 0

96

48

숫자 패드 1

97

49

숫자 패드 2

98

50

숫자 패드 3

99

51

숫자 패드 4

100

52

숫자 패드 5

101

53

숫자 패드 6

102

54

숫자 패드 7

103

55

숫자 패드 8

104

56

숫자 패드 9

105

57

곱하기 키

106

42

더하기 키

107

43

Enter

13

13

빼기 키

109

45

소수점 키

110

46

나누기 키

111

47

기능 키

다음 표는 표준 키보드의 기능 키와 ActionScript에서 해당 키를 식별하는 데 사용하는 키 코드 값의 목록입니다.

기능 키

키 코드

ASCII 키 코드

F1

112

0

F2

113

0

F3

114

0

F4

115

0

F5

116

0

F6

117

0

F7

118

0

F8

119

0

F9

120

0

F10

이 키는 시스템에 예약된 키이므로 ActionScript에서 사용할 수 없습니다.

이 키는 시스템에 예약된 키이므로 ActionScript에서 사용할 수 없습니다.

F11

122

0

F12

123

0

F13

124

0

F14

125

0

F15

126

0

기타 키

다음 표는 표준 키보드의 문자, 숫자, 숫자 키패드 키 및 기능 키 이외의 키와 ActionScript에서 해당 키를 식별하는 데 사용하는 키 코드 값의 목록입니다.

키 코드

ASCII 키 코드

Backspace

8

8

Tab

9

9

Enter

13

13

Shift

16

0

Control

17

0

Caps Lock

20

0

Esc

27

27

스페이스바

32

32

Page Up

33

0

Page Down

34

0

End

35

0

Home

36

0

왼쪽 화살표

37

0

위 화살표

38

0

오른쪽 화살표

39

0

아래 화살표

40

0

Insert

45

0

Delete

46

127

Num Lock

144

0

ScrLk

145

0

Pause/Break

19

0

; :

186

59

= +

187

61

- _

189

45

/ ?

191

47

` ~

192

96

[ {

219

91

\ |

220

92

] }

221

93

" '

222

39

,

188

44

.

190

46

/

191

47



<출처: http://livedocs.adobe.com/flash/9.0_kr/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001136.html >

+ Recent posts