티스토리 뷰

IT/RHEL

[RHCE] Bash Scripting

트래이닝맨 2014. 8. 7. 15:04
728x90
반응형
3.Bash Scripting


*인용
=====
# export ABC=test
# echo ${ABC}
# echo $ABC
test

#echo $(date)
#echo `date`
#echo "$(date)"

*for문
======
for var in a b c;do
  command1;
  command2;
done

*if 문
======
종료상태값 확인 : echo $?
0 :정상/ 1:비정상 / 2:에러(grep만)
0 - grep root /etc/passwd
root:~~~~~
1 - grep ROOT /etc/passwd
#
2 - grep root /etc/passwdd
grep: /etc/passwdd: No such file or directory

*tty 
=====
echo test >&1
echo test > /dev/pts/0
출력할 화면을 지정한다.


*read문
======
read -p 'Enter your first and last name: '  FIRST SECOND
echo $FIRST($1)
echo $SECOND($2)

$# => 총 Argument count
$@ => 모든 Arguments

텍스트처리도구
===========
*diff
  해석방법 : diff A B
  A가 B와 같아지려면

  1c1
  < name
 ------
  > Lee
  A의 1번라인이 B의 1번라인과 같게 변경하면된다.

sdiff
diff3 


*PATCH
======
diff -u f1 f3 > mypatch1
patch f1 mypatch1

만약에 백업을 남기고 싶으면  patch -b f1 mypatch1
보면 f1.orig 파일이 남아 있다.

patch fi <mypatch1 ( 다시 원복할때)

*sort
=====
-n 숫자정렬
-k 정렬필드
-t 구분자

sort -t: -k3 -n /etc/passwd

*uniq
=====
-u 고유한 행
-d 중복 항목이 있는 행
-c 각 행을 항목 수에 한번 표시

*tr
=====
대/소문자 변경때 사용
echo -n 'Enter yes or no: '
read answer
answer="$(echo $answer|tr 'A-Z' 'a-z')"
echo answer
Yes ==> yes

*sed
=====
ex)
sed 's/cat/dog' pets
sed 's/cat/dog/g' pets
sed 's/cat/dog/gi' pets (i= ignore cae)
sed '10,35s/cat/dog/' pets 줄라인 지정
sed '1,25d' pets  라인수지정 삭제
sed -e 's/cat/dog/g' -e /s/cow/goat/g' pets

(문제)
1> nologin을 포함하는 행삭제
 sed '/nologin/d' /etc/passwd
2> bash 패턴을 ksh로 치환
 sed 's/bash/ksh/g' /etc/passwd
 sed -n 's/bash/ksh/p' /etc/passwd  ==> 변경된 내용만 보고싶을때 
     -n ==> 디폴트 출력을 하지 않겠다.(출력될 스트링이 명령어가 아닐때 모든것은 출력)

3>bin 패턴은 BIN으로 
  nologin 패턴은 NOLOGIN으로
  1~10행까지
 sed -n '1,10s/bin/BIN/gp' mypass |sed 's/nologin/NOLOGIN/'

*Regular Expression
=================
*의 의미
shell : 모든것
RE : 선행패턴과 0번이상 일치하는 

예) lve
   love
   looove

#grep 'lo*ve' test  ==>모두 잡아낸다.
lve
love
looove

*암호수명
=======
/etc/shadow      개인별로 적용되는 날짜 (가장 우선)
/etc/login.defs  전체적으로 적용되는 날짜

PASS_MIN_DAYS 최소 암호사용기간 (바로바로 변경이 불가능)
root의 aging을 확인
#chage -l root  

root의 Max Aging을 90으로 변경
#chage -M 90 root

/etc/default/useradd
최초 user가 생성될때 적용되는 것들.
왜 매번 user가 생성될때마다 그룹이 생성이 되는가? 
(/etc/login.defs file에 USERGROUPS_ENAB Yes로 되어 있기 때문이다.)


반응형

'IT > RHEL' 카테고리의 다른 글

[RHCE] 인증키 생성 for SSL  (0) 2014.08.17
[RHCE] ISCSI 저장 장치(암호화 luks)  (0) 2014.08.17
[RHCE] 사용자 보안 향상  (0) 2014.08.07
[RHCE] LDAP User Authentication  (0) 2014.08.07
[RHCE] Red Hat 교육 정리 2  (0) 2014.08.07
댓글
250x250
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함