리눅스 실습 자료

Download Report

Transcript 리눅스 실습 자료

리눅스 실습
정성훈
1
로그인
리눅스를 사용하기 위하여 밟는 승인절차
 ID/PW 를 입력
 계정 (account)은 슈퍼유저가 만들어 줌
2
패스워드 변경
기존의 패스워드를 새로운 패스워드로 변경 가
능
3
기본 리눅스 명령
date: 날자 출력
cal : 달력출력
w: 상요자 출력
4
기본 리눅스 명령 (계속)
uptime: 시스템 구동된 정보 출력
hostname : 시스템 이름 출력
5
기본 파일 명령어
pwd: 현재 디렉토리(폴더) 출력
cd : 디렉토리 변경
$ cd ..
$ cd ikim
$ cd /u/ikim
$ cd
6
기본 파일 명령어 (계속)
ls: 디렉토리 내의 파일을 봄
$ ls –l
$ ls -al
옵션
-F
설명
디렉토리는 파일이름에 /를 실행파일은 *을 링크된 파일은 @ 문자를
붙여 출력한다.
-a
디렉토리의 모든 파일을 출력한다.
-l
파일의 자세한 정보를 출력한다.
-t
변경된 시간을 기준으로 정렬한다.
7
기본 파일 명령어 (계속)
파일의 종류
-
순수 파일
d
디렉토리 파일
c
특수파일(문자단위로 통신하는 하드웨어)
b
특수파일(블록단위로 통신하는 하드웨어)
l
다른 곳에 존재하는 파일과의 link
파일에 허락되는 액세스 종류
-
액세스가 허락되지 않음
r
파일을 읽을 수 있음
w
파일에 새로운 내용을 쓸 수 있음
x
파일을 실행시킬 수 있음
-rw-r--r--
1
mike 146
Sep 17 09:53 temp
8
기본 파일 명령어 (계속)
디렉토리 생성 (mkdir)
9
기본 파일 명령어 (계속)
디렉토리 삭제(rmdir)
10
파일시스템 명령어
chmod를 사용하여 액세스 권한 변경하기
액세스 권한 표현에 사용되는 8진수 값
400
파일 소유자가 파일을 읽을 수 있음
200
파일 소유자가 파일에 새로운 내용을 쓸 수 있음
100
파일 소유자가 파일을 실행시킬 수 있음
040
동일 그룹이 파일을 읽을 수 있음
020
동일 그룹이 파일에 새로운 내용을 쓸 수 있음
010
동일 그룹이 파일을 실행시킬 수 있음
004
기타 사용자가 파일을 읽을 수 있음
002
기타 사용자가 파일에 새로운 내용을 쓸 수 있음
001
기타 사용자가 파일을 실행시킬 수 있음
$ chmod 666 temp
11
파일시스템 명령어 (계속)
rm 을 사용한 파일의 삭제
$ rm temp test1
$ rm -r manual
mv를 사용한 파일이동
$ mv filename directory
$ mv /u/mike/temp /u
$ mv /u/mike/temp /u/mike/test1 /u
$ mv *.c /u
12
파일시스템 명령어 (계속)
cp를 사용한 파일복사
$ cp test3.c test.c /usr2/97/102/hw3
$ cp *.c clib
13
vi 편집기
vi 시작 및 종료
$ vi filename
~
~
~
~
~
~
~
“filename" [New file]
14
Vi 모드
15
Vi 명령
콜론 명령
$ vi
:w filename
:e filename2
:r 삽입할 파일이름
16
Vi 명령 (계속)
vi에서 편집의 시작, 저장 및 종료방법들
vi filename
vi를 시작하고 filename을 편집
vi
파일명칭을 명시하지 않은 채 vi 시작
:e filename
편집 중 새로운 파일 filename을 편집
:e! filename
편집 중인 파일이 저장되지 않았어도 강제로 새 로운 파일을 편집
ZZ
편집한 파일을 저장하며 vi를 종료
:q!
변경내용 저장 없이 vi를 종료
:w
vi에 있으면서 편집한 파일을 저장
:w filename
filename 의 이름으로 파일을 저장
:w >> filename
filename 에 편집버퍼의 내용을 추가
:1,20 w filename
1행부터 20행 까지를 filename의 이름으로 저장
:wq
저장 후 종료, ZZ와 같은 기능
:r filename
filename을 읽어서 삽입
vi -R filename
혹은
읽기 전용 모드로 시작
view filename
vi -r filename
비정상적인 종료 후 저장되지 않은 내용 복구
17
<space>
Vi 명령 (계속)
커서의 이동
→ or l
한 문자씩 오른쪽으로
← or h
한 문자씩 왼쪽으로
↓ or j
한 행씩 아래로
↑ or k
한 행씩 위로
w
다음 단어의 첫 글자로 (단어는 공백이나 탭으로 구분)
e
다음 단어의 끝 글자로
b
이전 단어의 첫 글자로
W, E, B
w, e, b 와 동일 동작 (단 문장부호 무시)
0
행의 처음으로 (행은 <return>으로 구분)
$
행의 끝 부분으로
^
행의 공백이 아닌 처음 문자로
<return> or +
다음 행의 공백이 아닌 처음 문자로
-
이전 행의 공백이 아닌 처음 문자로
)
다음 문장의 처음으로 (문장은 .으로 구분)
(
이전 문장의 처음으로
}
다음 문단의 처음으로 (문단은 공백 행으로 구분)
{
이전 문단의 처음으로
H
화면 첫 행으로
M
화면 중간 행으로
L
화면 끝 행으로
<ctrl-u>
텍스트에서 반 페이지씩 위로 이동
<ctrl-d>
텍스트에서 반 페이지씩 아래로 이동
<ctrl-b>
텍스트에서 한 페이지씩 위로 이동
<ctrl-f>
텍스트에서 한 페이지씩 아래로 이동
18
Vi 명령 (계속)
입력 및 변경
i
커서 앞에 텍스트를 삽입
a
커서 뒤에 텍스트를 삽입
r
R
I
행의 시작 부분에 텍스트를 삽입
A
행의 끝 부분에 텍스트를 삽입
O
o
<esc>
현재 행 앞의 새로운 행에서 텍스트
s
cw
를 입력
현재 행 뒤의 새로운 행에서 텍스트
한 문자 변경
커서 위치부터 원하는 곳까지 변
경
하나의 문자를 여러 문자로 변경
커서위치부터 한 단어를 변경 (c
범위 가능)
C
커서부터 행 끝까지 변경
S, cc
한 행 전체를 변경
를 입력
명령어 모드로 복귀
19
Vi 명령 (계속)
삭제, 검색 및 치환
:line
:line1,line2
:1,.
:.,.+10
:1,$
:%
한 행을 지정
line1 행부터 line2 행까지 지정
첫 행부터 커서가 위치한 행까지 지정
(점은 현재 커서가 위치한 행을 가리킴)
커서가 위치한 행부터 10행 뒤까지 지정
전체 행을 지정
($는 끝 행을 가리킴)
전체 행을 지정 (%는 전체 행을 가리킴)
20
Vi 명령 (계속)
x
커서에 위치한 한 문자 삭제
X
커서 왼쪽 문자 삭제
D
커서 위치부터 행 끝까지 삭제
dmove
dd
:lined
:line,lined
dw
d10w
커서 위치부터 move 까지 삭제
(move 는 위치 지정 명령)
커서가 위치한 곳의 한 행 삭제
지정 행 삭제
지정 행 범위 삭제
커서가 위치한 곳의 한 단어 삭제
커서가 위치한 곳부터 10 단어 삭제
db
커서가 위치한 곳의 한 단어 뒤로 삭제
d2)
커서가 위치한 곳부터 뒤로 두 문장 삭제
d5{
커서가 위치한 곳부터 앞으로 다섯 문단 삭제
dG
커서가 위치한 곳부터 끝까지 모두 삭제
d1G
커서가 위치한 곳부터 처음까지 모두 삭제
21
Vi 명령 (계속)
검색 명령어
/xxx
아래로 xxx 문자열 검색
?xxx
위로 xxx 문자열 검색
/
아래로 검색
?
위로 검색
n
동일 방향 재 검색
N
반대 방향 재 검색
:set ic
:set noic
대소문자 구분 하지 않고 검색
대소문자 구분 하여 검색
22
Vi 명령 (계속)
정규 표현식
.
<return>을 제외한 모든 단일 문자와 대응
*
0 또는 그 이상의 문자와 대응
^
줄의 시작과 대응
$
줄의 끝과 대응
\<
단어의 시작과 대응
\>
단어의 끝과 대응
[]
[] 안에 있는 문자 중 하나와 대응
[^ ]
[] 안의 문자를 제외한 문자 하나와 대응
\
\ 뒤 문자를 일반문자로 해석
23
Vi 명령 (계속)
여러가지 치환 예
:s/Unix/UNIX
커서가 있는 행의 첫 번째 Unix만 UNIX로 치환
:1,10s/Test/test/g
첫 행부터 10번째 행까지 모든 Test를 test로 치환
:1,$s/Ch/Chapter/c
모든 행에서 Ch를 Chapter로 물어보면서 치환
:%s/Ch/Chapter/c
(두 명령은 동일)
:57s/book//g
57번째 행의 모든 book을 없는 것으로 치환(즉 삭제)
:%s/test$/TEST/g
모든 행의 끝에 있는 test만 TEST로 치환
:20,45s/thi*/these/g 20 행부터 45행까지 thi가 있는 모든 문자열을 these로 치환
:%s/[^bB]est/test
모든 행에서 best나 Best 이외에 모든 문자est를 test로 치환
24
Vi 명령 (계속)
복사와 이동
모든 d 명령어 이동할 경우에 지우는 명령
yw
yy 혹은 Y
복사할 경우에 버퍼에 한 단어를 복사
복사할 경우에 버퍼에 한 행을 복사
nyy 혹은 nY n개의 행을 버퍼에 복사
p
P
단어의 경우 커서위치에 행의 경우 커서 다음 행
에 붙이기
단어의 경우 커서위치 앞에 행의 경우 커서 윗
행에 붙이기
:i,jmk
i 행부터 j 행까지를 k 행으로 이동
:i,jcok
i 행부터 j 행까지를 k 행으로 복사
25
Vi 명령 (계속)
명령의 반복 및 취소
.
바로 전 수행한 명령의 반복
n.
바로 전 수행한 명령의 n 번 반복
u
바로 전 수행한 명령의 취소
U
특정 행에서 수행한 모든 명령의 취소
26
리눅스 프로그래밍
절차
 Vi 등과 같은 editor로 C프로그램 작성
 예) vi test.c

gcc 컴파일러를 이용하여 컴파일
 gcc –o run test.c
 run (실행)

수학 라이브러리의 삽입
 gcc –o run test.c –lm

여러 파일을 같이 compile
 Gcc –o run test1.c test2.c test3.c -lm

Makefile 을 이용하여 compile (참고자료)
27
리눅스 프로그래밍 (계속)
간단한 예제) 화면에 hello world 를 출력
#include <stdio.h>
main()
{
printf(“hello world !!!\n”);
}



test.c 로 저장
gcc –o run test.c
run 수행
28