티스토리 뷰
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
*인용
=====
# 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
=====
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 파일이 남아 있다.
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
*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
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로 되어 있기 때문이다.)
*의 의미
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
링크
TAG
- 부모님초청이민
- 캐나다부동산
- 토론토정착서비스
- ansible
- BTBS
- 미시사가
- RHEL
- TORONTO
- 우드워킹
- 토론토
- 부동산분석
- 벌링턴
- git proGit
- RHCE
- Certificate
- Canada
- 옥빌
- basement
- certification
- cert
- 정착서비스
- Red Hat
- BC주
- 캐나다
- 밀튼
- redhat
- 인터넷
- docker
- Jay
- 온타리오
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함