일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 러닝
- 대전
- 달리기
- Podman
- Python
- Grafana
- 중식
- 성수대교
- docker
- 대구
- 건대입구역
- 10km
- 맛집
- 한강
- DSEC
- 소모임
- 오답노트
- 하체
- 뚝섬유원지
- 정보처리기사
- Run The Bridge
- GitHub
- 힐링
- 자전거
- 2021
- Linux
- 유산소
- zabbix
- Kubernetes
- Shell
- Today
- Total
목록Cloud (74)
Run The Bridge
0. 들어가기에 앞서 podman이란? podman컨테이너 작업을 위한 오픈 소스 Linux 도구 docker.io 및 quay.io와 같은 registry의 컨테이너가 포함된다. Red Hat Enterprise Linux 8 / CentOS 8부터는 Docker 대신 Podman Pod라고 하는 컨테이너 및 컨테이너 그룹을 관리할 수 있는 libpod 라이브러리 기반 https://docs.podman.io/en/latest/# ← 공식문서 링크 1. Docker vs Podman 컨테이너를 올리기 위해서 가장 많이 사용되는 기술로는 docker가 제일 유명하다. Dokcer 엔진을 통해 생성된 컨테이너를 관리하는 소프트웨어가 바로 kubernetes일 것이다. 처음 docker를 배우기 전에 아래 ..
보호되어 있는 글입니다.
0. 들어가기에 앞서 shell script 강의가 끝났다. 이를 활용해서 계산기를 만들어본다. 윈도우에서 제공하는 계산기는 숫자, 입력 기호, 숫자를 입력하는 형식이다. 우리가 작성하는 스크립트도 다음과 같이 무한입력을 받는 방식으로 짜 본다. 1. 체크리스트 작성 사용자의 입력을 받는다. 사용자한테 사칙연산 기호를 입력받는다. 사용자의 입력을 다시 받는다. 계산 결과를 출력한다. 계속 계산 유무를 입력받는다. 5-1. 계속 계산: 사용자의 입력을 받고 사칙연산 기호의 입력도 받는다. 5-2. 계산 중단: 계산결과를 출력하고 계산기를 중단한다. 끝 2. 계산기 작성 우선 calc.sh라는 파일을 만든다. vi calc.sh chmod +x calc.sh --- 작업을 하다가 블로그 글이 모두 날아갔다...
0. 파이프 mknod 명령으로 파이프를 만들 수 있다. mknod /tmp/mypipe p --- 다음 명령을 입력하면 파이프에 hello world가 저장되어 있을 것 echo hello world > /tmp/mypipe 파이프에는 읽기 끝과 쓰기 끝이 존재하며, 파이프의 쓰기쪽에 기록 된 데이터는 파이프의 읽기 쪽에서 읽을 수 있다. 프로세스(echo)가 파이프에 쓰기를 시도하는 경우, 반대쪽 프로세스에서 파이프에서 충분한 데이터를 읽을 때까지는 쓰기 동작이 완료되지 못하고 echo 명령은 블록(blocking)이 된다. --- 새로운 터미널을 열고 /tmp/mypipe에 어떤 값이 들어갔는지 확인한다. 파일종류는 p로 파이프를 나타낸다. ls -l /tmp/mypipe prw-r--r--. 1 ..
0. 커맨드라인포토샵(imagemagick) pass 1. 명령어(nohup) 터미널에서 실행하는 명령어를 백그라운드화 시켜본다. sleep 1000 # 해당 명령어를 사용하면 프롬프트에 어떤 활동도 할 수 없다. --- 로그아웃이나 터미널 종료 이후에도 명령이 데몬(daemon)화되어 계속 실행할 수 있게 도와주는 명령어(nohup) nohup --- date;nohup ./mydaemon.sh 1>/dev/null 2>&1 0/dev/null: 표준 출력은 휴지통으로 들어간다. 2>&1: 표준 오류는 표준 출력으로 제어된다. 0> mydaemon.log sleep 1 done 2. 명령어(md5sum) 간단한 hello world 메시지를 찍어내는 c파일을 작성한다. cat helloworld.c #..
0. 입력과 출력 bash의 입력 - 명령 줄 인수 - 환경 변수 - 파일 - 파일 기술자(file descriptor)로 표현 가능한 파이프, 터미널, 소켓 등 bash의 출력 - 파일 - 파일 디스크립터로 표현 가능한 다른 것 - 다른 프로그램에 명령 줄 인수로 - 혹은 다른 프로그램에 환경 변수의 형태로 넘길 수도 1. 위치 매개 변수 다음과 같은 이미지 파일들이 존재한다. -rw-r--r--. 1 root root 0 Jan 6 22:16 Balloon.jpg -rw-r--r--. 1 root root 0 Jan 6 22:16 Candy.jpg -rw-r--r--. 1 root root 0 Jan 6 22:16 glob.gif -rw-r--r--. 1 root root 0 Jan 6 22:16 s..
0. 배열 declare -a array1=("water" "blue" "super") # declare를 통해 배열을 선언한다. declare -a array2=("melon" "mountain" "stars") # 배열은 공백문자로 분리된다. --- for loop를 통해 두 개의 배열을 결합해서 출력한다. for i in "${!array1[@]}"; do # 인덱스 번호 0, 1, 2출력 > printf "%s\t%s\t%s\n" "$i" "${array1[$i]}" "${array2[$i]}" > done 0 water melon 1 blue mountain 2 super stars --- 그러면 ${!array1[@]에 '!'는 뜻이 뭘까? # = length를 뽑아준다. @ = 모든 요소를 ..
0. 조건문(if..else.fi) if문은 'if 조건문; then fi'으로 이루어져 있다. if true; then echo true else echo false fi --- 다음과 같이 한 줄로도 사용할 수 있다. if true; then echo true; else echo false; fi true if문은 사용자의 용도에 따라 다양하게 사용되므로 천천히 배워보자. 1. [..] vs [[..]] tom, deniro라는 변수에 값을 할당한다. 그 후 대괄호 비교를 사용해 두 문자열을 비교한다. tom="Tom hanks" deniro="Robert Deniro" [ $tom > $deniro ] -bash: $deniro: ambiguous redirect # 오류 발생 ※ [..] 안에서 ..