침묵 (반양장) - 10점
엔도 슈사쿠 지음, 공문혜 옮김/홍성사


내면의 심리묘사가 뛰어난 소설입니다. 
그리고 신앙에 대해서 다시 생각해볼 수 있는 시간이기도 했습니다.

 그러나 주 그리스도는 누더기처럼 더러운 인간만을 찾아 구하셨다.
마루에 누우면서 신부는 그렇게 생각했다.
성경에 나오는 인간들 중 그리스도가 찾아 다녔던 것은, 사람들에게
돌을 맞은 창녀나 가버나움의 혈루병 여인처럼 매력도 없고 아름답지도
않은 존재들이었다. 매력이 있는 것, 아름다운 것에 마음이 끌리는 것은
누구나 할 수 있는 일이다. 그런 것은 진정한 의미의 사랑이 아니다. 색
바랜 누더기처럼 되어 버린 인간과 인생을 버리지 않는 것이 사랑이다.
신부는 그것을 알고 있었지만 아직 기치지로를 용서할 수 없었다.
또다시 그리스도의 얼굴이 자신에게 다가왔을 때, 그분이 맑고 다정한 눈으로
조용히 이쪽을 바라보았을 때, 신부는 오늘의 자신을 부끄럽게 생각했다.
- 181p

기치지로를 바라보는 신부의 마음과 그로 인한 깨달음..


 모래처럼 조용히 흘러가는 이곳에서의 매일이, 강철처럼 긴장된 기분을
조금씩 좀먹어 간다. - 197p

 평안한 생활이 주는 위험. 바쁘면 오히려 나쁜 생각에 휘둘릴 일이 없다.
그렇지만 바쁘기만 한 생활도 좋은 것은 아니다.

 이제 모든 것이 귀찮다는 기분뿐이었다. 지금 상태에서는 죽음이 하루라도
빨리 찾아오는 편이 이 고통스러운 긴장의 연속을 피할 수 있는 단 한가지
길처럼 느껴지기까지 했다. 이제는 산다는 것도, 하나님이나 믿음에 대해 번민
하는 것도, 어쩐지 피곤하기만 했다. - 242p





저작자 표시 동일 조건 변경 허락
신고

설정

트랙백

댓글

만화로 배우는 리눅스 시스템 관리 2 - 10점
Piro 지음, 서수환 옮김/길벗



상당히 유용한 느낌의 리눅스 시스템관리서
대부분의 내용은 커맨드를 다루는 것인데,
그 중에서도 셸 스크립트에 대해서 다루는 내용이 많다.

스크립트를 작성하고 그에 대한 설명을 들어보면
프로그래밍에 대한 설명하고 흡사하다.

예전에 프로그래밍 공부가 문법에 대한 공부였다면,
여기서는 문법적인 설명외에도 해당 명령어를 
어떤 때에 쓰면 적합한지 조언까지 해주기 때문에
그런 점에서 유용하다고 볼 수 있다.


프롤로그지금까지의 이야기

1화 정기적인 작업을 자동으로 처리하고 싶어
- CRONTAB

* crontba -e 로 cronjob을 설정하면 임의 명령어열을 지정 시간에 정기적으로 실행 가능
* cronjob은 crontab 명령어를 실행하는 사용자 권한으로 동작함
* "MALTO=메일주소"라는 열을 추가하면 그 이후의 cronjob 출력 내용이 메일로 보내짐(MTA를 설정해둬야 함)

2화 키 인증으로 안전하게 로그인하고 싶어
- 공개키 인증

* ssh나 scp의 인증 방식에는 암호 인증 이외에도 더욱 안전한 키 인증(공개키 인증)방식이 있음
* 키 인증을 하려면 미리 공개키와 비밀키의 쌍을 작성하고 공개키를 인증 대상 서버에 등록해야 함
* 비밀키는 패스프레이즈를 아는 사람만 사용 가능

3화 정시 처리로 자동으로 SCP하고 싶어
- 패스프레이즈 없는 비밀키

* 패스프레이즈 없는 비밀키를 사용하면 자동으로 키인증 가능함(자동 인증)
* 안전하도록 자동인증용 키 쌍은 인증 후 할 수 있는 일을 가능한 제한하기(일반 작업에만
쓰고 로그인용으로 사용하지 않기)
* cronjob으로 scp한다면 자동 인증용 비밀키를 -i 옵션으로 지정해서 키 인증하거나
공개키라면 실행할 scp 명령어 내용에 대응하는 서버 쪽 명령어열을 command="명령어열"
형식으로 설정하기

4화 여러 서버에 있는 파일을 효율적으로 수집하고 싶어
- 처리 분산과 느슨한 결합 연계

*  자동 인증으로 scp하려면 다운로드 허가 대신에 업로드를 허가하는 쪽이 비교적 안전
* 키워드는 "처리 크기는 작게", "처리 사이는 느슨한 결합으로", 커다란 문제는 일단 작은 문제로 쪼개서 생각하기
* 여러 서버가 관련된 처리는 각각의 서버 단위에서 처리가 가능한 완료되도록 하면 서버끼리
통신하는 걸 최소한으로 줄일 수 있음

5화 조건에 해당하는 로그 줄 수를 집계하고 싶어
- WC와 산술 확장

* wc 명령어를 사용하면 입력한 내용 문자수나 줄 수를 카운트 가능. 특히 줄 수를 세는 wc -l은 자주 사용함
* 아파치 로그를 날짜로 추출하려면 grep의 정규표현식을 사용하면 좋음.
* bash 스크립트는 $((계산식))으로 간단한 계산이 가능. 변수와 조합하면 집계에서도 사용 가능

여담) WC 유래
예전에 영국에서는 집에서 조금 떨어진 곳에 구멍을 파서 그 위에 작은 집을
짓는 형식의 화장실을 Earth Closet(땅 위의 방)이라고 불렀다고 해.
한편 수세식 화장실을 Water Closet(물이 있는 방)이라고 불렀다고 하는 것 같아.

6화 여러 텍스트 파일을 일괄 편집하고 싶어
- SED

* 셸 스크립트에서 텍스트를 자동 편집하고 싶을 때 sed 사용
* sed로 문자열을 일괄 치환하려면 sed -e "s/치환전/치환후/" 지정
* 셸 스크립트에서 기존 파일을 편집해서덮어쓰기를 할 때는 주의가 필요. 일단
다른 파일명으로 변경해두고 원래 파일 위치에서 출력하는 등으로 같을 파일을
하나의 처리에서 읽고 쓰지 않도록 해야 함


7화 표기 방법이 일정하지 않은 문구를 한꺼번에 치환하고 싶어
- 정규 표현식 치환과 일치 결과의 역참조

* vim 검색이나 치환에서는 확장 정규 표현식을 사용할 때 \v 뒤에 
정규 표현식을 작성함
* sed로 치환할 때 확장 정규 표현식을 사용하려면 GNU sed는 -r 옵션,
BSD sed는 -E 옵션을 지정함
* 정규 표현식은 치환후 지정에 \번호를 써서 (와 )로 감싼 치환전 내용을
치환후 내용에 인용 가능(역참조)

번외) 백슬래시와 원소기호

8화 정규 표현식 패턴 지정을 좀 더 간단히 만들고 싶어
- 대소문자 무시와 문자 범위 지정

sed 문자열 치환 명령어

* 치환 대상이 한 줄안에 두번 이상 나올 때 모두 치환하려면 g 플래그를 지정하기
* 치환 대상의 대소문자 차이를 무시하고싶다면 i 플래그를 지정하기
* 열거한 여러 문자나 문자 범위에 포함된 문자 하나를 치환하고 싶다면
브래킷 표현(대괄호로 안에 문자나 문자 범위를 나열함)을 사용하기

예시)
"s/Windows XP/Widows/gi'
"s/([A-F])-/\1-0\"
"s/)[G-IKMO-R])-/\1-1\"

9화 정규 표현식 패턴 지정을 더 간단히
- 범위 밖 문자 지정과 줄 시작, 줄 끝 지정

* 직전 문자가 0번 이상 반복됨
+ 직전 문자가1번 이상 반복됨

[0-9] 모든 숫자
^ 부정. 반전(!=)의 의미
[a-z]+ 소문자 알파벳이 연솓된 문자열=영단어


10화 오래된 파일을 찾아서 지우고 싶어
- FIND
find ./ -ctime +365
최종 갱신일이 1년 이상 된(이 1년간 변경되지 않은) 오래된 파일

find ./ -ctime -8
최종 갱신일이 1주일 이내인(이 1주일 사이에 변경된) 새로운 파일

find ./ -ctime 7
최종 갱신일이 딱 1주일 전인 파일


* 오래된 파일이나 새로운 파일을 찾으려면 find 명령어를 사용함.
지정 방법은 find 검색 대상 -ctime 최종 갱신일 범위

* 최종 갱신일 지정은 우선 기준이 되는 과거 날짜까지의 일수를 정함.
(1개월 전이라면 30. 1년 전이라면 365등) 그보다 과거(오래된 파일)를 검색한다면 _,
미래(새로운 파일)를 검색한다면 -를 추가

* find 명령어로 찾은 모든 파일을 for 반복문에서 사용할 수 있음.

번외) atime, mtime, ctime

-atime은 최종접근시간(accessed time)의 약어이다. 내용물을 마지막으로 읽은 날짜를 검색한다.
아무도 오랫동안 보지 않은, 지워도 될 것 같은 파일을 찾을 때 유용하다.

-mtime은 최종 변경시간(modified time)의 약어이다. 파일이 변경된 시간을 의미한다.

-ctimre은 이름이나 퍼미션, 디렉터리 이동 등으로 생긴 변경 등의 각종 최종 변경 시각.

대부분은 ctime으로 충분하며 필요없는 것까지 나온다면 -mtime을 쓸 수 있다.

11화 좀 더 복잡한 조건으로 파일을 찾고 싶어
- FIND의 복잡한 검색 조건

* 파일명으로 파일을 검색하려면 -name을 사용
* 검색 조건1 -and 검색 조건2라고 쓰면 두 검색 조건 양쪽을 만족하는 파일이 검색됨
* 검색조건1 -or 검색 조건2라고 쓰면 두 검색 조건 양쪽 또는 어느 한쪽을 만족하는 파일이 검색됨
* 검색 조건은 3개 이상 조합할 수 있음. 조건 우선순위를 지정하려면 \(와 \)으로 감쌈 - 98p

-ctime -8 -and -name "*.log"
직전 일주일 전에 변경된 이름이 *.log로 끝나는 파일

-ctime +30 -andm -ctime -60 -and
\(-name "*report*" -or -name "*error*" \)
지난달 1개월 사이에 변경된, 이름에 report 또는 error을 포함한 파일

-name "*.tar.gz*" -or  \( -ctime +7 -and -name "*.log*" \)
이름이 .tar.gz로 끝나는 파일 또는 1주일보다 이전에 변경된 이름이 .log로 끝나는 파일

문자열을 확실하게 문자열로 지정하기 위해서 인용 부호로 감싸는 습관을 들여두렴! - 99p


12화 디스크가 가득 차기 전에 파일을 삭제하고 싶어
- DF와 숫자 크기 차이로 조건 분기

df 디스크 빈 용량 확인
df - h -> 사람이 읽기 편리하게 바뀜
X -lt Y 숫자 크기 비교  X < Y (X는 Y보다 작다;X is Less Than Y)
X -gt Y 숫자 크기 비교  X > Y (X는 Y보다 크다;X is Greater Than Y)

13화 이전 명령어가 성공하면 다음도 실행하고 싶어
- AND 리스트

예시
- 프로그램을 소스에서 빌드 후 설치하기
./configure --prefix=$HOME/local/ && make && make install

AND 리스트는 종료 스테이터스에 따라 분기할 수 없다.

신택틱 슈가(Syntatic sugar;편의 문법) :  실제로는 어떤 의미인가?라는
본질을 모른 채 설탕만 빨다 보면 문제가 생겼을 때 쓴맛을 보게 될거야.

prepare-data &&
 process-data &&
  report-result

14화 이전 명령어가 실패하면 다음을 실행하고 싶어
- OR 리스트

OR 리스트는 OR로 연결한 명령어 중에서,
하나라도 성공하면 종료된다.

download-data --server=primarty.datastore ||
 download-data --server=secondary.datastore || 
  exit 1

AND 리스트와 OR 리스트는 구분자 다음에 줄바꿈해도 된다.

15화 부모 디렉터리로 일일이 돌아가는 조작을 생략하고 싶어
- 서브셸
서브셸은 셸에서 임시로 분신을 만들어서 그쪽에서 명령어를 실행하는 방법이다.

cd - 로 이전 디렉토리로 이동할 수 있다.

16화 3 패턴 이상을 사용하고 싶어
- CASE

1) hostname 명령어를 사용하면 그 컴퓨터의 호스트명을 알 수 있음
2) 명령어 실행 결과나 변숫값에 대해 A와 같다면, B와 같다면, C와 같다면처럼
경우로 나뉘는 조건 분기는 case문으로 작성하면 좋음

번외) 거꾸로 쓰는 유래
bash 원조인 bsh이라는 셸 시절의 이야기인데 bsh을 만든 사람이
좋아하는 프로그래밍 언어인 알골(algol)을 흉내 낸 거라고 해.

그리고 그 제작자가 스티브 본(Steve Bourne)인데, 
본이 만든 셸이니까 Boume SHell이라 bsh.
그 개량판이 Bourne Again SHell이라 bash. 이게 bash 이름의 유래야. - 139p

17화 사원 번호 첫 글자로 처리를 나누고 싶어
- CASE 패턴 지정

case 문의 선택지에 와일드 카드를 쓰는 경우,
구체적인 선택지를 위에 쓰고, 추상적인 선택지를 아래에 쓴다.
(case 문 선택지는 값에 해당하는지를 위에서부터 내려오면서 판단한다.)


case 문에서 추상적인 선택지는 와일드카드(?,|,*) 로 적용 가능함.
case 선택지에는 정규표현식은 쓸 수 없지만, 브래킷 표현은 가능함.(문자하나만)

번외) 와일드카드와 브리킷

ls *.[ct]sv 확장자 첫 글자가 c 또는 t
ls *.[^c]sv 확장자 첫 글자가 c가 아님
ls *.[a-c]sv 확장자 첫 글자가 a에서 c사이 
ls *.[^a-c]sv 확장자 첫 글자가 a에서 c사이 범위 이외 


18화 같은 처리를 1시간마다 반복 실행하고 싶어
- WHILE 반복과 SLEEP

curl은 url에 접속해서 받은 결과를 출력하는 명령어이다 - 152p

이미 있는 값 목록을 처리할 때는 for 반복문,
그 이외는 while 반복문이라고 기억해두렴. - 154p

19화 명령어 출력을 파이프라인으로 받고 싶어
- 표준 입력과 READ

read 명령어는 파이프라인으로 넘긴값도 받아올 수 있다.
mktemp 명령어는 임시 저장파일을 만드는 명령어다.


20화 스페이스가 들어 있는 파일명도 반복 처리에 쓰고 싶어
- WHILE 반복과 READ

read를 이용하면 공백문자가 있어도 끊지 않고, 입력값으로 넘긴다.
for는 공백문자를 구분자로 쓰기 때문에 for 대신에 while을 활용한다.


21화 키보드 입력을 받고 싶어
- READ로 입력 대기

read your_name
echo "안녕하세요. $your_name"

이렇게 하면 your_name 변수에 키보드 입력값을 저장할 수 있다.
다만 아무런 출력도 없이 커서만 깜빡이면서 대기상태로 들어가기 때문에
입력 전에 문자를 출력해서 입력하기 더 편하게 만들 수 있다.

read -p "너의 이름은?">
read your_name
echo "안녕하세요. $your_name"

이렇게 하면 된다. 번외로 출력은 echo로도 할 수 있다.

echo -n "너의 이름은?">
read your_name

echo를 써서 출력하면
프롬프트 출력부분과 입력부분을 확실하게 구분할 수 있게된다.
그리고 프롬프트 문자색을 변경하려면 echo로 출력이 필요하다.

22화 키보드 입력을 확인해서 다시 입력받고 싶어
- CONTINUE와 BREAK
read name
이렇게 하면 name이라는 변수로 입력값을 받는다.

continue 는 반복 처러 처음으로, break라면
반복 처리 외부(반복 이후)로 처리흐름이 뛴단다!

23화 명령어의 모든 출력을 파일로 저장하고 싶어
- 표준 에러 출력

표준 에러 출력의 리다이렉트
2>&1
2<& 1

>&는 특수한 리다이렉트 지정인데 그 뒤에 지정한 번호의 출력과
같은 출력 대상에게 리다이렉트한다는 의미야 - 193p


23.5화 사용자 작성용 명령어 차이를 파악하고 싶어
- USERADD와 ADDUSER와 USERDEL과 DELUSER


솔라리스나 NetBSD는 명령어가 없고 레드햇 계열은 그저 useradd  심볼릭 링크에 불과해- 195p, adduer 에 대하여


저작자 표시 동일 조건 변경 허락
신고

설정

트랙백

댓글

게임은 아닌데, 게임이 아니라고 하기도 애매한 프로그램..

우타우는 보컬로이드와 비슷하지만, 

프리 라이센스 기반의 보컬로이드라고 볼 수 있겠다.


하지만 목소리마다 저작권이 존재하니 완전히 프리는 아닌셈.

그래도 목소리마다 저작권이 달라서 자유롭게 사용할 수 있는 것도 있다.

일단은 한국어 구사가 가능한 목소리들 위주로 정리했다.


우타우로 만들어진 대표작..

냥캣..





달링 - 트로피카나 스파클링


샨곰의 아틀리에 - 아트리

하야리치 코요나 - 팬덤위키

키타네 스노 - 팬덤위키

카무카 - 팬덤위키

시울 - 팬덤위키

사쿠라노 유케 - 팬덤위키

사츠네 미케 - 팬덤위키

마이키 - 팬덤위키

달링 - 팬덤위키


참고

UTAU - 나무위키


저작자 표시 동일 조건 변경 허락
신고

설정

트랙백

댓글

황제내경

자유단상 2017.10.11 15:21
한의학의 고전인 황제내경은
삼황오제중 전설적 인물인 황제의
이름을 붙여 황제내경이라고 하였다.

아마 원래는 그냥 내경이 아니었을까 싶다.

<황제내경>은 '소문'과 '영추'편으로 나눠져있고 그 내용이 난해점이 있어서
황제내경에 대한 주석-설명-으로 <난경>이란 책이 편찬되었다.

그리고 후에 한나라 말기의
장중경이라는 한의사가 <상한론>이라는 책을 저술했는데 그 당시 알려진 병리현상들을 연구해서 정리한 책이다.

이 책도 '집대성'된 10권과 '잡병편'의 6권. 해서 합이 16권이었다.

그리고 <상한론>과 <금궤요략>으로 나눠지게 되는데,
<금궤요략>은 <상한론> 중에서 '잡병편' 6권만 따로 떼어낸 것이다.

저작자 표시 동일 조건 변경 허락
신고

설정

트랙백

댓글

이 게임은 시리즈 물인데, 고전의 향기를 풍기는 도트풍의

액션RPG게임이다.


2010년 2월 클래식 던전 : 부익의 마장진 (스페셜사이트) - 데모용 플래시게임? 플레이 가능

2011년 03월 24일 클래식 던전 X2 (스페셜사이트) - 데모용 플래시게임? 플레이 가능

클래식 던전 전국(스페셜사이트) -> 스팀에 출시했으나 네트워크 기능에 심각한 장애가 있는 듯함.



클래식 던전 전국 트레일러 영상.


개발사는 니폰이치소프트웨어. 스팀에 다른 게임도 출시했다.


참고



클래식 던전 부익의 마장진 - 이글루

클래식 던전 X2, 도트의 세계에서 즐기는 클래식한 모험 - 게임메카

PSVista 클래식 던전 천국 - 루리웹

만화로 알아보는 클래식 던전 전국

클래식 던전 천국 스크린샷 - 비디오 게이머X

클래식 던전 전국 - 스팀

저작자 표시 동일 조건 변경 허락
신고

설정

트랙백

댓글

만화로 배우는 리눅스 시스템 관리 1 - 10점
Piro 지음, 서수환 옮김/길벗




만화로 되어 있어서 가독성이 매우 좋았다.

그래서 기술적인 내용이 나와도 큰 어려움 없이 이해할 수 있었다.

명령어에 익숙해지는 것은 리눅스를 더 만져봐야겠지만

이 책으로 인해 리눅스에 자신감이 생긴 것은 확실하다.

한권이 더 있는데, 그것도 추후에 마져 봐야겠다.


1화 다른 컴퓨터를 리모트로 조작하고 싶어(SSH) 

 X사용하기 : 리눅스(우분투) GUI 띄우기

 ssh -Y -C user@192.168.11.5


 -Y는 X 전송지정

 -C는 통신내용 압축(응답속도가 좋아짐)


 nautilus 명령어

 -> 폴더가 열림


 SSH(Secure SHell;안전한 셸) = rsh(Remote SHell)



2화 임시로 관리자 권한을 얻고 싶어(sudo) 


 root 관리자 권한 -> id가 정해져 있어서 보안 상 사용을 권장하지 않음.

 대신에 일반관리자를 사용함. root에서 계정에 관리자 권한을 부여할 수 있음

 혹은 sudo 명령어를 이용하여 관리자 권한으로 실행이 가능함


3화 다양한 문자열을 한 번에 검색하고 싶어(grep) 


grep 검색 명령어


grep-r "검색하고 싶은 문자열" /hoe/docs/


-r은 서브 폴더까지 검색하도록 지정한 옵션


grep은 golbal regular expression print가 어원.


정규표현식에서 쓰는 기호

() 그룹화

| 좌우중 하나

? 직전 표현이 0회 또는 1회 등장

* 직전 표현이 0회 이상 연속해서 등장

+ 직전 표현이 1회 이상 연속해서 등장

. 임의의 한 문자

^ 줄 머리

$ 줄 끝



grep의 그외 옵션

-i 대소문자를 무시 (ignore case)

-E 정규표현식 사용


4화 터미널에서도 대화형으로 파일을 편집하고 싶어(vim) 

Esc 노멀모드로 복귀 

:wq 쓴 글 적용

/ 검색모드 (검색시 정규표현식도 사용가능)

n 다음 검색

Shift + n 이전 검색


치트시트 http://vim.rtorr.com/lang/ko/





5화 vim에서도 복사 & 붙이기 & 되돌리기를 하고 싶어(yank) 


복사

v 비주얼 모드(복사가능)

비주얼 모드에서 커서로 범위를 정한다.

y 양크(yank: 끌어당기다) - 클립보드에 텍스트 복사


붙여넣기

shift + p 붙여넣기

10 shift + p 붙여넣기 (지정한 숫자 만큼 붙여넣기가 가능함)


되돌리기(undo)

u

9999 u : 처음으로 되돌리기 (숫자를 지정한 만큼 되돌아간다)


되살리기(redo)

Ctrl + R



crtl + z : 애플리케이션 일시 중지 (background;대기상태로)

fg : 애플리케이션 복귀(foreground;포그라운드)


6화 갑작스러운 네트워크 끊김에서 복귀하고 싶어(가상 터미널) 


tmux : 가상 단말 프로그램 ( 다른 종류도 있다. 

screen:가장 오래된 가상 단말. 사용법이 조금 어렵다.

byobu:병풍에서 유래한 이름. 사용이 용이하지만, 다른 애플리케이션에 영향을 많이 준다.)

-> 명령어를 찾지 못할 경우 sudo apt-get install tmux로 사용가능

-> yum의 경우 RPMForge 저장소를 사용해야 함


tmux attach : 복귀 명령어


Ctrl + b : tmux 기능 호출 키

 d : detach

 c : create, 새 탭 열기

 p : previous, 이전 탭

 n : next, 다음 탭





7화 다른 화면도 보면서 작업하고 싶어(화면 분할) 


ctrl + b

 " 가로 분할

 % 세로 분할

 방향키를 이용해서 화면이동 가능

 (화면 안에서 추가로 분할도 가능. 이때 현재 커서가 있는 화면이 분할 됨)


8화 최근 실행한 명령어를 호출하고 싶어(명령어 이력) 

 위 방향키 : 예전이력

 아래 방향키 : 최신이력


 ctrl + r : 이력 검색(후방검색)


 ctrl + s : 이력 검색(전방검색)

  전방검색은 별도의 설정이 필요함. vim ~/. bashrc 에서 bash설정을 수정함.

  shift + g(맨 밑으로 이동)를 입력하여 하단에 stty stop undef 를 추가

  -> 설정을 변경한 후에는 접속을 끊고 재접속을 해야 반영이 됨.

  -> 가상 단말은 반영이 늦다. 빠르게 반영될 수 있도록 반영빈도를 고쳐야 한다.



9화 오래전에 실행한 명령어를 호출하고 싶어(명령어 이력 검색) 


 이력 저장 건수 변경 

 vim ~/. bashrc  에서 맨 밑으로 이동해서, 

 export HISTSIZE=10000

 export HISTFILESIZE=10000

 을 입력. 중요한 것은 두 변수의 값이 동일해야 한다는 것.


.bash_history 명령어 이력 내용 저장 파일


설정파일에 다음 내용을 추가(메모리 복사본을 자주 동기화)


function share_history{

history -a

history -c

history -r

}

PROMT_COMMAND='share_history'

shopt -u histappend



셸명령어가 하나일 때 쉽게 처리하는 방법

mint@mintpc:~$ ssh mint@server /scripts/scripts/do_backup.sh


10화 네트워크 건너서 파일을 복사하고 싶어(scp) 

 Centos 등의 배포판에서는 yum install openssh-clients로 설치해야 함


scp ./file/ext mint@192.168.1.10:/tmp/ 특정 컴퓨터에 파일 복사 가능

scp mint@192.168.1.10:/temp/file/txt 역으로도 가능함.컴퓨터의 파일을 다운로드


scp -r mint@host:/tmp/results/ /tmp/

-r 옵션을 사용하면 디렉토리째로 복사가 가능함.


응용하여 서버끼리도 파일전송이 가능함

또 다른 PC에서 중계하여 서버-> PC -> 서버로 넘기는 것도 가능함. 다만 속도가 느림.


11화 시스템 과부하를 파악하고 싶어(top) 


 top 명령어로 리눅스 서버의 상태를 볼 수 있다.

 load average : cpu가 처리하는 걸 기다리는 작업 개수

(0.1~0.2은 처리량이 적고, CPU 코어수와 같거나 크면 많은 것임)

(또한 1분간 평균, 5분간 평균, 15분간 평균 이렇게 3종류로 출력됨)

 %cpu 프로세스의 cpu점유율 

 +time 처리시간

 command 프로세스를 실행했을 때 실행한 명령어, 자세히 보려면 c를 누른다.


sudo kill 1234 로 프로세스를 죽일 수 있음, 1234는 pid(프로세스id)를 의미함

-> 복수개의 프로세스를 죽일 시에는 뒤에 프로세스 id를 추가로 적어줌



12화 시스템 메모리 부족을 파악하고 싶어(top 표시 전환) 


 cpu문제가 아닌 경우

 디스크 I/O 문제 : swap값이 큰 경우

 %MEM : 프로세스가 소비하는 메모리량. 


OOM Killer : 메모리 사용이 지나친 경우 리눅스에서 자체적으로 프로세스를 죽임


top 표시를 소비 메모리 순서대로 나열하기

 shift + m : 메모리 소비량으로 정렬(큰 값이 먼저 보임)

 shift + t : cpu 시간으로 정렬

 shift + p : cpu 사용량으로 정렬



13화 로그 파일에서 필요한 줄만 뽑고 싶어(파이프라인) 


 파이프라인은 | 이런 문자를 말하는데, 명령어와 명령어를 연결하는 역할을 한다.


 압축풀기 명령어들

  cat : 비압축 텍스트

  zcat : gzip용 압축풀기(.gz, .tgz)

  xz : xz 파일 압축풀기

  unzip : zip파일 압축풀기



tail -F access.log : 최신 로그 조회

Ctrl + c : tail 출력 중단

tail -F access.log | grep "/retro" | grep -v "/live" : 특정 조건으로 조회


cat 명령어(catenate;연결하다에서 유래) : 여러개의 파일을 한번에 출력해서 봄.

tcat : 역순으로 출력


14화 작업 절차를 자동화하고 싶어(셸 스크립트) 


#!bin/bash :셔뱅(shebang, Hash-Bang), bash용 스크립트라는 의미


다른 스크립트들(bash, zsh, perl, python, node, ruby)


chmod +x x setup.sh : 실행권한 설정


if [ $? != 0]; then exit; fi : 에러시 중단하는 명령어

  

15화 같은 문자열을 스크립트에서 재사용하고 싶어(셸 변수)


 %s/원문/수정문 : vim에서 치환명령어

 log=/ver/log/apache2/access.log : 변수에 값 지정 하기

 $log : 변수 호출


 tar_extact="tar xfv"

 eval "$tar_extact file.tar.gz" : 변수에 명령어 지정 가능


 스크립트의 각줄이 너무 긴 것보다는 80자 이내가 되도록 하는 게 매너라고 함.(가독성차원)


16화 작업 환경과 상태를 정해서 스크립트를 실행하고 싶어(환경 변수)


 env : 현재 사용가능한 환경변수 목록


 HOME 현재 사용자의 홈 디렉토리

 PWD 현재 디렉터리 작업 디릭터리

 EDITOR 정해진 텍스트 에디터 경로 (vim)

 PAGER 정해진 페이지 경로

 USER 현재 사용자의 사용자명

 GROUP 현재 사용자의 그룹명

 HOSTNAME 머신의 호스트명

 


 $(date +%y%m%d) -> 160622

 $(date +%Y-%m-%d) -> 2016-06-22


 명령어 중첩

 $(명령어$(명령어))


17화 로그 파일에서 필요한 줄만 뽑고 싶어(cut)


 cat /var/log/apache2/access.log | grep -v "/live" l cut -d " " -f 7 | less


cut은 넘어온 값을 구분자

(-d 옵션에 지정한 문자, 옵션을 지정하지 않으면 기본 구분자로 탭문자 사용)로 분할 함

-f 옵션으로 숫자로 지정한 문자만 모아서 표시한다.



18화 같은 내용의 줄을 세어보고 싶어(sort와 uniq) 

 uniq -c 

 uniq는 중복을 제거함을 의미.

 -c는 -count 옵션과 같다. 


sort 

 오름차순 : 작은 것부터 시작해서 마지막에 가장 큰 것이 온다.

 내림차순 : 큰 것부터 시작해서 마지막에 가장 작은 것이 온다.

 즉 값이 커지는가가 기준이 됨. 값이 커지면 오름차순, 작아지면 내림차순


sort --reverse -r :내림차순



tail -n +6 6번째 이후부터 출력

tail -n -5 뒤에서 5줄을 제외한 나머지 출

head -n 5 앞에서 5줄째부터 출력

tail -n 5 뒤에서 5줄째부터 출력

 

19화 CSV 파일을 열의 내용에 따라 정렬하고 싶어(sort와 리다이렉트) 


 sort 

 --field-separator 구분자지정

 -t 구분자지정

 --key 열번호 지정

 -k 열번호지정

 --number 숫자정렬

 -n 숫자정렬

 --ignore-leading-blanks 스페이스무시

 -b 스페이스무시


 > : 리다이렉트, 명령어 실행결과를 파일로 저장함

 명령어 > /tmp/retro-access.log

 

 

20화 명령줄 지정으로 작업 내용을 바꾸고 싶어(명령줄 인수)


 인수값설정 

 첫번째 인수: $S1 

 두번째 인수: $S2 

 세번째 인수: $S3 ...


#옵션 이름으로 값 받는 방법

while getopts b:n:p:o: OPT

do

 case $OPT in

  b) base="SOPTARG" ;;

  n) next="SOPTARG" ;;

  p) previous="SOPTARG" ;; #-p 값을 previous로 참조가능

  o) output="SOPTARG" ;;

 esac

done


21화 조건에 따라 처리 흐름을 바꾸고 싶어(조건 분기)


 if [ $# = 2 ]

 then

  echo "hello!"

 fi

 #각각을 인수로 인식함으로 붙여쓰기하지 말고 띄어쓰기 해야 함



22화 명령어 이상 종료에 대응하고 싶어(종료 상태)


$? #직전 명령어의 성공여부를 확인할 수 있는 변수, 0이 나오면 정상종료이며, 0이 아니라면 오류임.

    #일반적인 오류는 1로 표시하며, 프로그램에 따라 0~255까지의 오류 변수가 나올 수 있음.


23화 같은 처리를 반복해서 실행하고 싶어(for) 

 for filename in *.log \

   *.txt

 do

 ./create-report.sh $filename

 done



for 반복문을 한줄로 작성할 때 주의할 점
for file in date log scripts; do echo $file; done
if [ $1 = "" ]; then echo $1; fi

for xx, do xx, if xx, then xx가 한 묶음!

24화 공통 처리를 계속 재사용하고 싶어(셸 함수)


#!/bin/bash
hello(){
 echo "안녕"

 echo "호걸입니다"

 echo "잘부탁해요"
}

hello
hello
hello

return #함수 종료를 명시하는 것으로 쉘 함수에서만 이렇게 사용함.

#중요한 함수라면 함수로 만들어서 제일 위에 위치시킬 수도 있다. 예를 들어 main()함수라던지.

함수에서 인수를 사용할 경우, 변수를 따로 만들어서 사용한다.

target=$1





저작자 표시 동일 조건 변경 허락
신고

설정

트랙백

댓글

통일신라 시대의 인물입니다.


종남산 자오곡에서 수행했다고 합니다.

종리권에게 도를 배웠다고 합니다.


 그와 함께 배운 사람들로 자혜와 최승우란 인물이 있었습니다.


 자혜와 최승우는 신라로 귀국했지만, 김가기는 귀국후에 다시

중국으로 돌아갔다고 합니다.


 그리고 자신의 도법을 최치원에게 전수하고 갔다고 전합니다.



최치원과 만났다는 부분은 상당히 어색합니다. 

최치원의 생몰년대와 김가기의 생몰년대를 비교해보면 알 수 있지요.


무튼 약간 전설적으로 윤색된 점이 있는데, 

김가기 라는 인물 자체는 진실로 보입니다.

사적비까지 발견되었으니까요.



참고

김가기 - 위키백과

신라 김가기 사적비 중국서 발견 - 중앙일보

신선ㆍ도인 이야기 : -海東편- 김가기(?∼859) - 대순회보

통일신라시대의도교사상 - 위키문헌

저작자 표시 동일 조건 변경 허락
신고

설정

트랙백

댓글

왕실에서 후궁의 다툼을 보고 세속의 환멸을 느껴

24세에 중국으로 건너간 신라의 왕족.


당나라에서 출가하여 교각(喬覺)이라는 법명을 얻었습니다.

또한 자신의 사후 3년후에도 썩지 않으면 등신불로 만들라고 하였습니다.


등신불 위치 : 중국 안휘성 청양현 구화산 


등신불은 육신보전이라는 곳이 있다고 합니다.

구도 수행을 했던 암자에는 등신불이 아니라 불상이 모셔져 있습니다.


참고

김교각 - 위키백과



저작자 표시 동일 조건 변경 허락
신고

설정

트랙백

댓글





라마크리슈나(Ramakrishna, 1836년~1886년)는 인도의 신비주의적 종교가이다. 

 캘커타 교외의 브라만 집안에서 태어났는데 사원(寺院)의 간부 승이 되어 칼리 여신을 숭배하였다. 너무 열심히 순수하게 숭배했기 때문에 때때로 기도에 열중할 때 삼매(三昧)의 경지에 도달하는 수가 있었는데 후에 숲 속에 들어가 12년 동안의 고행을 하여 신비적 체험을 쌓았다. 

 명상·고행을 중시하는 열렬한 비슈누파 교도였으나 이슬람교·기독교 등 각 종교에 대한 이해도 깊었으며 종교 진리는 결국 각 종교의 구별을 초월한 곳에 귀결한다고 깨닫게 되었다. 그리하여 끝내 모든 세속적 생활을 이탈한 학문과 덕이 함께 높다고 하는 파라마한사의 존칭을 받기에 이르렀다. 

 그는 학문에 통달한 것은 아니었으나 샹카라의 베단타 사상에 입각하여 합리주의의 지적 태도로서가 아니라 내발적(內發的)인 열정으로써 설법했기 때문에 많은 공명자를 얻기에 이르렀다.



라마 크리슈나는 인도의 3대 성자 중 한 사람이다.

(인도의 3대 성자는 붓다, 상카라, 라마크리슈나이다.)


그의 주요 수행 방식은 헌신이었다.

헌신. 기도. 명상.


그리고 하나의 종교를 넘어

다양한 종교에 대해 깊이 체험하였다는 특징이 있다.



참고

라마크리슈나 - 위키백과


저작자 표시 동일 조건 변경 허락
신고

설정

트랙백

댓글




아기 발놀림 보소! ㅋㅋㅋㅋ


저작자 표시 동일 조건 변경 허락
신고

설정

트랙백

댓글