728x90
반응형

1. 셸

 A. Korn(ksh), 사용자 인터페이스, 명령어 해석기, 멀티플 태스크 가능

 B. 프로그래밍 언어 해석 기능을 가짐

 

2. 특수문자

 A. 메타캐릭터 : 특수한 뜻을 가진 특수문자

  i. < : 입력

  ii. > : 출력

 B. 와일드카드 : 조건을 뜻하는 특수문자

  i. * : 모든 것

  ii. ? : 1개 캐릭터

  iii. ! : 아닌 것

  iv. : 올 수 있는 것

  v. [A-B] : A 부터 B까지

 

3. 파일 이름으로 명령어 적용하기

 A. ls ne? : ne로 시작하는 세 글자 파일 찾기

 B. rm ?e? : 세 글자 파일 중에 가운데가 e인 파일을 모두 삭제

 C. cp n* /tmp : n으로 이름이 시작되는 모든 파일을 /tmp로 복사

 D. qprt *w : 끝자리가 w인 파일을 모두 프린트함

 E. echo test1* : test1로 이름이 시작되는 파일 내용을 모두 화면에 보임

 F. ls ne[stw] : ne로 시작하는 파일 중에 s 혹은 t 혹은 w가 들어간 3글자 파일 리스트 조회

 G. rm [fgh]e[tw] : 3글자 파일 중에 가운데 글자가 e이면서 앞글자가 f 혹은 g 혹은 h이고, 뒷글자가 t 혹은 w인 파일을 삭제함

 H. ls *[1-5] : 파일 이름 맨 끝에 1에서 5사이의 숫자가 들어간 파일 목록 조회

 I. qprt [!tn]* : 앞글자가 t 혹은 n이 아닌 파일들을 모두 print함

 J. cat ?[!y]*[2-5] : 두번째 글자가 y가 아니고, 끝 글자가 2에서 5 사이 숫자인 파일들의 내용을 보임

 

4. 파일 디스크립터

 A. 3개의 디스크립터가 존재함

  i. standard in : < (0)

  ii. standard out : > (1)

  iii. standard error : 2> (2)

 

5. 입력 보내기

 A. mail A < B : B를 A로 입력함

 

6. 출력 보내기

 A. ls > C : 파일 리스트를 C로 출력함

     0(unchanged) STDIN

     1(changed) C

     2(unchanged) STDERR

 B. who >> D : 현재 서버에 접속한 사용자 ID 목록을 D에 이어붙여서 출력함

     0(unchanged) STDIN

     1(changed) D

     2(unchanged) STDERR

 

7. cat 명령어로 파일 만들기

 A. cat 1M > 2M : 1MB 파일을 2MB로 만듬

     0(unchanged) STDIN

     1(changed) 2M

     2(unchanged) STDERR

 B. cat 1M >> 2M : 1MB 파일을 2MB로 만듬

     0(unchanged) STDIN

     1(changed) 2M

     2(unchanged) STDERR

 

8. 확인문제

 A. 다음 명령어들이 수행되면 발생하는 일

  i. ls /home/A/*.?

     /home/A 디렉토리 안에 확장자가 1글자인 파일 리스트가 나옴

  ii. ls /tmp/[a-zA-Z]*.[0-9]

     /tmp 디렉토리 안에 첫글자가 알파벳이고, 확장자가 한 자리 숫자인 파일 리스트가 나옴

 B. ls *를 실행하면 디렉토리의 모든 파일들의 리스트가 (나온다/나오지 않는다).

     나온다.

 C. 다음 명령어에 대해 파일 디스크립터를 작성하라.

     $ wc -l < file1 > /tmp/lines

  Standard input : file1 (changed)
  Standard output : /tmp/lines (changed)
  Standard error : STDERR(unchanged)

 D. A 파일의 내용을 B 파일 안에 이어붙이고자 할 때 사용하는 명령어

  cat A >> B

 

9. 에러 보내기

 A. cat A B 2> E : cat A B 명령어에서 발생한 에러를 E에 저장

  Standard input : STDIN (unchanged)
  Standard output : STDOUT (unchanged)
  Standard error : E(changed)

 B. cat A B 2> /dev/null  : cat A B 명령어에서 발생한 에러를 null에 저장

  Standard input : STDIN (unchanged)
  Standard output : STDOUT (unchanged)
  Standard error : /dev/null(changed)

 C. /dev/null은 특수 파일이며, 저장되는 모든 내용은 사라진다.

 

10. Combined Redirection

 A. command > outfile 2>&1

  i. 명령어 실행한 결과를 outfile에 저장하고, 에러 내용이 있으면 outfile에 덮어씀

 B. command 2>&1 > outfile

  i. 명령어 실행한 결과에 에러 내용이 있으면 outfile에 저장함

 C. ls -l / > ./list.file 2>&1

  i. 파일 리스트를 ./list.file에 저장하고, 에러가 있으면 ./list.file에 덮어씀

     Standard input : STDIN (unchanged)
     Standard output : ./list.file (changed)
     Standard error : ./list.file (changed)

 D. ls -l / 2>&1 > ./list.file

  i. 파일 리스트 명령어 수행 중에 에러가 있으면 ./list.file에 저장함

     Standard input : STDIN (unchanged)
     Standard output : ./list.file (changed)
     Standard error : STDOUT (unchanged)

 

11. 파이프 : 다중 명령어를 사용함

 A. 예시

  i. who | wc -l : 현재 서버에 접속한 사용자가 몇명인지 알아낼 수 있음

   a. who > T

   b. wc -l T

   c. rm T

 

12. 필터

 A. 예시 : ls -l | grep "^d" | wc -l

  i. d로 시작하는 파일들의 리스트와 개수를 출력

 

13. 출력 나누기

 A. 예시 : ls | tee /tmp/lssv | wc -l

  i. 파일 리스트를 /tmp/lssv에 저장하고, 파일 리스트 줄 수도 출력

 

14. 명령어 그룹화

 A. ;으로 다중 실행

  i. 예시 : ls -R > file ; exit

   a. 파일 리스트를 file에 저장하고, AIX를 종료함

 

15. 줄 연장

 A. \[Enter키]를 입력하면, 다음 줄까지 명령어를 연장해서 작성 가능

     (\=백슬래시)

 

16. 확인문제

 A. ls ???[!a-z]*[0-9]t 명령어가 의미하는 것

     파일 이름에서 네번째 글자가 소문자 알파벳이 아니고, 맨 끝 글자가 t 이며, 맨 끝에서 두 번째 글자가 숫자인 파일들만 리스트로 출력함

 B. standard input, standard output, standard error 구분하기

  i. cat file1
     standard input (0): 키보드

     standard output (1): 모니터

     standard error (2): 모니터

  ii. mail tim < letter
     standard input (0): letter

     standard output (1): 모니터

     standard error (2): 모니터

  iii. cat .profile > newprofile 2>1
      standard input (0): 키보드

      standard output (1): newprofile
      standard error (2): 1

 C. 파일 A에 cat 명령어를 사용한 후에 다음과 같이 처리할 경우, 최종 명령어 정의하기

  i. 파일 B에 저장하고, 파일 C에 에러 저장

     cat A > B 2> C

  ii. 파일 B에 저장하고, 에러도 B에 저장

     cat A > B 2>&1

  iii. 파일 B에 저장하고, 에러내용은 discard시킴

     cat A > B 2> /dev/null

 

17. 셸 변수의 사용자 환경 제공

 A. 홈(HOME) 디렉토리

 B. 터미널(TERM) 타입

 C. 경로(PATH) 찾기

 D. 대표적인 사용자 환경 셀 변수

  i. finger [사용자ID] : 사용자ID에 대한 셸 정보, IP 정보 등이 나옴

 

  ii. 명령어 env, set : 사용자 환경설정 셸 변수들 확인 가능

  

18. 셀 변수 명령어 사용 양식

 A. 새 변수 = "원하는 메세지"

     # echo $[새 변수]

 B. unset [새 변수] : 변수 삭제

    

19. 셸 변수 사용 예시

 A. # X=a

     # Y=b

     # echo "$X" "$Y"

     a b

 B. # xy=day

     # echo Tues$xy

     Tuesday

     # echo $xylong

     아무것도 안뜸

     # echo ${xy}long

     daylong

 

20. 대체 명령어

 A. # date : 현재 연월일시가 출력됨

 B. 호스트 이름 표시하기

     # hostname

     [호스트 이름이 출력됨]

     # HOST=$(hostname)

     #echo $HOST

     [호스트 이름이 출력됨]

  

21. 기호 사용하기

 A. ` ` : ` ` 안에 적힌 내용이 그대로 출력됨

  i. 예시

     # echo `$HOME`

     $HOME

 B. " " : " " 안에 적힌 내용 중에 특수 문자를 모두 무시함

  i. 예시

     # echo "$HOME"

     /home/[userID]

 C. \ (Backslash)

  i. \ 뒤에 서술된 모든 문자를 변환 없이 그대로 출력

  ii. 다음 줄로 이어서 서술할 때에도 사용

  iii. 예시

     $ echo "Today is `date` and `who | wc -l` users \

     > are logged in"

 

22. 명령문 분석

 A. ls $dir/*.? 2>/dev/null | tee filelist.txt

  i. dir 변수에 저장된 디렉토리 주소 내에서, 확장자가 한 자리인 모든 파일에 대한 파일 리스트를 뽑아내어, error는 null로 보내고, 파일 리스트는 filelist.txt로 저장한다.

 

23. echo 명령문 추가 예시

 A. 현재 디렉토리의 파일들과 HOME 변수의 디렉토리 경로를 모두 확인하기

     $ echo * $HOME

 B. 현재 디렉토리의 파일 리스트의 줄 수를 file_list 변수에 저장하고, echo로 파일 리스트 줄 수 출력하기

     $ file_list=`ls |wc -l`

     $ echo $file_list

     $ ls -l

  

24. 확인문제

 HOME 변수에 디렉토리 주소 /home/abc가 저장되어 있고, 현재 사용자가 /home/abc/def 디렉토리에 있을 때,

 A. $ echo "Home directory is $HOME" 입력시 나오는 출력 결과

     Home directory is /home/abc

     (""는 $, \를 수용함)

 B. $ echo 'Home directory is $HOME' 입력시 나오는 출력 결과

     Home directory is $HOME

     (''는 특수 문자를 변수 변환 없이 그대로 출력함)

 C. $ echo "Current directory is `pwd`" 입력시 나오는 출력 결과

     Current directory is /home/abc/def

 D. $ echo "Current directory is $(pwd)" 입력시 나오는 출력 결과

     Current directory is /home/abc/def

 E. $ echo "Files in this directory are *" 입력시 나오는 출력 결과

     Files in this directory are *

 F. $ echo * $HOME 입력시 나오는 출력 결과

     [/home/abc/def 디렉토리에 있는 모든 파일들과 /home/abc 경로가 뜸]

 G. $ echo \* 입력시 나오는 출력 결과

     *

728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,