[유닉스 이론과 실습] 10장 연습문제
01. wirte 명령에서 메시지 보내기를 정상적으로 종료하려면 어떤 키를 입력해야 하는가?
① [Ctrl] + A
② [Ctrl] + D
③ [Ctrl] + Z
④ [Ctrl] + O
정답 : ② [Ctrl] + D
- write 명령 : 다른 사용자에게 메시지를 전달한다.
- write 사용자명[ 단말기명 ]
02. write로 user2 사용자에게 메시지를 보내려고 하는데 로그인하고 있는 단말기가 여러 개다. 이때 특정 단말기를 지정하지 않으면 어떤 단말기로 메시지가 전달되는가?
① 가장 나중에 로그인한 단말기
② 가장 먼저 로그인한 단말기
③ 단말기 번호가 가장 작은 단말기
④ 단말기 번호가 가장 큰 단말기
정답 : ③ 단말기 번호가 가장 작은 단말기
03. wall 명령을 사용하려는 사용자는 tty 그룹에 속해 있어야 한다. 그런데 /etc/group 파일을 보니 tty 그룹이 다음과 같이 설정되어 있다.
tty :: 7 : adm, root
wall 명령의 접근 권한도 확인해봤다. tty 그룹에 속하지 않은 user1 계정이 wall 명령을 사용할 수 있는 이유는 무엇인가?
-r-xr-sr-x 1 root tty 20696 8월 17 2018 /usr/sbin/wall
① user1은 adm 그룹에 속해 있기 때문이다.
② user1은 root 그룹에 속해 있기 때문이다.
③ wall 명령이 setuid가 설정되어 있기 때문이다.
④ wall 명령이 setgid가 설정되어 있기 때문이다.
정답 : ④ wall 명령이 setgid가 설정되어 있기 때문이다.
- wall 명령 : 모든 사용자에게 메시지를 전달한다.
- wall [ 파일명 ]
- wall 명령의 접근 권한 : wall 명령의 소유 그룹은 tty이며, setgid가 설정되어 있다. 따라서 wall 명령은 tty 그룹의 권한으로 실행된다.
04. mailx로 메일을 확인하고 종료할 때 읽은 메일은 기본적으로 어떻게 처리되는가?
① 홈 디렉토리의 mbox 파일에 저장된다.
② /var/mail/사용자명 파일에 저장된다.
③ 읽은 메일은 자동으로 삭제된다.
④ 읽은 메일은 홈 디렉토리의 mail 디렉토리에 저장된다.
정답 : ① 홈 디렉토리의 mbox 파일에 저장된다.
- mailx 명령 : 메일을 보내거나 읽는다.
05. ftp로 gzip으로 압축된 파일을 전송받아서 압축을 해제하려는데 다음과 같은 메시지가 나온다. 무엇이 문제인가?
gzip: txt.zip: unknown suffix -- ignored
① gzip으로 압축한 파일이 아니다.
② hash를 설정하지 않고 파일을 가져왔다.
③ mget으로 파일을 가지고 오지 않았기 때문이다.
④ 바이너리 모드로 파일을 가지고 오지 않았기 때문이다.
정답 : ④ 바이너리 모드로 파일을 가지고 오지 않았기 때문이다.
※ 다음 질문에 맞는 설명이나 명령을 기술하시오.
06. write 명령과 talk 명령의 차이점을 설명하시오.
정답 : write는 간단한 문자메시지 보내는 것이고, talk는 일대일로 대화하는 것이다.
07. mailx에서 읽지 않은 메일은 어디에 저장되는지 설명하시오.
정답 : /var/share/mail/사용자명 파일에 저장된다.
08. abc.unix.com 사이트의 IP 주소를 알고 싶다. 어떻게 검색하면 되는지 설명하시오.
정답 : nslookup abc.unix.com
- nslookup 명령 : IP 주소 검색
- nslookup [ 도메인명 ]
09. ping 명령으로 abc.unix.com 사이트가 동작하는지 확인해 보았는데 응답이 없다. 이에 대한 가능한 해석은 무엇인지 설명하시오.
정답 : ① 서버가 아예 부팅되어 있지 않은 상태, ② 서버가 부팅은 되어 있지만 네트워크에 연결되어 있지 않다, ③ 서버가 부팅은 되어 있고 네트워크에 연결되어 있지만, 시스템 관리자가 pnig 명령에 응답하지 않도록 보안을 설정하였다.
10. ftp 명령으로 외부 호스트에 접속하여 a.txt, b.txt, c.txt 파일을 가져오려는데, 각 파일마다 수신할 것인지를 물어봐서 귀찮다. 어떤 명령을 사용하지 않았기 때문인지 설명하시오.
정답 : prompt 명령을 사용하지 않았기 때문이다.
11. ftp 명령으로 a.zip 파일을 가져오는데 아무 표시가 없어서 전송이 되고 있는지 알 수가 없다. 전송중임을 나타내는 기호를 표시하려면 어떻게 해야 하는가?
정답 : hash 명령을 입력하면 # 기호로 표시한다.
- hash : 파일이 전송되는 동안 #을 출력하여 진행 상황을 알려준다.
12. 시스템을 다운시키려고 한다. 시스템에 로그인하고 있는 전체 사용자에게 "System Down"이라는 긴급 메시지를 보내시오.
정답 : wall "System Down"
13. 작업 도중 불필요한 메시지 때문에 방해받지 않도록 설정하시오.
정답 : mesg n
- mesg 명령 : 메시지를 단말기로 출력하는 것을 막거나(n) 허용한다(y).
14. 이미 작성되어 있는 파일(test.txt) 내용을 메일로 보내려고 한다. 제목은 "Hello Mail"로 하려고 하고, 수신자는 solaris이다. 메일로 발송하시오.
정답 : mailx -s "Hello Mail" solaris < test.txt
15. userver 호스트가 동작하고 있는지 명령으로 확인하시오.
정답 : ping userver
- ping 명령 : 지정한 시스템이 네트워크를 통해 연결되는지 알려준다.
16. 현재 시스템에 로그인하고 있는 사용자들의 실명을 명령으로 알아보시오.
정답 : finger
- finger 명령 : 사용자에 관한 자세한 정보를 출력한다.
- finger [ 사용자명 | 사용자명@호스트명 | @호스트명 ]
17. solaris라는 사용자에게 특별한 계획이 있는지 명령으로 확인하시오.
정답 : finger solaris
- .plan 파일은 홈 디렉토리에 생성하는데 사용자의 일정이나 간단한 메모 등을 작성해 놓는 파일이다. "No Plan"은 .plan 파일이 없음을 뜻한다.
18. userver에 ftp로 접속하여 모든 zip 파일을 가져오려고 한다. 압축 파일이고, 파일의 크기가 커서 #을 표시해야 하며 각 파일마다 전송할 것인지 물어보지 않게 하려면 어떻게 해야 하는지 적절한 작업 순서를 기술하시오.
정답 : ① bin, ② prompt, ③ hash, ④ mget *.zip