Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Archives
Today
Total
관리 메뉴

10.17 리눅스 명령어 본문

Study/KITRI

10.17 리눅스 명령어

awakerrday 2016. 10. 17. 16:26

http://14.36.28.172/vmware-workstation.zip

 

linux_cr3denza.pdf


 

man [명령어] : 명령어의 매뉴얼 페이지를 있다

 

pwd: 현재 작업 디렉터리를 있음

 

'~', '.' : 기본 디렉터리

 

rm -rf : 파일, 디렉터리 상관없이 지움

 

ls -a : 숨김파일도 보여줌 (파일명 앞에 . 있으면 숨겨진 파일 ex).profile)

 

touch [파일명] : 파일 생성

 

cp [s] [d ]: 파일 복사

 

du : 디스크 디렉터리별 사용량

 

df : 전체 용량 정보

 

chmod [권한값] [대상파일] : 권한설정 명령어

 

chown [소유자명] [대상파일] : 파일 소유자 변경

 

adduser [유저명] : 사용자 계정 추가

 

deluser [유저명] : 사용자 계정 삭제

 

cat /etc/passwd : 계정확인

 

권환설정

r(4), w(2), x(1): read, write, access

Ex) -rw-r--r-- (644)

첫번재 값이 d 경우는 디렉터리

User (Owner): rw-(6)

Group: r--(4)

Others: r--(4)

 

ps : 실행 중인 프로세스 보기

 

pstree -p : 많은 정보를 가진 프로세스를 있다. (tree형태로 표시된다)

 

ps -ef : 현재 실행중인 프로세스들의 자원, 접근중인 파일, 접근 ip 등이 표시된다.

 

kill -15 [pid] : 15라는 것은 정상적인 신호를 보내서 죽인다는 . 뒤에 pid(process ID) 적어준다.

 

kill -9 [pid] : 9라는 것은 강제종료를 의미한다. 윈도에서 ctrl+alt+del 같다.

 

passwd [계정명] : 비밀번호 변경

 

uptime : 시스템 로드, 켜져있는 시간

 

top : 실행중인 프로세스 디테일

 

control + d : 세션 종료

 

control + z : 일시정지

 

jobs : job 목록 보여줌

 

fg: 일시정지된 job 재개

 

명령어 뒤에 '&' 붙여 실행하면 백그라운드에서 실행함

 






 

2. vi 실행 모드

 

vi 에디터는 크게 명령 모드와 입력 모드로 나눌 있고, 명령 모드에는 vi 명령 모드와 ex 명령 모드가 있습니다. vi 시작시, vi 명령 모드로 시작하며, 특정 키를 눌러, 입력 모드 ex 명령 모드로 전환할 있습니다. vi 명령 모드로 돌아오기 위해서는, Esc(Escape)키를 누르면 됩니다.

 

아래에, 입력 모드 명령 모드에서, 자주 사용되는 명령어를 적어 보았습니다(이것은 제가 선호하는 명령들로, 실제로는 훨씬 다양한 명령들이 있습니다).

 

실질적으로 vi 에디터를 이용하여 편집 작업을 하기 전에, 아래의 명령들을 전부 사용해 보시기 바랍니다. 어떤 명령들은 너무 강력해서 수습하기 어려운 경우도 있으니, 각각의 명령들의 특성을 미리 알아 두는 것이 필요합니다.

 

 

1) 입력 모드 전환  : 실질적으로 문서에 글자를 입력하기 위해서는 명령 모드에서 입력 모드로 모드 전환이 이루어져야 합니다. 사용할 있는 키가 여러 가지가 있는데, 여기서는 그것들에 대해 설명하겠습니다. 단순 입력 작업이 끝나고, 커서 이동이나 편집 작업 등을 하려고 때는 Esc키를 눌러서 입력 모드에서 빠져 나와야 합니다.

 

i : 현재 커서 위치에 글자 삽입이 가능해 , i 키를 누르고 이후에 쓰는 글은 커서 위치에 쓰여지게

I : 현재 처음에 삽입

a : 현재 커서 다음 위치에 추가

A : 현재 마지막에 추가

o : 아랫 줄에 추가

O : 줄에 추가

s : 현재 커서 글자 지우고 입력 모드로 전환

r : 현재 커서 글자 지우고 글자 입력 받아 명령 모드로 돌아감

Esc : 입력 모드 또는 ex 명령 모드에서 vi 명령 모드로 전환, vi 명령 모드에서 Esc키를 누르면 소리가

 

 

2) vi 명령 모드 : Esc키를 눌러서 들어 올 수 있는 모드입니다. vi 에디터 시작할 때의 초기 모드이기도 합니다. 키 앞에 숫자를 입력하면 그 명령이 숫자 만큼 반복됩니다. 입력 모드에서 입력 작업 완료 후, 커서 이동이나 삭제, 복사, 붙여 넣기 등의 편집 작업 등을 할 때는 Esc키를 눌러 vi 명령 모드로 전환시킨 후에 해야 합니다.

 

[ 커서 이동 ]

h : 문자 왼쪽으로 커서 이동(도스용이나 윈도우즈용 vi 에디터의 경우는 대부분, 커서 이동에 방향키를 사용할 있으나, 방향키가 없는 터미널 키보드에서 vi 에디터를 사용하기 위해서는 여기서 설명하는 키들을 알아둘 필요가 있습니다)

j : 아래쪽으로 커서 이동

k : 위쪽으로 커서 이동

l : 문자 오른쪽으로 커서 이동

w : 다음 단어 문자로 커서 이동

b : 이전 단어 문자로 커서 이동

Ctrl+f : 페이지 아래로 커서 이동

Ctrl+b : 페이지 위로 커서 이동

G : 마지막 줄로 커서 이동, 숫자G 눌렀을 , 숫자에 해당되는 줄로 커서 이동

^ : 공백 문자가 아닌, 현재 줄의 문자로 커서 이동

0 : 공백 문자를 포함한, 현재 문자로 커서 이동

$ : 현재 마지막 문자로 커서 이동

 

[ 삭제 ] : 삭제된 것은 버퍼에 저장되므로 p P 명령으로 붙여 넣기가 가능함

x : 현재 커서 위치 문자 삭제

X : 현재 커서 위치 이전 문자 삭제

dw : 현재 커서 위치 단어 삭제, 숫자dw 쓰면 숫자만큼의 단어가 삭제됨, 다른 삭제 명령도 마찬가지로 숫자 입력 방식이 적용됨

db : 현재 커서 위치 이전 단어 삭제

dd : 현재 커서 위치 삭제, 숫자dd 쓰면 숫자만큼의 줄이 삭제됨

d^ : 현재 줄에서 현재 커서 위치 이전 문자열 삭제

d$ : 현재 줄에서 현재 커서 위치 이후 문자열 삭제

D : d$ 같음

 

[ 복사, 붙여 넣기 ] : 여기서의 복사란, 버퍼로의 복사를 말함, 실제로 붙여 넣기를 하려면 p P키를 눌러야

yw : 현재 커서 이후 단어 복사, 숫자yw 쓰면 숫자만큼의 단어가 복사됨, 다른 복사 명령에도 이와 같은 숫자 입력 방식이 적용됨

yb : 현재 커서 이전 단어 복사

yy : 현재 복사, 숫자yy 쓰면 숫자만큼의 줄이 복사됨

p : 복사된 항목을 현재 커서 위치 이후에 붙여 넣기, 삭제된 항목도 붙여 넣기 가능

P : 복사된 항목을 현재 커서 위치 이전에 붙여 넣기, 삭제된 항목도 붙여 넣기 가능

 

[ 검색 ]

/검색어 : 전진 검색

?검색어 : 후진 검색

n : 검색 반복

N : 반대 방향 검색 반복

 

[ 되돌리기(undo) ]

u : 되돌리기(undo). u키를 계속 치게되면, undo 버퍼가 때까지 계속 되돌리기할 있음. 유용함

U : 라인 되돌리기. 줄에 대해서 모든 편집을 없던 것으로 하고 원상태로 되돌림

Ctrl+r : Redo(undo undo)

 

[ 기타 ]

J : 커서 위치 아랫줄을 현재 줄에 붙임. 커서 이동의 j 혼동될 수가 있으므로, 대소문자 구별에 유의해야

. : 이전 실행 명령 반복. 같은 명령을 빠르게 반복하고자 유용함. 참고로, 문자열 입력 , 명령 모드로 돌아와서 . 입력하면 입력된 문자열이 커서 위치에 삽입됨

ZZ : 현재 문서 저장하고, 종료하기

 

 

3) ex 명령 모드 : ex 라인 에디터의 명령어를 사용할 있습니다. vi 명령 모드 상태에서: 키를 눌러서 들어가고, Esc키를 눌러서 다시 vi 명령 모드로 나옵니다. 아래에 제가 자주 사용하는 명령들을 적어 봅니다. 각각의 명령을 입력한 , 실행을 하기 위해서는 엔터키를 누르면 됩니다.

 

시작줄번호,끝줄번호d : 시작줄번호에서 끝줄번호까지의 줄을 지움, 붙여 넣기 가능, 문서의 처음 줄은 1, 현재 줄은 . , 마지막 줄은 $ 지정 가능, 줄번호 입력없이 d 입력했을 경우에는, 현재 줄을 지움

 

시작줄번호,끝줄번호y : 시작줄번호에서 끝줄번호까지의 줄을 복사

 

시작줄번호,끝줄번호s/찾을문자열/바꿀문자열/g : 시작줄번호에서 끝줄번호까지 '찾을문자열' 찾아 '바꿀문자열' 바꿈, g 사용하지 않으면, 줄에 '찾을문자열' 여러 있더라도, 줄에 대해서는 번만 바꿔짐. 유닉스 정규 표현식을 써서 강력한 검색 치환이 가능함

 

se nu : 번호 표시

 

n : 다음 파일 편집, vi 실행시 인자로 입력한 파일이 여러 개일 경우에 해당

 

r 파일이름 : '파일이름' 파일을 읽어 와서 현재 커서 아랫줄에 삽입

 

sh : 쉘로 잠깐 빠져 나가기, 쉘에서 exit 치면, 다시 vi 돌아옴. vi 백그라운드로 돌려서(Ctrl+z), 쉘로 나가 다른 작업을 , fg 돌아오는 방법도 있음

! 명령 : 밖으로 빠져 나가지 않고 바로 '명령' 실행시킴

 

w : 저장하기, w! 쓰면, 강제로 저장하기

w 파일이름 : '파일이름'으로 저장하기

q : vi 종료하기, q! 쓰면 강제로 종료하기

wq : 저장하고, 종료하기. wq! 쓰면 강제로 저장하고 종료하기

 

 

 

이상이 vi 에디터에서 제가 자주 사용하는 명령들입니다. 정도만 익숙하게 쓰실 있으면, 웬만한 편집 작업은 문제없이 있습니다. 외에도, 아주 많은 명령들이 있습니다. 그런 명령들을 사용하시면 vi 에디터를 아주 편리하게 사용하실 있을 같습니다. 특히, 최근의 vi 에디터들은 기능이 다양해져서 Syntax highlighting 기능 등을 비롯하여 여러 가지 기능들을 지원하는 같습니다. 설정 방법을 찾아서 공부하시면 매우 유용하게 사용할 있을 같습니다.

 

문서를 읽고, 연습도 했는데, 모르겠다 싶은 분은, Cygwin에서 vimtutor라는 명령을 내리세요. 하나 하나 따라 하면서 연습할 있습니다.

 

 

 

--------------------------------------------------------------------------------------

VI 사용하기

 

Vi 시작하기

  • $ vi : vi 시작하기
  • $ vi aaa.txt : aaa.txt 파일을 편집하면서 vi 시작
  • $ vi -R aaa.txt : 읽기 전용으로 열기

 

 

Esc

 

: 또는 /

 

편집상태

 

명령대기상태

(Esc모드)

 

명령줄상태

 

삽입명령어

i,a,A,I,o,O

 

Esc 또는 Enter

 

  • 명령대기상태 편집상태삽입명령어 (아래참조.)
  • 편집상태 명령대기상태Esc글쇠.
  • 명령대기상태 명령줄纘?: : 또는 / (아래참조)
  • 명령줄상태 명령대기상태Esc 또는 Enter (아래참조)

 

  

커서의 이동

  • hljk : 왼쪽(, Back space), 오른쪽(, space), (), 아래()
  • bw : 이전 단어의 글자로 / 다음 단어의 글자로 이동.
  • BW : 이전 단어의 글자로 / 다음 단어의 글자로 이동. (문장부호 무시)
  • e : 다음 단어의 글자로 이동.
  • E : 다음 단어의 글자로 이동. (문장부호 무시)
  • HML : 화면의 / 중간 / 아래로
  • 0 : 줄의 처음으로 (숫자 0이다.)
  • $ : 줄의 끝으로
  • + : 다음 줄의 처음으로
  • - : 줄의 처음으로
  • 3| : 현재 줄의 3번째 열로
  • 4H : 화면 상의 처음 줄부터 4 밑으로
  • 4L : 화면 상의 마지막 줄부터 4 위로
  • () : 이전 문장의 시작으로 / 다음 문장의 시작으로
  • {} : 이전 문단의 시작으로 / 다음 문단의 시작으로
  • [[]] : 이전 섹션의 시작으로 / 다음 섹션의 시작으로

편집 버퍼를 통한 이동

  • ^F^B : 화면 앞으로 / 뒤로 (^ Ctrl글쇠를 의미.)
  • ^D^U : 화면 앞으로 / 뒤로
  • 4^B : 4화면 위로 이동
  • 4^F : 4화면 아래로 이동
  • 7^U : 7 위로 이동
  • 7^D : 7 아래로 이동
  • ^Y : 커서는 현재 위치 그대로 화면만 줄씩 아래로 이동
  • ^E : 커서는 현재 위치 그대로 화면만 줄씩 위로 이동

단위 이동

  • :0 : 파일의 번째 행으로 가기 (숫자 0)
  • :10 : 10번째 행으로 가기
  • :$ : 파일의 마지막 행으로 가기
  • G : 파일의 마지막 행으로 가기
  • 10G : 10번째 행으로 가기

삽입명령어

  • i : 커서 위치부터 삽입 시작
  • a : 커서 위치 오른쪽부터 삽입 시작
  • A : 현재 줄의 부터 삽입 시작
  • I : 현재 줄의 처음 부터 삽입 시작
  • o : 커서 아래에 삽입
  • O : 커서 위에 삽입

삭제명령

  • x : 현재 커서위치의 문자 삭제
  • X : 현재 커서 왼쪽의 문자 삭제
  • dd : 지우기
  • 4dd : 4 지우기
  • dw : 단어 지우기
  • d2w : 2 단어 지우기
  • D : 커서 오른쪽 삭제
  • :5 d : 5 삭제
  • :5,10 d : 5-10 삭제

파일의 저장 종료

  • :wq : 저장 vi 종료
  • :w : 저장 (종료는 하지 않고 계속 편집)
  • :q! : 저장하지 않고 vi 빠져나가기
  • :w filename : filename으로 저장 계속 편집
  • ZZ : 변경사항 저장 vi 종료

내용의 복사 이동

  • yy : 현재의 복사
  • 5yy : 현재의 위치부터 5 복사
  • p : 아래(오른쪽) 붙여넣기
  • P : (왼쪽) 붙여넣기
  • f4yy : 현재의 위치부터 4행을 'f'라는 이름의 버퍼에 복사
  • fp : 'f'라는 이름의 버퍼에 복사된 용을 현재 위치에 붙여넣기
  • :3 co 7 : 3 행을 7 다음으로 복사
  • :1,3 co 7 : 1-3 행을 7 다음으로 복사
  • :3 m 7 : 3 행을 7 다음으로 이동
  • :1,3 m 7 : 1-3 행을 7 다음으로 이동

내용 고치기

  • J : 현재 행과 아래 결합
  • 3J : 3 합치기
  • u : 이전 명령 취소
  • cw : 단어 변경
  • cc : 변경
  • C : 커서 오른쪽의 변경
  • s : 커서가 위치한 문자열 대체
  • r : 글자만 변경 (입력 모드로 바뀌지 않음)
  • R : 입력하는 대로 겹쳐써서 변경
  • xp : 커서 위치 문자와 오른쪽 문자 교환
  • - : 문자형(,소문자) 변경
  • U : 변경사항 취소
  • :u : 이전의 최종행 취소

명령 취소 반복

  • . : 마지막 명령 반복
  • 2. : 마지막 명령 2 반복
  • u : 마지막 명령 취소
  • U : 현재 줄을 저장

번호 설정 화면표시

  • :set nu : 번호 표시
  • :set nonu : 번호 숨기기
  • := : 현재 줄번호 보여주기
  • :/pattern/ = : pattern 위치한 줄번호 보여주기

시스템이 다운된 후에 파일 되살리기

  • vi -r : 되살릴 있는 모든 파일 이름 보여주기
  • vi -r file.txt : vi 시작하여 지정한 파일 되살리기

다른 파일을 파일 내로 삽입

  • :r filename : 커서 다음에 파일 삽입
  • :20 r filename : 파일을 20번째 다음에 삽입

새로운 파일 편집하기

  • :e fine.txt : file.txt 편집하기
  • :e! : 현재의 편집중인 내용 무시하고 가장 최근에 편집한 내용 다시 편집하기

다중 편집하기

% vi file1 file2 file3

혹은

:e file1 file2 file3

했을 ,

  • :args : 편집 중인 파일목록 보여주기
  • :n[ext] : 다음 파일로 넘어가기
  • :prev[ious] : 이전 파일로 넘어가기 ( 편집 중인 파일이 저장되지 않으면 다음 파일로 넘어갈 없다.)

문자열 탐색

  • /aaa : 'aaa' 찾기 (현재 위치부터 뒤로)
  • ?aaa : 'aaa' 역방향 찾기 (현재 위치부터 앞으로)
  • : 가장 최근에 검색한 문자열 다시 검색
  • : 가장 최근에 검색한 문자열 다시 역방향 검색
  • :set noh : 문자열 검색 문자열 강조 끄기

치환

:%s/aaa/bbb/g

vi에서 치환은 정규표현식 이용된다. (실제로 상태에서 실행하는 명령어는 ed ex라는 프로그램이 처리하게 된다. 그래서 보통 상태를 "ed-모드"라고 한다.) 문서에서 원하는 패턴을 찾으려면 바로 위에 '문자열 탐색'에서 설명된 바와 같이 /문자열 이나 ?문자열  사용한다. 문자치환 명령은 다음과 같다.

[형식:범위s/변경전/변경후/수정자  

'범위' 명령이 실행될 범위(: 10,20 이면 10 부터 20 까지) 나타낸다. 's' 치환(substitute) 약자이며 '수정자' 치환 명령의 세부사항을 결정한다. 필요한 것만 뒤에 적어주면 된다. (중복 가능)

  • (global) - 줄에서 일치하는 부분을 여러개 찾았을 전부 치환한다. 이것을 사용하지 않으면 처음 것만 치환.
  • (confirm) - 만족하는 정규표현식을 찾았을 치환하기 전에 확인한다.
  • (ignore-case) - 대소문자를 구별하지 않는다.

"변경전" "변경후" 치환할 내용을 입력한다. "변경전" 정규표현식을 적는다. 정규표현식으로 ., *, ^, $, [], \(...\), \<...\>, POSIX.2 단축 표현 사용할 있다. 여기서 여러 문자를 묶여서 단위를 만들고 찾은 내용을 기억하는 특수문자가 \(, \)임을 주의해야 한다. 반대로 (, ) 일반문자이다. vim(VI iMproved)에서는 vi 추가로 |, +, (?와 같은) =, {n,m} 사용할 있지만, 앞에  붙여야 한다. , vim에는 \i, \k, \p, \s 등의 단축 표현들이 있다.

"변경후" \n   사용할 있다\n  "변경전"에서 n번째 \(...\) 대응하는 부분이고 "변경전" 만족한 전체를 나타낸다. 예를 들어

:%s/\([0-9][0-9]*\) \([Cc]hapter\)/\2 \1/ 

문서에서 12 Chapter같은 부분을 Chapter 12 같이 치환하고

:%s/F[1-9][12]*/&/g 

HTML 문서에서 "F1" ~ "F12" 단어 모두를 굵은 체로 바꿉니다. (주의! & 정규표현식의 특수문자는 아니지만 vi 특수문자이므로, 문자그대로의 &를 사용하려면 대신 \&  사용해야 한다.) 이외에도 (뒤를 모두 대문자로\u  (뒤를 모두 소문자로\l 같은 기능이 있다.

:%s/aaa/bbb/g - 파일 전체(g)에서 'aaa' 'bbb' 치환 

:%s/^M//g - 파일 전체(g)에서 ^M  삭제. ^M Ctrl+V+Enter 입력한다

:s/aaa/bbb/ - 현재 행에서 'aaa' 'bbb' 치환 

:1,10 s/aaa/bbb/ - 1행부터 10 까지 'aaa' 'bbb' 치환 

:1,. s/str/rep/ - 1부터 현재행까지 'aaa' 'bbb' 전부 바꾸기 

:g/감자/s//바위/gc - 발생 확인 대체 

주의할 점은 치환명령어가 / 문자로 부분을 구분하기때문에 "변경전"이나 "변경후" / 문자를 사용하려면 \/ 같이 써야한다

필요하다면 / 대신 다른 문자를 사용해도 된다. 예를 들어

:%s/\/usr\/local\/bin\//\/usr\/bin\//g 

대신 

:%s#/usr/local/bin/#/usr/bin/#g 

알아보기 쉽다.

 

출처: <http://yagi815.tistory.com/146

 


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

10.24 gdb  (0) 2017.06.11
10.21 강의내용 및 필기  (0) 2016.10.21
10.13 강의내용 및 필기  (0) 2016.10.13
~10.12 강의내용 및 필기  (0) 2016.10.12
10.7 강의내용 및 필기  (0) 2016.10.10
Comments