Linux

7. 쉘 메타 문자와 히스토리, alias

jih0ssang 2023. 9. 18. 16:47

학습목표 

1. 쉘 메타문자에 대해 알고 활용하여 파일을 검색할 수 있다.

2. history 명령어를 사용하여 지난 입력했던 명령어들을 확인하고 지정할 수 있다.

3. 여러 복잡한 명령어들을 Alias를 통해 단순하게 만들어 활용할 수 있다.


SHELL(쉘)

 

1) 쉘 메타 문자

   (1) 경로 관련 메타 문자

      ~, - , ~<account>

 

 

   (2) 파일 이름 관련 메타 문자

       *, ?, []

 

        ? :한문자대치

        [ ] : 안에 한 문자라도 일치하면 출력

       [ - ] : 범위

 

 

    (3) 인용부호 메타 문자

      ' ' , " ", ` `, \     (메타 문자 의미 무시하고 그대로 출력한다는 의미로, 이스케이프 문자라고도 함)

  

      ' ' : 모든 메타 문자 의미 무시. [ - ]는 적용됨

     " " : $ \ ' " 만 의미 해석. 나머지 무시.

     ` `: 명령어를 실행 ==>명령어의 결과를 출력함.

     \ : 메타문자 출력 도움 ex) echo '\'a

 

 

    (4) 방향 재지정 메타 문자

       > , >> , < , | <<(Here Doc)

 

   ◆ 명령어 > 파일명 : 명령어의 결과가 파일에 적용(덮어쓰기) Redirect (default=1)

   ◆ 명령어 >> 파일명 : 명령어의 결과를 파일에 추가

   ◆ 명령어 < 파일명 : 파일명을 명령어에 적용

   ◆ 명령어 | 명령어 : 왼쪽 명령어 결과를 오른쪽 명령어에

      적용(input)하여 출력(output)

  

 

 

 fd        설명                   약어

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

 0    표준 입력(키보드)      STDIN       ---> 지정안하면 0 (default=0)

 1    표준 출력(모니터)     STDOUT

 2    표준 에러(모니터)     STDERR     ----> ex) 2> /dev/null    :에러를 버려버린다

 

ex) cat 0< /etc/hostname :/etc/hostname 파일을 표준입력받아 표준출력

ex) find /etc -name hostname 2> /dev/null :/dev/null로 에러메시지 버리기

 

 

<< (Here Doc)

  ◆ 에디터가 없을 경우?? → ★★★명령어 cat을 이용해서 입력!

  ◆ ex) cat << abc > abc.txt

     :abc 문자열이 나올때까지 abc.txt에 입력받고 abc.txt 내용에 저장.

     > 123

     > 456

     > abc

 

 

2) 쉘 히스토리

history

 

 쉘마다 저장하는 파일이 다름

 ~/.bash_history 파일에 저장되어있음.

 !num (num번째 명령어 실행)

 HISTSIZE (히스토리 저장 개수)

 

 

tty(teletypewriter)

 터미널

 I/O장치 를 소프트웨어로 만든 것.

 터미널창마다 tty가 다름.

 쉘이 자동적으로 실행.

 GUI에서는 pts 라고함.

 psuedo terminals (슈도 터미널, 가상 터미널)

 ex) echo "hello" > /dev/pts/1 ==>1번 터미널에서 결과 출력!

 

 

3) 환경 설정 파일

 운영체제 환경에 설정된 파일

/etc/profile

/etc/profile.d/*

/etc/bashrc

/etc/bashrc.d/*

-------------시스템 환경 설정 (시스템에게 설정)

-------------사용자 환경 설정 (자신에게만 설정)

~/.profile

~/.bash_profile ★★★

~/.bashrc ★★★

...

 

 환경 변수 확인

    ◇ export

    ◇ env

 

 환경 변수 설정

    ◇ PATH

      ■ 명령을 찾는 경로

      ■ 연결자 - ' : '

      ■ ex) PATH=/user/bin:/user/sbin

 

    ◇ 환경변수 정의

      ■ export PS1="[\u@\A@\y]\\$ \[$(tput sgr0)] "

      ■ PATH=$PATH:\tmp

      ■ 혹은 vi .bashrc 에서 수정해도 됨

 

1. 부팅

    ◇ /etc/profile

    ◇ /etc/profile.d/*

    ◇ /etc/bashrc

 

2. 로그인

    ◇ ~/.profile

    ◇ ~/.bash_profile => 로그인할 때 적용★★★ (source 명령어 사용 안했을 경우..)

    ◇ ~/.bashrc => 터미널을 실행할 때 적용★★★

 

 source (파일명)

환경설정 파일을 다이렉트하게 실행할 수 있음. (재부팅 없이..)

 

 

 

4) Alias

alias, unalias

 

 

 alias 적용

   ■ vi .bashrc 파일에서 alias lf='ls -F' 작성

   ■ ex) alias lf='ls -F'

 

 

 unalias 로 에일리어스 해제

   ■ ex) unalias lf

 

 

 

 

 

 

'Linux' 카테고리의 다른 글

9. 아카이브(archive)와 압축  (0) 2023.09.18
8. 프로세스 관리 (Process Management)  (0) 2023.09.18
6. 사용자 및 그룹 관리  (0) 2023.09.18
5. Permission(권한)  (0) 2023.09.18
4. vi Editor(에디터)  (0) 2023.09.18