2009. 3. 23.

[리눅스] find 명령어 실습

-exec 명령 : 주어진 명령을 수행한다. 가장 흔히 쓰이는 행동들 중 하나이다,
명령에 매개변수들을 지정하는 방법은 이 표 다음에서 설명한다.
이 행동 끝에 \;를 붙어야 한다.
-ok 명령 : -exec와 같되 각 파일마다 명령을 수행하기 전에 사용자에게 확인을
받는다. 이 행동 역시 끝에 \;를 붙여야 한다.
-print : 파일 이름을 출력한다.


1. root 디렉토리로 부터 *.jpg 를 찾아 현재 디렉토리에 복사하기
☞ find . -type f -name *.jpg -exec cp {} . \;

2. 현재 디렉토리로 부터 10M 이상의 화일을 찾아서 출력하기.
☞ find . -type f -size +10000 -exec ls -alh {} \;

3. 현재 디렉토리로 부터 하루 이상 경과한 화일을 imsi 디렉토리로 이동 시키기.
☞ find . -atime +1 -type f -exec mv {} imsi\;

4. "-F"라는 화일을 찾아 삭제하기.
☞ find . -name "-F" -exec rm {} \;

5. 현재 디렉토리에서 대소문자에 상관없이 " 찾는 문자열" 을 포함한 라인을 출력하기.
☞ find . -exec grep -i "찾는 문자열" {} \;

6. 현재 디렉토리로 부터 *.Z 화일을 제외한 나머지 화일들을 *.Z으로 압축하기
☞ find . \! -name "*.Z" -exec compress -f {} \;

7. 현재 디렉토리로부터 *.Z 화일을 제외하고 또한 "제외할 화일명" 외의 화일들을 터미널 로 출력과 동시에 /tmp/list 에 추가하기
☞ find . -type f \! -name "*.Z" \! -name "제외할화일명" -print | tee -a /tmp/list

8. 현재 디렉토리로부터 이름이 *.ini인 화일을 출력하기
☞ find . -name "*.ini"

9. 현재 디렉토리 이하 서브 디렉토리를 포함한 모든 화일들에 대해 퍼미션 755로 변경하기
☞ find . -exec chmod 755 {} \; or chmod -R 755 ./ ;

10. 현재 디렉토리로 부터 user1 소유자로 표시된 화일들을 모두 user2의 사용자 권한으로 변경하기
☞ find . -user xuser1 -exec chown -R user2 {} \; or chown -R user2 ./

11. 현재 디렉토리로 부터 "찾을 xxx넘"을 대소문자 구별없이 검색하여 출력하기
☞ find . -exec grep -i "찾을 xxx넘" {} \;
☞ find . -grep -i "찾을 xxx넘" {} \;
☞ find . -ls -exec grep "찾을 xxx넘" {} \;

12. 6일 이전의 화일들을 찾아 출력하기
☞ find . -atime +6

13. 30일 이전 업데이트된 화일들의 라인수를 알아보기
☞ find . -atime +30 -exec ls \; | wc -l

14. /raid 디렉토리로 부터 "디렉토리명"을 가진 화일이 존재하면 / 복사할 경로 로 복사 하기.
☞ find /raid -type d -name "디렉토리명" -ok cp /복사할경로 {} \;

15. 찾을 화일 검색도중 에러 및 경고 메시지는 표시하지 않게 하기
☞ find . -name "찾을 화일" -print 2> /dev/null

16. 대소문자 구분없이 " 찾는글"을 포함된 화일에 대한 내용을 출력하지 않고, "찾는넘.list" 화일에 저장 및 more를 통해 검토하기
☞ find . -print -exec grep -i "찾는글" {} \; > 찾는넘.list
☞ find . -print -exec grep -i xeroxrel {} \; | more


17. 파일 권한이 700인 파일을 찾아준다.
☞ find . -perm 700 -print

18. 파일 권한이 400인 파일과 200인 파일을 찾아준다.
(주의: "\"의 앞뒤에 space 가 반드시 있어야 한다."
☞ find . \ ( -perm 400 -o -perm 200 ) -print

19. 파일의 블럭 크기가 1024 이상인 파일을 찾아준다.
☞ find . -size +1024 -print

20. 파일 이름이 core이고 크기가 2048블럭 이상인 파일을 찾아준다.
☞ find . -name core -size +2048 -print

21. 30일 이전에 억세스되었던 파일을 찾는다.
☞ find . -atime +30 -print

22. 7일 이내에 수정된 적이 있는 파일을 찾는다.
☞ find . -mtime -7 -print

23. 30일 이전에 억세스된 파일 중 *.c를 찾아 ls -l 한다.
☞ find . -name \*.c -atime +30 -exec ls -l {} \;

24. 현재 디렉토리 밑에서 이름이 core인 파일을 찾아 지운다(지우기 전에 정말
지울 지를 물어본다.)
☞ find . -name core -exec rm -i {} \;

25. 마운트된 디렉토리들은 검색하지 말라고 알려주는 효과를 낸다.
☞ find / -mount -name test -print

26. 현재 위치의 df.sh 파일보다 최근에 만들어진 파일형식을 출력한다.
☞ find -newer df.sh -type f -print

27. 현재 위치에서 df.sh 파일보다 최근에 만들어진 모든 것을 출력
☞ find -newer df.sh -print

28. 현재 위치에서 set.sh 파일보다 최근에 만들어진 모든 파일들은 모두 출력 된다.
☞ find . -newer set.sh -type f -exec ls -l {} \;

RH033 Linux Essentials

RH033 Linux Essentials

Linux Essentials 모의 테스트 설문지

본 설문지는 Red Hat에서 제공하는 교육에 앞서, Red Hat Enterprise Linux에 대한 귀하의 기술 정도를 알아보기 위한 자료입니다. 귀하께서 정확히 알고 계신 답안에 체크하시기 바라며, 모르시는 질문에 대해서는 “모름”에 체크해주시기 바랍니다. 질문에 대한 답을 마치시면 각 주제별로 귀하의 기술 정도를 측정하실 수 있으며, 귀하께 맞는 교육 과정 선택에 도움을 드릴 수 있을 것입니다.
본 설문지는 교육을 위한 모의 테스트의 용도로만 사용되며 실제 테스트와는 무관합니다.
본 모의테스트의 결과에 따라 귀하께 적합한 교육을 선택하실 수 있으나, 원하시는 경우 테스트 결과보다 상위 또는 하위의 과정을 선택하셔도 무방합니다.

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

Topic #1 Basic Filesystem and File Commands :

◆ 1) newdir/file2 는 존재하지 않지만, newdir 디렉토리는 존재하는 경우, 다음 커맨드의 실행 결과는?
mv file1 newdir/file2

file1 이 newdir 디렉토리로 이동되고, file2로 이름이 변경된다. ○
file1이 newdir 디렉토리로 복사되고, 복사된 이름의 파일은 file2가 된다.
잘못된 커맨드이기 때문에 에러가 출력된다.
모름

◆ 2) 다음 커맨드를 실행한 결과는 무엇인가?
ls -F

현재 디렉토리에 존재하는 파일 및 디렉토리들이 정렬되지 않은 상태로 출력된다.
현재 디렉토리에 존재하는 파일 및 디렉토리들이, 파일 타입 지시자(file type indicatior)가 뒤에 붙어 출력된다. ○
현재 디렉토리에 존재하는 파일 및 디렉토리들이, 열을 표시하기 위해서 공백 대신 컴마(,)를 사용하여 구분되어 출력된다.
모름

◆ 3) 다음 커맨드에 관해, 옳은 문장은?
ln file1 file2

file2가 file1에 대한 심볼릭 링크가 된다.
file1의 크기에 관계없이, file2의 크기는 5byte가 된다.
file1과 file2는 동일한 inode 번호를 갖는다. ○
모름
--------------------------------------------------------------------------------

Topic #2 The Linux Filesystem Layout :

◆ 4) /etc 디렉토리에는 들어있는 파일들은 일반적으로 어떤 타입의 파일들인가?

설정 파일 ○
잡동사니 파일(misc files)
표준 리눅스 커맨드
모름

◆ 5) email inbox가 생성되는 기본 디렉토리는 어느 것인가?

/var/spool/mail ○
사용자 홈 디렉토리의 mail 디렉토리
/usr/mail
/usr/mail

◆ 6) /lib 디렉토리에 들어있는 내용은?

문서들
설정 파일
공유 객체들(Shared objects) ○
모름
--------------------------------------------------------------------------------

Topic #3 Permissions and Attributes :

◆ 7) 파일 퍼미션을 보여주는 커맨드는?

chmod
ls -l ○
perms
모름.
◆ 8) -rwx-x--- 퍼미션을 가진 파일에 대해, 다음 커맨드를 실행한 이후의 파일 퍼미션을 숫자로 표현한 것은?
chmod g+s file

2750
750
751
모름 ○

◆ 9) 다음 커맨드를 실행한 효과는?
chattr +i file

파일을 변경하려는 모든 시도가 금지된다.
파일을 디스크에 저장할 때 압축되고, 읽을 때 압축이 풀린다. ○
파일은 입력 모드(insert mode)로만 열리며, 데이터를 추가할 수는 있지만, 파일 내에 있는 데이터들을 변경하거나 삭제할 수 없다
모름
--------------------------------------------------------------------------------

Topic #4 Manipulating Floppy Disks :

◆ 10) 특별히 허가되지 않은(non-privileged) 사용자가 콘솔로 로그온 하여, 플로피를 마운트 하기 위해 사용 할 수 있는 명령어는?

mount /dev/fd0 /media/floppy
mount /mnt/floppy
둘 다 아니다.
플로피를 마운트하는 것은 슈퍼유저(superuser)만이 할 수 있는 작업이다. o
모름

◆ 11) 다음 커맨드를 실행하였다.
tar cvf /dev/fd0 mydir
이 플로피상에 위치시킨 파일들을 리스팅 하기 위해서는 어떻게 해야 하는가?

tar tf /dev/fd0 ○
ls /dev/fd0
ls /mnt/floppy
모름.
◆ 12) 플로피에 로우레벨 포맷(low level format)을 하려고 한다. 다음 중 어떤 커맨드를 사용해야 하는가?

fdformat /dev/fd0
fdform at /dev/fd0h1440 ○
mkfs /dev/fd0
모름.
--------------------------------------------------------------------------------

Topic #5 The vi and vim Editors :

◆ 13) vi 에디터를 사용할 때, 다음 중 옳은 내용은?

커맨드 모드(command mode)에서 대문자 "O" 를 입력하면, 현재 라인의 아래쪽에 새 라인이 생성되고, 입력 모드(insert mode)로 변경된다.
커맨드 모드에서 소문자 "a"를 입력하면, 현재 커서의 바로 다음 위치로 커서가 이동하며 입력 모드로 변경된다. o
커맨드 모드에서 "dd4"를 입력하면 4라인이 삭제된다.
모름
◆ 14) vi 에디터를 사용할 때, 커맨드 모드에서 4 단어를 삭제하기 위해서 입력해야 하는 순서는?

4xw
wwww
4dw o
모름
◆ 15) vim에서 특정 문자들을 검색하여, 해당 문자들이 하이라이트 되었다. 하이라이트를 제거하기 위해서는 어떻게 해야 하는가?

:set nohighlight
:set nohl
:nohl o
모름
--------------------------------------------------------------------------------

Topic #6 Regular Expressions :

◆ 16) 다음 표현이, 정규 표현식으로 취급될때와, 커맨드 라인 상에서 파일 이름 생성 시퀀스로 취급된 경우 각각 어떻게 동작하는가?
abc*

파일 이름 생성시에는, 이 표현은 abc로 시작되며, 뒤쪽에 임의의 추가 문자들이 0개 이상 나타나는 모든 파일들을 반환한다. 정규 표현식의 경우, 이 표현은, ab로 시작되며 뒤쪽에 c 문자가 0개 이상 나타나는 문자열과 매치된다.
파일 이름 생성과, 정규 표현식 모두에서 이 표현은 동일하게 취급된다. 이 표현은 abc로 시작되며, 뒤쪽에 임의의 추가 문자들이 0개 이상 나타나는 문자열과 매치된다.
0 파일 이름 생성시, 이 문장은 abc로 시작되며, 뒤쪽에 임의의 추가 문자들이 0개 이상 나타나는 모는 파일들을 반환한다. 정규 표현식의 경우, 이 문장은 abc로 시작되고, 뒤쪽에 임의의 추가 문자들이 1개 이상 나타나는 문자열과 매치된다.
모름
◆ 17) 다음 정규 표현식에 의해 매치되는 것은 무엇인가?
^^$$

0 중복된 caret(^)과 달러 사인($)이 하나의 caret(^)과 달러 사인($)으로 줄어들기 때문에, 이 정규 표현식은 공백 라인을 검색하기 위해 사용된다.
이 정규 표현식은 라인 상에 ^$ 두 문자로 이루어진 문자열이 존재하는 라인과 매치된다.
0x 이 정규 표현식은 라인 상에 ^^$$ 문자열이 존재하는 라인과 매치된다. 0
모름
◆ 18) 다음 커맨드의 검색 패턴에 관한 설명 중 맞는 것은?
grep 'abc\{3,5\}d' file

백슬래시(\)는 중괄로({}가 문자 그대로 인식되어야 한다는 것을 의미한다. 따라서 위 커맨드는 abc{3,5}d 를 검색한다.
중괄호는 원래 정규 표현식 에서는 특별한 의미를 갖지 않지만, 여기서는 백슬래시가 앞에 붙어 있기 때문에 특별한 의미를 갖게 된다. 이 표현식은 ab 다음에 3개 또는 5개의 c가 나오고, 마지막에 d가 붙어 있는 문자을 검색한다. ‘abcccd’, ‘abcccccd’
0 중괄호는 원래 정규 표현식 에서는 특별한 의미를 갖지 않지만, 여기서는 백슬래시가 앞에 붙어 있기 때문에 특별한 의미를 갖게 된다. 이 표현식은 ab 다음에 3개에서 5개 사이의 c가 나오고, 마지막에 d가 붙어 있는 문자열을 검색한다. ‘abcccd’ , ‘abccccd’, ‘abcccccd’
모름
--------------------------------------------------------------------------------

Topic #7 Standard Input and Output System :

◆ 19) 다음 커맨드의 실행 결과는?
ls -l /etc > /tmp/etc.ls

/etc 디렉토리와 /tmp/etc.ls 파일의 내용을 보여준다.
/etc 디렉토리의 내용을 보여주고, 해당 출력을 /tmp/etc.ls 파일로 리다이렉션 한다. 0
잘못된 조합된 명령어이기 때문에 에러 메시지를 출력한다.
모름
◆ 20) 다음 중, ls 명령어의 표준 출력(stdout) 과 표준 에러 출력(stderr)을 합치고, 합쳐진 데이터를 두 개의 분리된 파일에 출력하는 커맨드는 어떤 것인가?

ls -lR /data > mylist1 > mylist2 2>&1
ls -lR /data 2>&1 | tee mylist1 > mylist2 0
ls -lR /data | tee mylist 1 > mylist2 2>&1
모름
◆ 21) 다음 커맨드를 실행했을 때 표준 출력(stdout)과 표준 에러 출력(stderr)에는 어떤 일이 일어나는가?
ls -lR /data 2>&1 > /tmp/output

stdout과 stderr의 내용이 /tmp/output 파일에 기록된다.
stdout의 내용은 /tmp/output 파일에 기록되고 stderr의 내용은 표준 출력으로써 화면에 보여진다. 0
stderr의 내용은 /tmp/output 파일에 기록되고 stdout의 내용은 화면에 보여진다.
모름
--------------------------------------------------------------------------------

Topic #8 Process Control :

◆ 22) 현재 시스템 상에서 동작하고 있는 프로세스들의 리스트를 보여주는 커맨드는 어떤 것인가?

ps ax 0
proc -a
stat
모름

◆ 23) 현재 포그라운드(foreground)에서 동작하고 있는 작업을, 백그라운드에서 작업하도록 전환하려면 어떻게 해야 하는가?

불가능하다.
Control-c를 눌러 해당 작업을 대기(suspend)시킨 뒤, kill -TSTP PID명령을 사용하여 해당 작업을 백그라운드로 전환한다. (여기서 PID는 프로세스 ID 넘버이다)
Control-z를 눌러 해당 작업을 대기(suspend)시킨 뒤, bg 커맨드를 실행하여 해당 작업을 백그라운드로 전환한다. 0
모름

◆ 24) 프로세스 리스트에서 STAT 열의 상태 중, T가 의미하는 것은 무엇인가?

프로세스 실행이 대기 상태(suspend)중에 있다. 0
프로세스가 defunct 되었다.
프로세스가 resident page를 가지고 있지 않다.
모름
--------------------------------------------------------------------------------

Topic #9 Client-side Encrypted Communications :

◆ 25) 다음 중 암호화된 채널을 사용하여 다른 컴퓨터에 로그온 할 수 있도록 해 주는 프로그램은?

telnet
ssh O
rlogin
모름
◆ 26) 암호화된 ftp 연결을 사용하기 위해서, 다음 중 어떤 서비스를 제공해 주어야 하는가?

sshd
vsftpd ○
vsftpd (혹은 다른 FTP 데몬)과 sshd 둘 다.
모름
◆ 27) 자동으로 computer1에서 computer2로 로그온 하기를 원한다. 이 작업을 위해서, computer1의 적절한 히든 디렉토리 상의 파일에 computer2로부터 받은 키(key)를 저장 해 주어야 한다. 다음 중 이 키를 저장해야 하는 파일은?

authorized_keys ○
known_hosts
id_dsa.pub
모름
--------------------------------------------------------------------------------

Topic #10 bash Command Line Shortcuts :

◆ 28) 현재 다음 파일들이 저장되어 있는 작업 디렉토리 상에 위치하고 있다.
parrot
pelican
penguin

여기서 다음 커맨드를 입력하고 tab 키를 눌렀다.

ls -l pa
만약bash 쉘을 사용하고 있었다면, 어떻게 되는가?

"pa" 가 "parrot"로 확장된다 0
아무 일도 일어나지 않는다.
"pa"가 "parrot"로 확장되고 ls 커맨드가 실행된다.
모름

◆ 29) 다음 커맨드는 파일들을 리스팅한다. 리스팅 되는 파일들을 가장 잘 표현한 문장은?
ls *.*

현재 디렉토리의 모든 파일들이 리스팅된다.
히든 파일들을 제외한 현재 디렉토리의 모든 파일들이 리스팅된다.
파일 이름 내에 .(dot)을 가지고 있는 현재 디렉토리의 모든 파일들이 리스팅된다. 하지만 파일 이름의 맨 처음에 .(dot)이 있는 파일들은 리스팅되지 않는다. 0
모름
◆ 30) 다음 입력으로 실행되는 커맨드는?
!?cat
가장 최근에 실행된 cat 커맨드
커맨드의 이름에 cat 문자열이 포함되어 있는, 가장 최근에 실행된 커맨드
커맨드 라인상(커맨드 이름 또는 파라미터)에 cat 문자열이 포함되어 있는, 가장 최근에 실행된 커맨드 0
모름
--------------------------------------------------------------------------------

Topic #11 Shell Scripting :

◆ 31) 다음 쉘 스크릴트에서, date커맨드는 몇 번이나 실행되는가?
for i in a b; do date; done
0
1
2 ○
모름

◆ 32) 다음 쉘 스크립트에서 hello 라는 문자열이 출력되는 조건은 무엇인가?
if [ -d newitem ]; then echo hello; fi
newitem이 디렉토리인 경우 ○
항상 출력됨
newitem이 non-zero length string이므로 절대 출력되지 않음.
모름

◆ 33) while/do 쉘 스크립트에서 continue 문이 수행하는 작업은?

1초간 정지했다가, 계속해서 수행함 0
do 루프가 수행되는 도중 특정 시간에 인터럽트 되고, while 문의 위치로 점프하여 조건문을 재평가(reevaluate)한다.
이전의 done 문장으로 점프하고, 그 위치부터 다시 수행을 시작한다.
모름
--------------------------------------------------------------------------------

Topic #12 Task Automation :

◆ 34) at 커맨드를 사용하여 특정 작업이 미래에 수행되도록 예약하는 방법은 무엇인가?

at
이 커맨드를 수행하면 예약할 작업과 실행을 원하는 시간을 입력하는 프롬프트가 나타난다.
at timespec timespec은 작업을 수행하기를 원하는 시간이며, 이 커맨드를 수행하면 예약할 작업을 묻는 프롬프트가 나타난다. ○
at timespec command 이 커맨드를 수행하면 command에 해당하는 작업을 timespec이 지정하는 시간에 실행한다.
모름

◆ 35) 사용자의 crontab 파일에서, 다음 엔트리는 얼마나 자주 수행되는가?
30 4 * * 3 mycmd

매 시간
매 주 ○
3월 중 매 시간마다.
모름

◆ 36) 사용자의 crontab 파일에서, 다음 엔트리는 얼마나 자주 수행되는가?
*/5 * * * * mycmd

5분마다. ○
매 시간 정각에서 5분 전 마다.
엔트리 형식이 잘못되어 실행되지 않는다.
모름


RH033 Linux Essentials


주제 모의테스트 점수
Basic Filesystem and File Commands 매우 잘 알고 계십니다. 4
The Linux Filesystem Layout 매우 잘 알고 계십니다. 4
Permissions and Attributes 대체로 잘 알고 계십니다. 3
Manipulating Floppy Disks 매우 잘 알고 계십니다. 4
The vi and vim Editors 매우 잘 알고 계십니다. 4
Regular Expressions 대체로 잘 알고 계십니다. 3
Standard Input and Output System 대체로 잘 알고 계십니다. 3
Process Control 매우 잘 알고 계십니다. 4
Client-side Encrypted Communications 대체로 잘 알고 계십니다. 3
bash Command Line Shortcuts 매우 잘 알고 계십니다. 4
Shell Scripting 대체로 잘 알고 계십니다. 3
Task Automation 매우 잘 알고 계십니다. 4


합계 점수: 43

종합:
해당 기술을 대체로 이해하고 계십니다.

추천:
RH133 System Administration 과정을 수강하시기를 추천합니다.RH133 System Administration 모의테스트를 치르시고 자신의 스킬을 다시 한번 확인하시기 바랍니다.

본 평가서는 귀하께서 치르신 모의테스트의 결과에 근거하여 >작성되었습니다. 확정적인 것은 아닙니다만, 일반적으로 본 모의테스트의 결과는 귀하의 스킬을 검증해보는 자료가 됩니다. 테스트 결과가 귀하의 >실력보다 낮거나 높게 나왔다고 판단되시는 경우에는 귀하의 스킬을 잘 판 단하시어 신중하게 입과과목을 선택해 주실것을 권합니다. 모의테스트에 >응해주셔서 감사합니다.

[DB-Oracle] 오라클 계정 생성, 삭제, 시스템 패스워드 변경

SQL DB 초기 접속시

◆ 오라클 계정 생성

1. SQL Plus에 접속
sqlplus "/as sysdba"
[oracle@namhun /usr/lib/oracle/xe]$ sqlplus "/as sysdba"
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
SQL> conn /as sysdba
Connected.
2. 계정생성 :
ex)
SQL> create user inpion identified by "imsi00";
User created.
3. 접속권한 부여 :
grant resource, connect to inpion;
resource, connect는 일반적인것을 다 사용 할 수 있음. DDL, DML 사용가능
ex)
SQL> grant resource, connect to inpion;
Grant succeeded.

4. 작업 tablespace 지정 : alter user 유저네임 default tablespace users;
5. 임시 tablespace 지정 : alter user 유저네임 temporary tablespace temp;
ex)
SQL> alter user inpion temporary tablespace temp;
User altered.

◆ 오라클 계정 삭제
1. SQL Plus 에 접속
sqlplus system/비밀번호
2. SQL drop user inpion cascade; 사용자 삭제
cascade 를 명시하면 유저네임과 관련된 모든 데이터 베이스 스키마가
데이터 사전으로부터 삭제되고 모든 스키마 객체도 물리적으로 삭제됨.

◆ 오라클 패스워드 강제 변경
sqlplus "/as sysdba"

SQL> alter user sys identified by 암호;
SQL> alter user system identified by 암호

ex) SQL> alter user sys identified by "123456";
User altered.
ex) SQL> alter user system identified by "123456";
User altered.

[리눅스] Dialog

Linux - Dialog


dialog [ --title title ] [ --backtitle backtitle ]

[--clear ] [ --separate-output ] box-options


dialog 종류 : yes/no box, menu box, input box, message box, text

box, info box, checklist box, radiolist box


--yesno text height width


[foxman@foxman /]# dialog --title "hello" --backtitle "Dialog"

--yesno "Is everything okay" 20 60


--msgbox text height width


[foxman@foxman /]# dialog --title "hello" --backtitle "Dialog"

--msgbox "Is everything okay" 20 60



--infobox text height width


[foxman@foxman dialog]# dialog --title "hey" --backtitle "Dialog"

--infobox "Is everything okay?" 10 60



--inputbox text height width [init]


[foxman@foxman dialog]# dialog --title "hey" --backtitle "Dialog"

--inputbox "Is everything okay?" 10 60 "yes"






--textbox file height width


[foxman@foxman copyright]# dialog --title "Array 30" --backtitle "All

For Chinese" --textbox array30 20 75



--menu text height width menu-height [ tag item ] ...


[foxman@foxman dialog]# dialog --title "Menu Example" --menu "MENU"

20 60 4 tag1 " item1" tag2 "item2" tag3 "item3" tag4 "item4"






--checklist text height width list-height [ tag item status ]

...


[foxman@foxman dialog]# dialog --title "CheckList Example"

--checklist "Check List" 20 60 4 tag1 "item1" on tag2 "item2" off

tag3 "item3" on tag4 "item4" off



--radiolist text height width list-height [ tag item status

] ...


[foxman@foxman dialog]# dialog --title "RadioList Example"

--radiolist "Radio List" 20 60 4 tag1 "item1" on tag2 "item2" off

tag3 "item3" on tag4 "item4" off



--gauge text height width percent


[foxman@foxman dialog]# dialog --title "Installation" --backtitle

"Star Linux" --gauge "Linux Kernel" 10 60 50



yesno

#!/bin/sh


DIALOG=dialog


if $DIALOG --title "WCW v.s. NWO" --backtitle "Wrestling"\

--yesno "Are you ready to rumble?" 5 60; then

echo "Yeahhhhh"

else

echo "Nap..."

fi


inputbox

#!/bin/sh


DIALOG=dialog


if $DIALOG --title "The future is here" \

--inputbox "Where do you want to go tomorrow?" \

10 75 "Penguin" 2>my_own_destiny

then

way=`cat my_own_destiny`

echo "My way is $way"

else

echo "freak out"

fi


menu


#!/bin/sh


if dialog --title "title" \

--menu "MENU" 20 60 14 \

tag1 "item1" tag2 "item2" 2>select

then

selection=`cat select`

echo "my selection is $selection"

else

echo "go"

fi


checklist


#!/bin/sh


if dialog --title "title" \

--checklist "checklist" 20 60 14 \

tag1 "item1" on tag2 "item2" off 2>select

then

selections=`cat select`


echo "My selections are:"

for i in $selections ; do

echo $i

done


else

echo "go"

fi


radiolist


#!/bin/sh


if dialog --title "title" \

--radiolist "checklist" 20 60 14 \

tag1 "item1" on tag2 "item2" off 2>select

then

selection=`cat select`

echo "My selection is $selection"

else

echo "go"

fi

CCNA 시뮬레이션

▶ LAB_A
- RouterName - Lab_A
- RouterType - 2514
- E0 = 192.5.5.1
- E1 = 205.7.5.1
- S0 = 201.100.11.1
- SM = 255.255.255.0

Router>enable
Router#config t
Router(config)#hostname Lab_A
Lab_A(config)#enable secret cisco
Lab_A(config)#line console 0
Lab_A(config-line)#login
Lab_A(config-line)#password class
Lab_A(config-line)#line vty 0 4
Lab_A(config-line)#login
Lab_A(config-line)#password class
Lab_A(config-line)#line aux 0 4
Lab_A(config-line)#login
Lab_A(config-line)#password class
Lab_A(config-line)#exit
Lab_A(config)#interface e0
Lab_A(config-if)#ip address 192.5.5.1 255.255.255.0
Lab_A(config-if)#no shutdown
Lab_A(config-if)#exit
Lab_A(config)#interface e1
Lab_A(config-if)#ip address 205.7.5.1 255.255.255.0
Lab_A(config-if)#no shutdown
Lab_A(config-if)#exit
Lab_A(config)#interface s0
Lab_A(config-if)#ip address 201.100.11.1 255.255.255.0
Lab_A(config-if)#clock rate 56000
Lab_A(config-if)#no shutdown
Lab_A(config-if)#exit
Lab_A(config)#router rip
Lab_A(config-router)#network 192.5.5.0
Lab_A(config-router)#network 205.7.5.0
Lab_A(config-router)#network 201.100.11.0
Lab_A(config-router)#exit
Lab_A(config)#ctrl+z
Lab_A(config)#copy run start
Lab_A(config)#show run

▶ LAB_B
- RouterName - Lab_B
- RouterType - 2503
- E0 = 219.17.100.1
- S0 = 199.6.13.1
- S1 = 201.100.11.2
- SM = 255.255.255.0

Router>enable
Router#config t
Router(config)#hostname Lab_B
Lab_B(config)#interface fastEthernet 0/0
Lab_B(config-if)#ip address 219.17.100.1 255.255.255.0
Lab_B(config-if)#no shutdown
Lab_B(config-if)#exit
Lab_B(config)#interface serial 2/0
Lab_B(config-if)#ip address 201.100.11.2 255.255.255.0
Lab_B(config-if)#bandwidth 56
Lab_B(config-if)#no shutdown
Lab_B(config-if)#exit
Lab_B(config)#interface serial 3/0
Lab_B(config-if)#ip address 199.6.13.1 255.255.255.0
Lab_B(config-if)#bandwidth 56
Lab_B(config-if)#clock rate 56000
Lab_B(config-if)#no shutdown
Lab_B(config)#route rip
Lab_B(config-router)#network 219.17.100.1
Lab_B(config-router)#network 201.100.11.2
Lab_B(config-router)#network 199.6.13.1
Lab_B(config-router)#exit
Lab_B(config)#ip host Lab_A 192.5.5.1 205.7.5.1 201.100.11.1
Lab_B(config)#ip host Lab_B 219.17.100.1 199.6.13.1 201.100.11.2
Lab_B(config)#ip host Lab_C 223.8.151.1 204.204.7.1 199.6.13.2
Lab_B(config)#ip host Lab_D 210.93.105.1 204.204.7.2
Lab_B(config)#ip host Lab_E 210.93.105.4
Lab_B(config-line)#exit
Lab_B(config)#exit

▶ LAB_C
- RouterName - Lab_C
- RouterType - 2503
- E0 = 223.8.151.1
- S0 = 204.204.7.1
- S1 = 199.6.13.2
- SM = 255.255.255.0

Router>enable
Router#config t
Router(config)#hostname Lab_C
Lab_C(config)#enable secret class
Lab_C(config)#enable password cisco
Lab_C(config)#no ip domain-lookup
Lab_C(config)#interface fastEthernet 0/0
Lab_C(config-if)#ip address 223.8.151.1 255.255.255.0
Lab_C(config-if)#no shutdown
Lab_C(config-if)#exit
Lab_C(config)#interface serial 2/0
Lab_C(config-if)#ip address 199.6.13.2 255.255.255.0
Lab_C(config-if)#bandwidth 56
Lab_C(config-if)#no shutdown
Lab_C(config-if)#exit
Lab_C(config)#interface serial 3/0
Lab_C(config-if)#ip address 204.204.7.1 255.255.255.0
Lab_C(config-if)#bandwidth 56
Lab_C(config-if)#clock rate 56000
Lab_C(config-if)#no shutdown
Lab_C(config)#route rip
Lab_C(config-router)#network 223.8.151.0
Lab_C(config-router)#network 204.204.7.0
Lab_C(config-router)#network 199.6.13.0
Lab_C(config-router)#exit
Lab_C(config)#ip host Lab_A 192.5.5.1 205.7.5.1 201.100.11.1
Lab_C(config)#ip host Lab_B 219.17.100.1 199.6.13.1 201.100.11.2
Lab_C(config)#ip host Lab_C 223.8.151.1 204.204.7.1 199.6.13.2
Lab_C(config)#ip host Lab_D 210.93.105.1 204.204.7.2
Lab_C(config)#ip host Lab_E 210.93.105.4
Lab_C(config)#line console 0
Lab_C(config-line)#password cisco
Lab_C(config-line)#login
Lab_C(config-line)#line vty 0 4
Lab_C(config-line)#password cisco
Lab_C(config-line)#login
Lab_C(config-line)#exit

▶ LAB_D
- RouterName - Lab_D
- RouterType - 2501
- E0 = 210.93.105.1
- S1 = 204.204.7.2
- SM = 255.255.255.0

Router>enable
Router#config t
Router(config)#hostname Lab_D
Lab_D(config)#enable secret class
Lab_D(config)#enable password cisco
Lab_D(config)#no ip domain-lookup
Lab_D(config)#interface serial 2/0
Lab_D(config-if)#ip address 204.204.7.2 255.255.255.0
Lab_D(config-if)#bandwidth 56
Lab_D(config-if)#no shutdown
Lab_D(config-if)#exit
Lab_D(config)#interface fastEthernet 0/0
Lab_D(config-if)#ip address 210.93.105.1 255.255.255.0
Lab_D(config-if)#no shutdown
Lab_D(config-if)#exit
Lab_D(config)#route rip
Lab_D(config-router)#network 204.204.7.0
Lab_D(config-router)#network 210.93.105.0
Lab_D(config-router)#exit
Lab_D(config)#ip host Lab_A 192.5.5.1 205.7.5.1 201.100.11.1
Lab_D(config)#ip host Lab_B 219.17.100.1 199.6.13.1 201.100.11.2
Lab_D(config)#ip host Lab_C 223.8.151.1 204.204.7.1 199.6.13.2
Lab_D(config)#ip host Lab_D 210.93.105.1 204.204.7.2
Lab_D(config)#ip host Lab_E 210.93.105.4
Lab_D(config)#line console 0
Lab_D(config-line)#password cisco
Lab_D(config-line)#login
Lab_D(config-line)#line vty 0 4
Lab_D(config-line)#password cisco
Lab_D(config-line)#login
Lab_D(config-line)#exit

▶ LAB_E
- RouterName - Lab_E
- RouterType - 2501
- E0 = 210.93.105.2
- SM = 255.255.255.0

Router>enable
Router#config t
Router(config)#hostname Lab_E
Lab_E(config)#enable secret class
Lab_E(config)#enable password cisco
Lab_E(config)#no ip domain-lookup
Lab_E(config)#interface fastEthernet 0/0
Lab_E(config-if)#ip address 210.93.105.4 255.255.255.0
Lab_E(config-if)#no shutdown
Lab_E(config-if)#exit
Lab_E(config)#route rip
Lab_E(config-router)#network 210.93.105.0
Lab_E(config-router)#exit
Lab_E(config)#ip host Lab_A 192.5.5.1 205.7.5.1 201.100.11.1
Lab_E(config)#ip host Lab_B 219.17.100.1 199.6.13.1 201.100.11.2
Lab_E(config)#ip host Lab_C 223.8.151.1 204.204.7.1 199.6.13.2
Lab_E(config)#ip host Lab_E 210.93.105.1 204.204.7.2
Lab_E(config)#ip host Lab_E 210.93.105.4
Lab_E(config)#line console 0
Lab_E(config-line)#password cisco
Lab_E(config-line)#login
Lab_E(config-line)#line vty 0 4
Lab_E(config-line)#password cisco
Lab_E(config-line)#login
Lab_E(config-line)#exit

MS Office 단축 키

기능 키
바로 가기 키 원하는 작업
F1 키 온라인 도움말이나 Office 길잡이 표시
F2 키 텍스트나 그래픽 이동
F3 키 상용구 항목 삽입
F4 키 마지막 작업 반복
F5 키 편집 메뉴의 이동 명령
F6 키 다음 창이나 프레임으로 이동
F7 키 도구 메뉴의 맞춤법 및 영문법 검사 명령
F8 키 선택 영역 확장
F9 키 선택한 필드 업데이트
F10 키 메뉴 모음 활성화
F11 키 다음 필드로 이동
F12 키 파일 메뉴의 다른 이름으로 저장 명령

Shift+기능 키
바로 가기 키 원하는 작업
Shift+F1 상황에 맞는 도움말을 표시하거나 서식 표시
Shift+F2 텍스트 복사
Shift+F3 대/소문자 바꾸기
Shift+F4 찾기나 이동 작업 반복
Shift+F5 이전 변경 내용으로 이동
Shift+F6 이전 창이나 프레임으로 이동
Shift+F7 도구 메뉴에서 언어 하위 메뉴의 동의어 사전 명령
Shift+F8 선택 영역 축소
Shift+F9 필드 코드와 결과 간에 전환
Shift+F10 바로 가기 메뉴 표시
Shift+F11 이전 필드로 이동
Shift+F12 파일 메뉴의 저장 명령

Ctrl+기능 키
바로 가기 키 원하는 작업
Ctrl+F2 파일 메뉴의 인쇄 미리 보기 명령
Ctrl+F3 스파이크로 잘라내기
Ctrl+F4 창 닫기
Ctrl+F5 문서 창 크기 복원
Ctrl+F6 다음 창으로 이동
Ctrl+F7 컨트롤 메뉴의 이동 명령
Ctrl+F8 문서 컨트롤 메뉴의 크기 명령
Ctrl+F9 빈 필드 삽입
Ctrl+F10 문서 창 전체 화면 표시
Ctrl+F11 필드 보호
Ctrl+F12 파일 메뉴의 열기 명령

Ctrl+Shift+기능 키
바로 가기 키 원하는 작업
Ctrl+Shift+F3 스파이크의 내용 삽입
Ctrl+Shift+F5 책갈피 편집
Ctrl+Shift+F6 이전 창으로 이동
Ctrl+Shift+F7 Word 원본 문서의 연결 정보 업데이트
Ctrl+Shift+F8 선택 영역이나 블록 확장(하고 화살표 키 누르기)
Ctrl+Shift+F9 필드 연결 해제
Ctrl+Shift+F10 눈금자 활성화
Ctrl+Shift+F11 필드 보호 해제
Ctrl+Shift+F12 파일 메뉴의 인쇄 명령

Alt+기능 키
바로 가기 키 원하는 작업
Alt+F1 다음 필드로 이동
Alt+F3 상용구 항목 만들기
Alt+F4 Word 종료
Alt+F5 프로그램 창 크기 복원
Alt+F7 다음 맞춤법, 영문법 오류 찾기. 도구 메뉴의 옵션 대화 상자에 있는 맞춤법 및 영문법 검사 탭에서 입력할 때 자동으로 맞춤법 검사 확인란을 선택해야 합니다.
Alt+F8 매크로 실행
Alt+F9 모든 필드 코드와 결과 간에 전환
Alt+F10 프로그램 창 전체 화면 표시
Alt+F11 Microsoft Visual Basic 코드 표시

Alt+Shift+기능 키
바로 가기 키 원하는 작업
Alt+Shift+F1 이전 필드로 이동
Alt+Shift+F2 파일 메뉴의
저장 명령
Alt+Shift+F9 필드 결과를 표시하는 필드의 GOTOBUTTON이나 MACROBUTTON 실행
Alt+Shift+F11 Visual Basic Studio 코드 표시

Ctrl+Alt+기능 키
바로 가기 키 원하는 작업
Ctrl+Alt+F1 Microsoft 시스템 정보 표시
Ctrl+Alt+F2 파일 메뉴의 열기 명령

L2 L3 L4 L7

L2
Layer2를 이해하고 처리할수 있는 것 MAC Address를 일고 처리한다는 뜻.
Ethernet은 기본적으로 Broadcasting을 사용한다고 했는데, 이것을 개선한 것이 L2 스위치 이다. Broadcasting하던것을 MAC Address를 읽어서 해당 호스트에만 전달할 수 있게 해주게 되어 호스트간의 Dedicated 대역폭을 제공하게 된다. 물론, Broadcasting을 할 경우 10/100/1000Mbps를 모두 공유하므로, 하나의 허브에 N개의 호스트를 넣으면, 1/N의 속도로 각각 통신을 할 수 있게 된다.
L3
Layer3를 이해하고 처리할 수 있는 것으로 간단히 말해 IP를 읽고 처리한다는 뜻.
IP는 네트워크를 구분하는데 사용되니 L3스위치는 네트워크간의 전송을 할 수 있다는 말이 된다. 이것은 실제로 라우터에서 하던 라우팅에 해당하며, 라우터를 대신하는 기능으로 사용된다.
L4
Layer 4의 TCP를 읽고 처리한다는 뜻이며 TCP의 정보를 읽고 처리(제어)를 할 수 있다는 뜻.
주로 활용되는 분야는 Load Balancing 과 같은 기능이며, 웹서버의 포트로 많이 사용되는 TCP 80번 포트의 트래픽과 같은 것을 인지할 수 있으며 그 트래픽을 연결된 서버팜의 서버들에게 균등하게 할당 할 수 있게 된다.

L5~7 스위치가 있는데 이는 앞서 설명한 L4 의 영역을 좀 더 세분화하여 처리하거나 서버단의 Application에서 처리 하던것을 Switch에서 처리해보자 라는 개념으로 만들어짐.



L2 스위치
2Layer(Datalink Layer)의 프로토콜인 이더넷, 프레임릴레이, ATM 등에서 스위칭 기능을 수행한다

L3 스위치
3Layer(L3: Network layer)의 프로토콜인 IP, IPX등에서 스위칭 기능을 수행한다
이 경우 라우팅 기능을 스위치가 가지게 된다.

L4 스위치
4Layer(L4: Transport Layer)의 프로토콜인 TCP, UDP등을 스위칭한다.
이때 TCP와 UDP 그리고 RTP(Real Time Protocol) 등의 헤더를 사용하여,
FTP, HTTP, TFTP. SMTP 등의 프로토콜 중 어느 것에 대한 요구가
우선하는지 파악한 후 스위칭하게 된다.
이러한 이유로 서버와 연동시켜 해당 서비스를 제공하는 서버로 연결하는 스위치로 이용된다



PAS(PIOLINK Application Switch)
- 최적의 네트워킹, 무중단 무장애 서비스를 위한 가장 경제적인 방법입니다.

파이오링크 애플리케이션 스위치(PIOLINK Application Switch)는 서버, 캐시서버, 방화벽, VPN 등의 부하분산을 동시에 지원해 네트워크상의 다양한 장비에 대한 부하분산 기능을 하나의 장비에서 제공하며 설치 및 사용이 편리하다. 이 제품은 고속, 고용량의 L4~L7 트래픽 처리 능력뿐만 아니라 L2/L3 패킷을 회선속도로 처리 할 수 있으며 L4~L7 정보의 처리를 위해 최적화된 하드웨어 구조를 갖고 있는 것이 특징이다.

PSM(PIOLINK Security Manager)
- DoS, DDoS 공격 차단, 이메일 웜 바이러스 공격 차단, Security 업데이트 기능을 포함한 서비스
- PIOLINK Security Manager는 PAS 1700, PAS 3000, PAS 4000 제품에 추가로 장착하실 수 있습니다.

mii-tool 설정을 이용한 NIC 속도 수동 설정

1. mii-tool 란?

Ethernet Card Interface 를 조정하는 역할

잘못설정할 경우 연결이 끊기게 된다. 즉 네트워크로 작업을 할 경우 서버에 접속이 안될수 있음.





[root@namhun /supp1]# mii-tool --help
usage: mii-tool [-VvRrwl] [-A media,... | -F media] [interface ...]
-V, --version display version information
-v, --verbose more verbose output
-R, --reset reset MII to poweron state
-r, --restart restart autonegotiation
-w, --watch monitor for link status changes
-l, --log with -w, write events to syslog
-A, --advertise=media,... advertise only specified media
-F, --force=media force specified media technology
media: 100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD,
(to advertise both HD and FD) 100baseTx, 10baseT




- 설정 방법

[root@namhun /supp1]# mii-tool eth0 -F 100baseTx-FD : 100baseT-Full Duplex



※왼만하면 오토로 사용하는게 좋다.

2009. 3. 18.

[리눅스] 원하는 용량대로 파일 만들기

[root@namhun /]# dd if=/dev/zero of=/1000M.dd bs=1000M count=1
1+0 records in
1+0 records out

[root@namhun /]#

[root@namhun /]# ls -al 100M.dd
-rw-r--r-- 1 root root 104857600 Mar 19 13:18 100M.dd

스크립트
#!/bin/sh
echo -n "1. File name :"
read NAME

echo -n "2. Size :"
read SIZE

dd if=/dev/zero of="$NAME" bs="$SIZE"\M count=1

echo "Complete!"

2009. 2. 5.

[shell] 유용한 쉘 스크립트 ftp, backup

FTP 현 서버에서 데이터 FTP 전송
-------------------------------------------------------------------------------------

##!/bin/sh
#
### 소스 백업 2007. 7. 21
#
## 소스 : /app1/cvsrepo/
## WEB : /supp1/webdocs/
## WAS : /supp1/webapps/
#
tar cfz `date +%Y%m%d`_webdocs.tar.gz /supp1/webdocs/
#
#
USERNAME=w3sli
PASSWORD=!hsbc15
HOST=100.5.100.99
#
#PUT_FILES=`date +%Y%m%d`_webdocs.tar.gz
PUT_FILES=`date +%Y%m%d`_webdocs.tar.gz
{ echo user $USERNAME $PASSWORD
echo cd /backup1/re_backup/`date +%Y%m%d`
echo bin
echo put $PUT_FILES
echo bye
} | ftp -n -v $HOST >> /tmp/log
#
#
rm -f `date +%Y%m%d`_webdocs.tar.gz
-------------------------------------------------------------------------------------


FTP 다른 서버에서 데이터 파일 갖고 오기
-------------------------------------------------------------------------------------
#!/bin/bash

#====================================================================================
# 작성자 : 권남훈
# 내용 : nohup 로그 파일 FTP 갖고 옴.
#====================================================================================
LOG_REAL=/supp1/real_log
cd $LOG_REAL
echo `date +%Y%m%d`
ftp -inv 100.254.55.37<user wlogic81 !slrtm09
cd /supp1/wldomains/ets_domain/ess_server
bin
get nohup_ess_server.log
bye
!
chown w3sli.w3sli /supp1/real_log/*
echo "Complete!"
-------------------------------------------------------------------------------------

FTP 다른 서버에서 데이터 파일 넣어주기
-------------------------------------------------------------------------------------
##!/bin/sh
#
### 소스 백업 2007. 7. 21
#
#
#
#
USERNAME=wlogic81
PASSWORD=!slrtm09
HOST=100.254.55.37
#
#PUT_FILES=`date +%Y%m%d`_webdocs.tar.gz
{ echo user $USERNAME $PASSWORD
echo cd /supp1/wldomains/ets_domain/ess_server
echo bin
echo get nohup_ess_server.log
echo bye
} | ftp -n -v $HOST >> /home/w3sli/
#
#
#rm -f `date +%Y%m%d`_webdocs.tar.gz
-------------------------------------------------------------------------------------


자동 백업으로 데이터 폴더 압축하여 날짜별로 백업하기
-------------------------------------------------------------------------------------
#!/bin/sh
#
### 소스 백업 2008. 8. 21
#
BACK_DIR=/home/BACKUP_iComs/

tar cfz $BACK_DIR/`date +%Y%m%d`_iComs_dev.tar.gz /supp1/webapps/icoms_domain/dev/

DATE2=`date +"%Y%m%d" --date '3 days ago'`
rm -f $BACK_DIR/$DATE2"_iComs_dev.tar.gz"
-------------------------------------------------------------------------------------