강좌
클라우드/리눅스에 관한 강좌입니다.
자격증 분류

리눅스마스터1급 : Shell 활용

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스마스터1: Shell 활용

 




 

1) 쉘 스크립트의 활용

리눅스 시스템의 많은 부분들이 쉘 스크립트에 의해 이루어져 있다.

 

 

 

 

이것은 쉘인 Bash의 설정 파일, 시스템 시작 파일, 데몬 시작 파일, X 윈도우 시작 파일 등 다양한 곳에 쓰이고 있다.

 

 

 

 

이것으로 관리자가 해야 할 일들을 덜어주는 것이다.

 

 

 

 

이러한 파일들은 관리자나 개인 사용자에 의해서도 작성될 수 있으며 관리자는 필요에 따라서 시스템 관리에 대한 여러 가지를 쉘 스크립트를 통해 할 수 있다.

 

 

 

 

그리고 만약 관리자나 개인 사용자들이 자신의 일련의 작업들을 한 번의 명령으로 하고 싶거나 일정한 용도의 프로그램을 만들고 싶다면 쉘 스크립트는 하나의 프로그래밍 언어로서 훌륭하게 작동한다.

 

 

 

 

기본적으로 쉘 스크립트를 통해서 프로그래밍을 할 수 있다.

 

 

 

 

, 쉘 스크립트는 다음 두 가지 방법으로 사용된다.

 

시스템 설정에 관련된 스크립트

프로그램으로서의 스크립트

 

 

 

2) 쉘 환경에서의 유용한 기능들

 

 

프롬프트상에서 명령을 수행하는데 있어서 알고 있으면 매우 편리한 몇 가지 기능이 있다.

 

 

 

 

 

명령 완성 기능

사용할 파일명이나 디렉토리 혹은 기타 명령어의 길이가 길거나 이름의 일부만 생각날 경우, 명령어의 일부만 입력하고 <Tab>을 입력하면, 가능한 명령어를 완성시켜 준다.

 

 

 

 

만일, 해당하는 명령어가 둘 이상인 경우 해당하는 명령어의 리스트를 보여준다.

 

 

 

 

 

 

화살표 키로 사용했던 명령어 찾아내기

 

작업을 하다보면 아주 긴 명령을 기입하는 경우가 있는데 이러한 긴 명령을 다시 사용하거나 그렇지 않더라도 생각나지 않는 전에 사용했던 명령을 다시 사용하고 싶은 경우, 위 화살표(????)나 아래 화살표(????)를 사용하여 사용했던 명령어를 위 혹은 아래로 검색해 낼 수 있고 원하는 명령을 실행할 수 있다.

 

 

 

 

여기 나타나는 명령어들은 ‘~/.bash_history’ 파일에 저장되어 있다.

 

 

 

 

확인해 보는 방법으로는 cat 명령어를 사용하면 쉽게 볼 수 있다.

 

 

 

 

내용이 많아서 한 번에 볼 수 없으므로 |(파이프)more 명령어를 사용하면 하나하나 확인할 수 있다.

 

 

 

 

아래 그림은 이렇게 해서 보는 과정을 나타낸 것이다.

 

 

 

 

그리고 저장되는 명령어의 개수는 HISTSIZE 변수로 결정된다(HISTSIZE/etc/profile에 기본 설정되어 있다).

 

 

 

 

 

 

 

# cat ./.bash_history | more

cd member

ls

vi member_edit_1.html

...중략...

vi ../lose.html

cd ..

mkdir images

--More--

 

 

 

 

 

 

 

마우스로 텍스트 복사하기

X 윈도우를 사용하는 경우 여러 개의 터미널을 띄우고, 여러 개의 작업을 동시에 수행할 수 있다.

 

 

 

 

이 경우 이쪽 터미널에서 저쪽 터미널로 어떤 텍스트를 복사하고자 한다면, 마우스로 원하는 부분을 드래그하고 복사하기 원하는 위치로 가서 가운데 버튼, 2버튼인 경우 두 개 버튼을 동시에 누르면 복사된다.

 

 

 

 

물론, 에디터에서 에디터로의 복사도 가능하다.

 

 

 

여러 개의 콘솔화면 사용하기

 

원격으로 떨어져 있는 터미널에서 telnet이나 ssh로 접속한 경우가 아니고, PC의 콘솔 또는 서버에 연결되어 있는 콘솔에서 여러 개의 콘솔을 이동하며 사용할 수 있다.

 

 

 

 

<Ctrl> <Alt> + <F1>~<F6>를 눌러 이동하면서 사용할 수 있으며 빠져나올 경우에는 <Alt> + <F7>을 누르면 원래의 X 윈도우 상태가 된다.

 

 

 

 

만약 X 윈도우를 복수로 실행한 경우(X 윈도우는 6개의 콘솔에서 각각 실행이 가능하다)에는 <Alt> + <F7>~<F12>를 눌러 이동할 수 있다(X 윈도우 상에서는 <Ctrl>도 함께 눌러서 <Ctrl> + <Alt> + <F1>~<F12>로 이동할 수 있다).

 

 

 

명령어에 메타 문자 사용하기

 

명령어에 파일을 인수로 사용할 경우 하나가 아닌 여러 개를 동시에 지정할 필요가 있을 때, 파일을 하나씩 처리한다면 매우 불편할 것이다.

 

 

 

 

이런 작업을 쉽게 하기 위해 와일드 카드를 사용한다.

 

 

? : 어떤 문자이던지 한 문자

 

* : 어떤 문자도 없거나 그 이상인 경우

 

 

 

 

지우고자 하는 파일 이름이 ‘test’로 시작하고 다섯 글자인 파일이면 다음과 같이 하는데 예를 들자면 test1, test2 등과 같을 경우에는 test1을 지울 것인지 물어보고 다음에 test2를 지울 것인지에 대해 물어본다.

 

 

 

 

 

 

 

 

# rm test?

 

 

 

 

 

 

 

지우고자 하는 파일 이름이 ‘test’로 시작하는 모든 파일이면 다음과 같이 한다.

 

 

 

 

 

 

 

# rm test*

 

 

 

 

 

 

 

이와 같은 특수 문자는 다음과 같다.

 

 

 

문자

의미

>

표준출력을 파일에 기록하는 출력 리다이렉션 기호

>>

표준 출력을 파일 끝에 덧붙이는 출력 리다이렉션 기호

<

파일로부터 표준 입력을 읽는 입력 리다이렉션 기호

*

0개의 이상의 문자와 일치하는 파일 치환 대표 문자 기호

?

단일 문자와 일치하는 파일 치환 대표 문자 기호

|

어떤 프로세스의 출력을 다른 프로세스의 입력으로 보내는 파이프 기호

;

명령 순서에 사용할 경우에 사용되는 기호

||

이전의 명령이 실패하면 실행하는 조건부 실행 기호

&&

이전의 명령이 성공하면 실행하는 조건부 실행 기호

&

명령어를 백그라운드로 실행하고자 할 경우(독립적으로 사용)에 사용되는 기호

#

# 문자에 뒤따르는 모든 문자들을 주석 처리할 경우 사용되는 기호

$

변수 접근 기호

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,291 명
  • 현재 강좌수 :  36,952 개
  • 현재 접속자 :  538 명