일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Nestjs
- 타입 챌린지
- Node.js
- HTTP 완벽 가이드
- socket
- Crawling
- 크롤링
- 쉬운 문제
- 소켓
- ip
- 프로그래머스
- 레벨 1
- javascript
- type challenge
- BFS
- dfs
- 수학
- 그래프
- 자바스크립트
- 타입스크립트
- 가천대
- TCP
- 문자열
- 프로그래머스 레벨 2
- HTTP
- typescript
- Algorithm
- 백준
- 알고리즘
- dp
- Today
- Total
kakasoo
[bash] bash와 shell script, 자동화 본문
어떠한 것인지 설명하는 데에는 내 이해가 깊지 않아서 다른 글을 보는 걸 추천하고, 나는 좀 더 실용적인 정보를 제공하고 싶다, 그러니까, 직접 사용하는 법을 말해줄 테니 단계 별로 다뤄보고, 필요한 내용을 직접 조사해보도록 하자.
내가 하나 하나 설명할 수는 없지만, 이 내용들을 따라하고 공부함으로써 얻게 되는 CS 지식은 매우 유용할 것이다.
추가로, 여담을 굉장히 많이 적을 건데, 개발자가 알아두면 좋을 내용들을, 내용 상 시계열로 정리하겠다.
1. bash를 사용하기 위해서 wsl를 다운받도록 하자, 이는 윈도우에서 리눅스 환경 명령어를 쓸 수 있게 해준다.
1 - 1. 이것은 마이크로소프트의 store에서 설치할 수 있다, 우분투로 되어 있는 것이 있을 것이다.
1 - 2. 리눅스는 종류가 매우 많다, 커스텀 운영체제라고 생각하면, 왜 많은지 이해할 수 있을 것이다.
1 - 3. 심지어, 컴맹인 여자친구를 위해 만든 리눅스 version도 있다.
1 - 4. 각 리눅스 version은 있을 수 있지만, 다양한 리눅스 종류를 어느 것이 좋다 나쁘다 비교하긴 어려울 것이다.
1 - 5. 그래도 개인 용 컴퓨터와 서버 용 컴퓨터에 따라서 좋고 나쁜 정도는 충분히 비교할 수 있을 것 (2종류로 나눈다.)
2. cmd 창에 bash를 입력하여 리눅스 명령어가 가능하게 하자 (윈도우 명령어를 못쓰게 되는 건 아니다.)
2 - 1. 리눅스를 사용하는 이유는, 사실 '무료'인 탓이 크다.
2 - 2. 윈도우는 무료가 아니냐고 묻는다면, 그렇다, 무료가 아니다, 기업은 1년에 1번씩 돈을 내야 한다.
2 - 3. 사실 개인이 쓰고 있는 윈도우도 1회 구입 비용을 내고 있는데, 당연히 무료는 아니지 않겠는가.
3. vi sample.txt 라고 입력해보자, txt file을 작성하는 공간이 나올 것이다.
3 - 1. 확장자 명을 다르게 하면 다른 file도 생성할 수는 있다, 엄밀히 말해서 다 txt file의 형식을 가지고 있으니까.
여기서부터는 코드를 이해해주기 바란다.
#!bin/bash를 txt file의 맨 위에 작성해주기 바란다, #은 주석을 의미하므로 code에 영향을 주지는 않는다.
이것을 입력하면, 컴퓨터 운영체제가 해석하는 때에 bash file로 해석하게 된다, 즉 bash code라는 것,
안 적어도 되긴 한데, bash도 여러 가지 종류가 있으니까, 자기가 작성하고자 한 의미에 맞게 해주는 것이 좋다.
#!bin/python도 가능하다, 해본 적은 없는데, 요즘은 python을 더 많이 다룬다고 한다.
4. 자신이 원하는 코드 또는 내용을 작성한다. (사실 메모장을 만드려는 것은 아니다.)
5. 작성을 완료했다면 ESC 버튼을 누른 후 : 버튼을 누르자, 입력 창이 맨밑을 가리킬 텐데 wq를 누르면 나가진다.
6. 이렇게 sample.txt file을 완성했다.
7. 만약 bash를 사용하여 쉘 스크립트를 만든다면 확장자를 sh로 하여 작성해주면 된다.
8. vi test.sh 라고 입력해서 test.sh을 작성해보자.
9. 쉘 스크립트에 대해서 이해가 필요한데, 쉘 스크립트도 일단 프로그래밍하여 파일을 만들 수 있다,
다른 프로그래밍 언어와 다른 특징이 있다면, 폴더를 들어가고 나오고, 파일을 검색하는 등,
현재 데스크탑의 정보를 직접 다룰 수 있다는 점이고,
cmd 창에서 사용하는 명령어들을 직접 다룰 수 있다는 점이다.
10. 예컨대 git init이나 cd 같은 cmd 명령어를 sh file에 적어두고, 그것을 실행시킨다면 '자동화'가 된다.
11. 실행은 ./file_name.확장자명의 형식으로 한다.
12. 만약 install할 것이 매우 많으면 평소에 꾸준히 sh file을 최신화해두면, 개발환경 자동 구축을 할 수 있다.
13. 사용법을 더 고민해보자, 아래는 내가 생각하거나, 들은 사용법이다.
- 라즈베리파이 개발환경 세팅
- 컴퓨터 개발환경 세팅
- github, git 개발환경 세팅
- 그 외 파일 관리 (scp 명령어를 통해서 네트워크 간 정보 전달도 실행시킬 수 있다.)
나도 까먹을 때 쯤에 이렇게 다시 수행함으로써 기억을 되살릴 것이다.
'프로그래밍' 카테고리의 다른 글
라즈베리파이로 집에 서버 설치하기 (0) | 2021.03.08 |
---|---|
CRA npm run build 시 에러 발생 ( 일시적 해결 방법 ) (0) | 2021.03.07 |
쉘 스크립트와 crontab을 활용한 배포 자동화 (0) | 2021.03.07 |
기본 코딩 컨벤션 (0) | 2020.10.15 |
[github] 명령어 (0) | 2020.06.23 |