- 작성시간 : 2019/10/18 14:08
- 퍼머링크 : paar13kr.egloos.com/7471137
- 카테고리 : 운영체제보안
자신의 셸 확인
echo $SHELL
사용하고 있는 셸에 대한 정보 보기
env
셸의 환경 변수
이 름 | 내 용 |
$HOME | 홈 디렉토리의 절대 경로 이름 |
$PATH | 명령어 탐색 디렉토리 목록 |
메일 저장 절대 경로 | |
$USER | 사용자 계정 |
$SHELL | 로그인 셸의 절대 경로 이름 |
$TERM | 터미널의 유형 |
#echo $USER
셸의 지역 변수
- 사용자가 임의로 사용할 수 있는 변수 값
- 셸 프로그래밍 할 때나 자주 사용하는 문자열 등을 입력해 두고 사용 할 수 있음.
이 름 | 내 용 |
$$ | 셸의 PID |
$0 | 셸 스크립트 이름 |
$1.....$n | 명령어의 n번째 인수 |
$* | 명령어의 모든 인수 목록 |
#echo $$
#ps -ef | grep bash
셸이 제공하는 주요 기능
- 자체의 내장 명령어 제공
- 입력/출력/오류의 방향 변경
- 와일드카드
- 파이프라인
- 조건부/무조건부 명령열 작성
- 서브 셸 생성
- 백그라운드 처리
- 셸 스크립트(프로그램) 작성
백쿼터의 이용
#echo today is date //그대로 문자들을 출력
#echo today is 'date'// date 부분에 날짜를 출력
즉, 명령어 안에서 또 다른 명령을 수행하도록 하게 해주는 기능
출력 리다이렉션
cat > test.txt // 파일에 다른 내용이 모두 삭제되고 입력을 받아들임
cat test.txt // 입력된 내용 확인 가능
cat >> test.txt // 이미 작성되어 있는 파일 내용 뒤에 첨부하는 형식으로 저장
cat<test.txt >test1.txt //입력 리다이렉션도 사용 가능
와일드 카드

ls *.txt
ls ??.txt
ls [a-b]*
파이프 라인 기능

ls -al | more //명령1의 결과가 명령 2로 보내져서 처리 됨
조건부 무조건부 실행
date > date.txt ; ls ; cat date.txt //명령 1이 실행 된 후에 명령 2가 실행 됨
; => 앞 명령의 성공 여부와 상관없이 무조건으로 실행됨
&& => 이전 명령에 성공하면 다음 명령을 실행
|| => 이전 명령에 실패할 경우 다음 명령을 실행
ex) cat aaa.txt && ls -l
cat aaa.txt || ls -l
Vi에디터
세 모드(입력 모드, 명령 모드, 콜론 모드)간 이동방법
Vi에디터를 최초로 실행하면 시작은 명령 모드. 'i(insert)' 키를 누르면 입력 모드로 바뀜. 입력 모드인 경우에 화면 아래쪽에
'INSERT'메시지가 나타나며 글을 입력할 수 있는 상태가 됨.
명령 모드에서 잘못 입력된 위치로 이동하기
텍스트를 입력하던 중에 잘못된 글자로 이동하기 위해서는 먼저 명령 모드 상태로 전환. Esc키를 누르면 명령 모드로 전환.
이 명령 모드에서 h(왼쪽), l(오른쪽), j(아래쪽), k(위쪽) 키를 사용하여 해당 위치로 이동하면 됨(리눅스에서는 화살표 키를 사용해도 됨)
파일 저장하기
저장하는 것은 콜론 모드에서 수행. Esc 키를 누른 뒤에 ';'을 누르면 콜론 모드 상태가 됨. 저장하려면 'w(write)'를 누름.
강제적인 쓰기를 하려면, ':w!'와 같이 '!'를 붙여줌. ':wq!'는 파일을 무조건 쓰고 'q(quit)', Vi에디터를 끝내라는 의미.
명령 모드에서 글자 삭제하기
원하는 위치로 이동하여 'x'를 누르면 현재 커서 위치의 글자가 삭제. 'dd'를 누르면 현재의 행 전체를 삭제
되살리기
명령 모드에서 'u'를 누르면 마지막에 실행한 작업을 취소. '.'를 누르면 실행 취소한 명령을 다시 실행.
찾기
명령 모드에서 '/' 문자나 '?' 문자를 이용. '/' 문자는 커서가 있는 위치에서 아래 방향으로 문자열을 찾으며, '?' 문자는 커서의
위 방향으로 해당 문자열을 찾음.
줄 단위 이동 명령
커서가 이동할 때 단축 키와 비슷한 다음과 같은 키를 이용할 수 있음. 물론 명령 모드에서 해야 함.
- <Ctrl> : 빈 칸을 무시하고 현재 줄의 맨 앞으로 이동.
- O : 줄의 맨 앞 위치로 이동.
- $ : 줄의 맨 뒤로 이동.
- H(Home) : 한 화면의 맨 윗 줄로 이동.
- L(Last): 한 화면의 마지막 줄로 이동.
복사와 붙여 넣기
복사와 붙여넣기도 명령 모드에서 실행.
-yy : 텍스트를 한 줄씩 복사.
- p : 커서 뒤에 복사한 내용을 붙임
- P : 커서 앞에 복사한 내용을 붙임.
행 번호 붙이기
행 번호 붙이기는 프로그램을 디버깅하거나, 문자열의 위치를 파악할 때 매우 유용. 콜론 모드에서 :set nu(number)라고 입력하면,
행 번호가 출력되는 것을 확인할 수 있음.


덧글