일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리눅스기초
- AWS배포자동화
- terraform기초
- terraform따라하기
- Linux
- aws기본
- terraform with aws
- 쉘스크립트
- AWS구축
- 주피터노트북 설치
- opt/anaconda3/bin/jupyter_mac.command
- GDPR
- 직무분리
- 리눅스명령어
- Cissp sdlc
- 리눅스
- aws
- AWS실습
- aws따라하기
- AWS 공격테스트
- blue/green배포
- linux명령어
- aws terraform
- terraform기본
- AWS CI/CD
- AWS CodeDeploy
- 최소권한
- aws기초
- 리눅스기초명령어
- cissp
ysuekkom의 IT study note
[linux 기초] 명령어 실습편 - 초 간단 쉘 스크립트 작성 본문
[linux 기초] 명령어 실습편 - 초간단 쉘 스크립트 작성 //개인 공부를 위한 기록용으로 일부 과거 자료 이전
초간단 쉘 스크립트 > 쉘에서 원하는 결과를 얻기위한 쉘 명령어들의 집합을 파일로 만들어 놓은 것.
-명령어 연속 실행
-파이프라인: 왼쪽의 명령어를 실행한 후 ,그 결과를 오른쪽 명령어의 입력으로 사용함
-세미콜론: 왼쪽의 명령이 끝난 후 이어서 세미콜론 오른쪽의 명령을 실행함
-AND 조건: 왼쪽 명령어가 거짓이면 종료, 왼쪽 참이면 오른쪽도 검증
-OR조건: 왼쪽 명령어가 참이면 종료, (이미 참이기때문, 왼쪽이 거짓이면 오른쪽도 검증)
-한 줄 스크립트
<파이프라인( | ) 실습>
파이프라인을 이용해 testfile.txt의 안에 777이라는 문자열이 존재하는 지 확인
- Testfile.txt를 읽고, 읽은 내용에서 777이 있는지 확인
>cat testfile.txt 77이 있는지 확인 -> grep 777
>cat testfile.txt | grep 777
>>888은 없기 때문에 아무것도 안보임
위 결과는 >grep 777 testfile.txt와 같은 결과를 보여줌
<실습>
Cent1서버에서 cent3 서버의 루트 파티션의 용량을 살펴보고 싶다
- Cent3 서버에 접속한다
- 디스트통계를 확인하는 명령어 실행
- 루트 파티션의 용량만 확인
>name username@server_ip_address
>ssh cent3(미리설정)
>df -h
>grep /
>ssh cent3 "df -h | grep sda1"
<세미콜론 실습>
독립적으로 명령어 실행
디렉터리의 현재 위치를 확인 후, 디렉터리의 파일을 보고싶을 때
>pwd
>ls -al
>pwd ; ls -al
<실무용 실습>
Cent1 서버에서 cent3서버의 로그디렉터리 파일리스트와 디스크 통계를 확인하고자 한다.
- Cent1서버에서 cent3 서버로 접속
- 로그디렉터리 파일 리스트 확인
- 디스크 통계 확인
>ssh cent3
>ls -al /var/log
>df -h
>ssh cent 3 "ls -al /var/log ; df -h"
<AND 조건 && >
-연산의 하나라도 거짓이 있으면 전체 결과가 거짓
-좌측 명령/테스트의 결과가 참이면 우측 명령 실행
-좌측 명령/테스트의 결과가 거짓이면 우측명령 실행하지 않음
>A && B
A: 참/거짓을 판단하는 조건 /명령
B: A가 참일 경우 실행할 명령어
Test 커맨트를 대괄호 [ ] 로 대체 할 수 있다.
<OR 조건 || >
-연산의 하나라도 참이 있으면 전체 결과가 참
-좌측 명령/테스트의 결과가 참이면 우측의 명령을 실행하지 않음(이미 참이기 때문)
-좌측 명령/테스트의 결과가 거짓이면 우측 명령을 실행
###퀴즈와 3장 정리
Q1) 다음 내용을 한 줄로 실행
-현재 위치에서 tmp디렉터리를 생성
-tmp 디렉터리 안에서 tmp.txt를 생성
-tmp.txt파일에 tmp라는 내용을 입력
-tmp.txt 파일의 내용을 화면에 출력
>mkdir tmp ; touch tmt.txt > tmp ; cat tmp.txt
>mkdir tmp ; touch tmp/tmp.txt ; echo "tmp" > tmp/tmp.txt ; cat tmp/tmp.txt
Q2) cent3서버의 프로세스 리스트에서 nfs 프로세스를 확인
>ssh cent3
>ps -ef / ps aux
>ps -ef | grep nfs
>ssh cent3 "ps -ef | grep nfs"
ssh 명령어에 "명령어"하면 "명령어" 실행해 줌
Q3) Q2에서 nfs프로세스의 갯수를 확인 (grep 프로세스 제외)
>ssh cent3 "ps -ef | grep -c nfs"
>ssh cent3 "ps -ef | grep nfs|wc -l"
Grep 프로세스 제외
>ssh cent3 "ps -ef | grep nfs | grep -v grep | wc -l"
>ssh cent3 "ps -ef" | pgrep -l nfs"
Q4) /var/log 디렉터리 하위에서 message로그가 있는지 확인하고 있으면 message 로그의 하위 15라인을 출력
<test문의 조건>
-e: 파일이 존재하는가
-f: 지정한 파일이 파일이면 참 그외 거짓
-d: 지정한 파일이 디렉터리면 참 그외 거짓
&& -e 옵션 사용하기
>[ -e /var/log/messages ] && tail -n 15 /var/log/messages
Q5) mount의 결과를 보기 편하게 정렬
>mount
결과가 한 칸 띄워져서 나옴 -> mount의 결과를 파이프라인으로 넘겨서 -t 옵션 사용 시, 보기 편하게 출력
>mount | column -t
Q6) ss의 결과를 보기 편하게 정렬
>ss | cat
'OS > linux' 카테고리의 다른 글
[linux 기초] 명령어 실습편 - 초간단 쉘 스크립트 작성IIII -대화식 쉘스크립트 구성 (1) | 2022.10.15 |
---|---|
[linux 기초] 명령어 실습편 - 초간단 쉘 스크립트 작성III -함수/배열 (0) | 2022.10.15 |
[linux 기초] 명령어 실습편 - 초간단 쉘 스크립트 작성II - 조건문/반복문 (0) | 2022.10.14 |
[linux 기초] 명령어편 - 검색, 입출력 관련 (1) | 2022.10.13 |
[linux 기초] 명령어편 - 네트워크 관련 (1) | 2022.10.13 |