Linux_배시쉘의 특성

lil·2023년 2월 11일
0

LinuxEssential

목록 보기
11/13

리다이렉션(Redirection)

fd
-------------------------
0 stdin(keyboard)
1 stdout(Screen)
2 stderr(Screen)
-------------------------

입력 리다이렉션(stdin) # wall < /etc/MESS/work.txt
출력 리다이렉션(stdout) # ls -l > lsfile.txt
에러 리다이렉션(stderr) # ls -l /test /nodir > list.txt 2>&1    //에러2번도 1번으로 보내라

[ 실무예 ] 스크립트 로그 파일 생성

# ./script.sh > script.log 2>&1 

[ 실무예 ] 출력 내용이 긴 명령 수행시 출력 화면 분석

# ./configure > config.log 2>&1

[ 실무예 ] 일반사용자가 명령 수행시 에러메시지를 지우는 경우

$ find / -name core -type f 2>/dev/null

파이프(Pipe)

# CMD | more
# CMD | grep inetd
# CMD | CMD | ...

[ 실무예 ] 모니터링 구문 + 데이터 수집(CMD | tee -a httpd.cnt)

while true
do	
	ps -ef | grep httpd | wc -l | tee -a httpd.cnt
	sleep 2
done

[ 실무예 ] 여러 터미널 화면을 공유하는 경우

# script -a /dev/null | tee /dev/pts/1 | tee /dev/pts/2

배시쉘 기능(Shell Function)

# set -o //전체 리스트 확인
# set -o vi // 기능 ON
# set +o vi // 기능 OFF

# set -o ignoreeof <CTRL + D > 방지 기능 ON
# set +o ignoreeof <CTRL + D > 방지 기능 OFF

<TAB>
	* 파일이름 자동 완성 기능
	* 디렉토리 안에 파일 목록 보기

<>
	* 이전에 수행된 명령어를 편집해서 사용하기
	* 이전에 수행된 명령어를 확장해서 사용하기
	* 확인 + 명령수행 + 확인
	
< Copy & Paste >

변수(Variable)

변수의 종류

  • 지역변수(Local Variable) # VAR=5
  • 환경변수(Environment Variable) # export VAR=5
  • 특수변수(Special Variable) $$(PID), $?(바로이전 명령어 return), $!(바로이전 background PID)
    $0 , $1, $2, $#, $*

변수 선언 방법

	# export VAR=5
	# echo $VAR
	# unset VAR

export 의미

시스템/쉘 환경변수(set/env)
	PS1 변수: export PS1='[\u@\h \w]\$ ' ($HOME/.bashrc)
	PS2 변수
	PATH 변수 : 명령어를 검색할 디렉토리를 선언할 때 사용
		export PATH=$PATH:/root/scripts ($HOME/.bash_profile)
		HISTTIMEFORMAT 변수 : export HISTTIMEFORMAT="%F %T    " (/etc/profile)
	HOME 변수
	PWD 변수
	LOGNAME 변수
	USER 변수
	UID 변수
	TERM 변수 : export TERM=vt100
	LANG 변수 : export LANG=ko_KR.UTF-8|en_US.UTF-8
	
	

쉘 메타캐릭터(shell Metacharacter)

'' "" `` \ ;

명령어 히스토리(Command History)

HISTSIZE=512
HISTFILE=$HOME/.bash_history
HISTFILESIZE=512

엘리어스(Alias)

# alias cp='cp -i'
# alias 
# unalias cp

환경파일(Environment Files)

/etc/profile 
#모든 사용자에게 적용됨

~/.bash_profile  ($HOME/.bash_profile)

~/.bashrc ($HOME/.bashrc)

0개의 댓글