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 \* 입력시 나오는 출력 결과
*
'UNIX&LINUX > AIX' 카테고리의 다른 글
[AIX BASIC] 9. 셸 변수 활용하기 (0) | 2014.02.03 |
---|---|
[AIX BASIC] 8. AIX 유틸리티 (0) | 2014.02.03 |
[AIX BASIC] 7. 프로세스 제어 (Controlling Processes) (0) | 2014.02.03 |
[AIX BASIC] 6. 프로세스(Process) (0) | 2014.02.03 |
[AIX BASIC] 4. vi 에디터 (0) | 2014.02.03 |
[AIX BASIC] 3. 파일 사용, 파일 권한 (0) | 2014.02.03 |
[AIX BASIC] 2. AIX 5L V5.3 Documentation, Files & Directories (0) | 2014.02.03 |
[AIX BASIC] 1. AIX Intro. & 시스템 사용 (0) | 2014.02.03 |