article thumbnail image
Published 2020. 10. 31. 22:26

[ 2020 2학기 / 5주차 ]

 

1. grep 명령어 실습

  1.1 grep 명령어를 이용하여 /etc/services 파일에서 tcp 서비스들 을 찾아 그 개수를 출력하시오.

 

  1.2 grep 명령어를 이용하여 /etc/services 파일에서 tcp 서비스들 을 찾아 이를 sort 명령어를 이용하여 정렬하고 그 결과를 파일에 저장하시오.(파일명: sort.txt)

 

 

2. sort 명령어 실습

/etc/passwd 파일은 계정 정보를 저장하는 파일로 각 계정 정보 는 다음과 같은 구조로 저장된다.

계정명:패스워드:UID:GID:계정설명:홈 디렉터리:로그인 쉘

 

  2.1 이 파일을 계정명의 오름차순으로 정렬하여 파일에 저장한다.(파일명: passwd.sort1)

 

  2.2 이 파일을 계정명의 내림차순으로 정렬하여 파일에 저장한다.(파일명: passwd.sort2)

 

  2.3 이 파일을 UID의 알파벳순으로 정렬하여 파일에 저장한다.(파일명: passwd.sort3)

 

  2.4 이 파일을 UID의 번호순으로 정렬하여 파일에 저장한다.(파일명: passwd.sort4)

 

  2.5 이 파일을 계정설명의 오름차순으로 정렬하여 파일에 저장한다.(파일명: passwd.sort5)

 

 

3. find 명령어 실습

  3.1 find 명령어를 사용하여 /etc 디렉터리의 모든 파일 중 심볼릭 링크 파일들만을 상세하게 리스트하시오.

 

  3.2 find 명령어를 사용하여 /etc 디렉터리의 모든 파일 중 확장자 가 .conf인 파일들의 상세 리스트를 conf.out 파일에 저장하시 오.

 

  3.3 ls, 파이프, grep 등을 사용하여 3.2와 같은 일을 하도록 하시 오.(옵션이 필요한 경우 사용할 것)

 

 

4. 명령 스케줄링 실습

  • 다음과 같이 crontab을 작성하여 cron 시스템에 등록 후 결과를 확인해본다. (파일명: cron1.cron)

40 09 * * * echo “hello” >> ~/linux/ch09/outcron.txt

 

 

5. tar 아카이브 및 파일 압축 실습

  • ~/linux/ch09 디렉터리 아래에 있는 모든 파일들을 다른 디렉터리로 옮기기 위해 다음 순서대로 수행한다.

(1) ~/linux/ch09 디렉터리 아래에 있는 모든 파일들을 src.tar 파일로 묶는다. (파일을 여러 개 만들어 수행)
(2) 이 tar 파일을 압축한다.
(3) 이 압축 파일을 상위 디렉터리인 linux 디렉터리로 옮긴다.(mv 명령어 사용)
(4) 옮긴 압축파일을 풀어 tar 파일을 만든다.
(5) tar 파일을 풀어서 원래 파일들을 회복한다.

 

 

/*

6. AWK 실습

  • 다음 내용의 텍스트 파일을 대상으로 하여 아래와 같은 기능을 수행하는 awk 프로그램을 작성하시오.

001                   Thomas                   Manager                    Sales                       5000                   thomas@gmail.com
002                    Jason                      Developer                 Technology          5500                   json@yahoo.com
003                     Sanjay                   Sysadmin                  Technology          7000                   sanj@sysadmin.com
004                    Nisha                      Manager                    Marketing              9500                   nisha@gmail.com
005                    Randy                     DBA                             Technology          6000                   randy@oracle.com
006                    John                       Staff                             Sales                       4000                   john@macys.com

1) 이름과 이메일 만을 출력한다.

2) 가장 많은 급여를 받는 직원의 이름과 급여만을 출력한다. ({print “Nisha 9500”} / {if(NR == 4) print $2, $5;} 등의 hard coding 사용하지 말 것!)

3) 각 부처별 급여액을 계산하여 출력하고, 전체 급여액을 계산하여 출력한다.

4) 급여가 6000 이상인 직원들의 이름과 급여를 출력한다. ({print “Randy 6000”} / {if(NR == 5) print $2, $5;} 등의 hard coding 사용하지 말 것!)

5) 이 파일의 각 줄을 역순으로 출력한다.

*/

'Study > LINUX' 카테고리의 다른 글

[2020-2 리눅스 이론] 6주차  (0) 2020.11.08
[2020-2 리눅스 이론] 5주차  (0) 2020.10.31
[2020-2 리눅스 이론] 3주차  (0) 2020.09.25
[2020-2 리눅스 실습] 3주차  (0) 2020.09.25
[2020-2 리눅스 이론] 2주차  (0) 2020.09.19
복사했습니다!