Simple is IT, 누구나 보고 누구나 깨닫는 IT

Linux Part 5. 리눅스의 쉘 명령어 본문

Simple is IT/Server

Linux Part 5. 리눅스의 쉘 명령어

currenjin 2020. 5. 5. 23:09

Shell (쉘)

- 터미널에 입력한 명령을 해석하고 관리하는 프로그램, 사용자와 커널 사이를 연결시켜주는 역할 (Bash, Csh, Ksh 등)

사용중인 쉘은 'echo $SHELL'명령을 통해 확인

메타문자

경로 이름

~ : 현재 로그인 한 사용자의 홈 디렉토리

- : 이전 작업 디렉토리

파일 이름

* : 하나 이상의 문자를 대체하는 문자, 일반적으로는 전체를 의미

? : 하나의 문자만 대체

인용부호

` ` : 문자를 명령어로 인식하여 실행

' ' : 메타문자를 일반문자로 취급

" " : 일반 문자로 취급 ($, `, \ 문자를 제외함)

방향 재지정

해당 동작방식을 이용한 방향 재지정 메타문자를 알아보자.

< : 표준 입력 재지정

> : 표준 출력 및 표준 에러를 재지정 ( 1번 사용 : 덮어쓰기. 2번 사용 : 이어쓰기 )

ex) echo "test" > ./file

find / -perm -4000 2> /dev/null {2번(에러메세지)만 null파일로 던져버려!}

find / -perm -4000 1> /dev/null {1번(정상결과)만 null파일로 던져버려!}

| : 두 가지의 명령을 같이 실행

ex) ls /etc | grep rc {ls 명령어의 결과에서 특정 문자를 포함한 라인만 뽑아 볼 때}

ls /etc | more {ls 명령어의 결과에서 한 화면으로 끊어서 보기}

head -8 /etc/passwd | tail -1 {head로 나타나는 8줄의 결과에서 tail 1줄 확인}

사용자 초기화 파일

- 환경 변수, 쉘 프롬프트 모양, alias, 쉘 옵션 정의 등 설정 가능

/etc/profile : 시스템 전역에 걸쳐 환경을 설정하는 파일, 모든 사용자가 적용되는 파일

~/.profile : 개별 사용자의 홈 디렉토리에 있는 파일, 해당 사용자의 설정을 변경 시 사용

~/.bashrc : 개별 사용자의 홈 디렉토리에 있는 파일, 해당 사용자의 쉘 관련 설정을 변경 시 사용

환경변수

HOME : 사용자의 홈 디렉토리

PATH : 실행파일을 찾는 경로 (명령어 등등)

LANG : 기본 지원되는 언어

SHELL : 로그인해서 사용하는 쉘

EDITOR : 기본 편집기의 이름

PS1 : 명령프롬프트 변수

실습

다른 종류의 쉘 사용

-> 네트워크 설정 뒤에 yum install ksh 후 ksh 실행 (bash에 비해서 너무 불편하다)

쉘 메타문자 사용

-> 경로 이동 'cd - ', 'cd ~', 'cd ~hyun'

파일 이름 'rm -rf ./*'

인용 부호 'echo `echo test`'

'echo '$PS1''

'echo "$PS1"

방향 재지정 'echo test > ./test', 'echo test >> ./test'

'find / -name passwd 2> /dev/null', 'find / -name passwd 1> /dev/null'

'ls -al /etc | grep rc..d', 'cat passwd | grep jeong | cut -d":" -f6'

사용자 초기화 파일 설정

-> PS1변수를 이용해보자. ( echo $PS1 확인하면 양식 보임)

vi /etc/profile

PS1="[\u@ \W]\\$ "

재접속 해보면 [root@ ~]# 으로 바뀌어있다.

- 사용자 초기화 파일을 환경변수로 지정 가능하다는 것을 알 수 있다.


Comments