Infrastructure/Linux

[연습문제] 유닉스 이론과 실습 개정판 13장 연습문제

Jinlib 2017. 12. 25. 17:30

1. 다음 연산식의 실행 결과와 종료 값을 확인해 표를 채우시오 (, a=2, b=4, c=8)

 연산식

 결과 값

 종료 값

 3 * 5 / 4

 3

0

 a >>2

 0

0

 a ^ b

 6

0

 a <2 %% c >5

0

0

 

2. 변수 값이 “path=/export/home/user1/.profile”일 때, 주어진 문자열 처리 결과값을 적으시오.

· $path%/user1*

· $path##*/

문제에서 나온 $path%/usr1*가 오타로 생각하여 $path%/user1*로 진행하였다.

3. 두 파일의 이름을 인자로 받아 다음과 같이 복사하는 스크립트를 작성하시오. my_cp1cp명령을 사용해 스크립트 안에서 파일 내용을 복사하고, my_cp2cp 명령 대신 파일 내용을 직접 읽어서 복사하시오.

· 파일이름 : my_cp

· 동작 예 : $ my_cp . file (오류체크)

첫 번째 인자는 일반 파일이어야 합니다.

$ my_cp file1 file2 (file1file2로 복사)

$ my_cp file1 dir1 (file1dir1 아래로 복사)

$ my_cp file1

사용 방법 : my_cp 파일 이름 파일 이름 또는 my_cp 파일 이름 디렉토리 이름

my_cp1


my_cp2

4. 파일 조건 테스트 명령을 이용해 인자로 주어진 파일의 종류를 출력하는 스크립트를 작성하시오.

5. 포지션 인자가 무엇인지 확인해보자. 스크립트에서 다음을 먼저 실행하도록 하고, 각 질문을 수행하도록 스크립트를 작성하시오.

· 파일 이름 : my_pos

· 포지션 인자 : set unix cook book hanbit

전체 포지션 인자들을 출력하시오.

포지션 인자의 개수를 출력하시오.

unix가 저장된 포지션 인자는 무엇인가?

6. set 명령으로 다음과 같이 date 명령을 실행하여 포지션 인자들에 값을 위치시키고, 포지션 인자를 사용하여 다음과 같은 형태로 출력이 되도록 스크립트를 작성하시오.

· 파일 이름 : my_date

· set : set $(date)

· 출력 형태 : 연도 월 일 요일

7. 사용자를 등록하는 기능을 구현하려고 한다. 우선 사용자가 원하는 ID를 입력받아 현재 시스템에 등록된 ID인지 /etc/passwd 파일을 검색하여 사용할 수 있는지 여부를 알려주는 스크립트를 작성하시오.

· 파일 이름 : my_checkid

· 입력 : 사용자ID

· 출력 : You can use XXX, or Already exists(XXX).

8. 다음과 같은 명령의 목록을 출력하고 해당 명령의 번호를 선택하여 실행하도록 하는 스크립트를 작성하시오. quit를 선택하면 스크립트는 종료된다.