[참고] 쉘 0




자신의 셸 확인

 

echo $SHELL

 

사용하고 있는 셸에 대한 정보 보기

env

 

셸의 환경 변수

 

 

 

 이    름

내    용 

$HOME 

 홈 디렉토리의 절대 경로 이름

$PATH

 명령어 탐색 디렉토리 목록

$MAIL

 메일 저장 절대 경로

$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)라고 입력하면,

 행 번호가 출력되는 것을 확인할 수 있음.

 


덧글

댓글 입력 영역