리눅스

LINUX (vi/ vi 모드 전환 및 명령어/ 셸/ 셸 변수와 환경/ 환경 변수 설정/ Alias/ History)

아리빠 2023. 4. 27. 19:06

●vi

리눅스에서 일반적으로 사용할 수 있는 화면 편집기

 

-저장과 종료

마지막 행 모드 :q vi에서 작업한 것이 없을 때 그냥 종료
:q! 작업한 내용 저장하지 않고 종료
:w 파일명  작업한 내용을 저장/ 파일명 지정 시 다른 파일로 저장
:wq, :wq! 저장하고 vi 종료
명령모드 ZZ 작업한 내용을 저장하고 vi 종료

 

-vi 모드 전환

i 커서 앞에 입력
a 커서 뒤에 입력
o 커서가 위치한 행의 다음행에 입력
I 커서가 위치한 행의 첫 칼럼으로 이동하여 입력
A 커서가 위치한 행의 마지막 칼럼으로 이동하여 입력
O 커서가 위치한 행의 이전 행에 입력

 

-커서 이동

k / j 커서를 한 행 위 / 아래로 이동
l / h 커서를 한글자 오른쪽/왼쪽으로 이동
^ / $ 커서를 현재 행의 처음/ 마지막으로 이동
-,+ / enter 커서를 앞/ 다음 행의 처음으로 이동
H/M/L 커서를 화면의 맨 위/중간/맨 아래 행으로 이동
w / e 커서를 다음 단어의 첫/마지막 글자로 이동
b 커서를 앞 단어의 첫 글자로 이동

 

-내용 삭제

x, #x 커서 위치의 글자 삭제 #에는 삭제할 글자수
dw, #dw 커서 위치의 단어 삭제 #에는 삭제할 단어수
dd, #dd 커서 위치의 행 삭제 #에는 삭제할 행 수
 D 커서 위치부터 행의 끝까지 삭제

 

-명령 취소 

윈도우의 ctrl + z 사용 시 vi 화면 사라지고 프롬프트가 나타남(프롬프트에서 fg 입력 시 다시 vi로)

u 명령을 취소
U 해당 행에서 한 모든 명령을 취소
:e! 마지막으로 저장한 내용 이후 버리고 새로 작업

 

-복사 잘라내기 붙이기 

yy, #yy 커서가 위한 행을 복사
p 커서한 위치한 행 아래에 붙인다
P 커서가 위치한 행의 위쪽에 붙인다
dd, #dd 커서가 위치한 행을 잘라둔다 (삭제와 같음)

 

-vi에서 셸 명령 사용하기

:! 셸 명령 vi작업을 잠시 중단하고 셸 명령 실행
:sh vi를 잠시빠져나가 셀 명령을 실행

 

-vi 환경 설정

set nu 파일 내용의 각 행에 행 번호를 표시함
set nonu 행 번호 감추기
set list 눈에 보이지 않는 특수문자 표시(tab:^|, eo| :$ 등)
set nolist 특수문자 감추기
set showmode 현재 모드 표시
set noshowmode 현재모드 감추기
set set을 설정한 모든 vi 환경 설정값 출력
set all 모든  vi환경 변수와 현재 값 출력

 

 

●셸

리눅스 커널과 사용자를 연결하는 역할 수행

-명령어 해석 기능

- 프로그래밍 기능

-사용자 환경 설정 기능

 

echo
화면에 한줄의 문자열 출력 echo [-n] [문자열]
-n 마지막에 줄바꿈 하지 않는다

 

printf
자료를 형식화하여 화면에 출력 printf [형식] [인수]
%d , \n 등 c언어의 printf 함수의 형식을 지정

 

 

▶입출력 방향 변경  

> 파일 리다리렉션(덮어쓰기)한다
>> 파일에 내용을 추가
< 표준 입력을 바꾼다

●셸변수와 환경 변수 설정

셸 변수 정의 변수명=문자열 (변수명과 문자열 사이 공백 없어야됨)

●환경 변수 설정

환경변수 정의 지정한 셸 변수를 환경 변수로 바꾼다
export [옵션] [셸 변수] -n: 환경변수를 셸 변수로 변경

 

●변수 해제 

unset
지정한 변수를 해제 unset [변수]

 

●alias 

alias
앨리어스를 생성 alias 이름='명령'
alias: 명령을 수정해 사용
alias 이름='명령' : 명령을 수정해 사용

●history

history
히스토리를 출력 history

●bashShell 에서의 시스템 환경 설정 파일

/etc/profile 시스템에 공통으로 적용되는 환경 변수설정
-PATH: 기본 명령 경로 설정
-USER,LOGNAME: 사용자 UID와 이름 설정
-HOSTNAME:호스트명 설정
-HISTSIZE: 히스토리 크기 설정
기본 접근권한 설정
/etc/profile.d/*.sh 실행
/etc/bashrc 시스템 공통으로 적용되는 함수와 앨리어스를 설정
기본 프롬프트 설정
서브 셸을 위한 명령 경로를 설정
서브 셸을 위한 기본 접근 권한 설정
/etc/profile.d/*.sh 언어나 명령별로 각각 필요한 환경설정
필요시 설정 파일을 추가
~/.bash_profile .bashrc 파일이 있으면 실행
경로 추가 등 사용자가 정의하는 환경설정 파일
~/.bashrc /etc/bashrc 파일이 있으면 실행
사용자가 정의하는 앨리어스나 함수 등을 설정
~/.bash_logout 로그아웃 시 실행 할 필요가 있는 함수 등을 설정