일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- fastify-cli
- 수직확장
- cli
- 코드스테이츠
- zshrc error
- 부트캠프
- 출력 명령어
- Java 입력
- dfs
- neofetch
- ECS
- comdef
- fastify
- docker
- 백준
- c++
- 홈 디렉토리
- mysql
- 지속적 전달
- DevOps
- 설치형 SW
- 리눅스
- OpenSearch
- char 입력
- docker context create
- 프로세스
- SSAFY입학
- ci/cd
- MongoServerSelectionError
- 웹 SW
- Today
- Total
목록DevOps/Linux (13)
다디와 괴발개발
쉘을 다루다보면 빠질 수 없는 관리자 권한. 그냥 명령어를 입력했다가는 permission denied 에러가 출력되는 것을 많이 볼 수 있을 것이다. 이번 글에서는 관리자 권한과 sudo에 대해 알아보자! 관리자 권한이 필요한 이유 관리자 권한은 왜 필요할까? 사용자의 실수로 시스템 에러가 발생하거나, 해커의 공격으로 인해 운영 체제에 시스템 에러가 발생할 수 있는 경우를 막기 위해 만들어둔 안전장치가 관리자 권한이다. 컴퓨터를 사용하다 보면 블루 스크린을 한 번쯤은 들어보거나 겪어보았을 텐데, 블루 스크린은 예상치 못한 프로그램의 충돌로 시스템이 마비될 때 생기는 현상이다. 관리자(root) 권한 리눅스의 관리자 영역은 절대 경로의 기준점인 루트 폴더(/)에 해당한다. 리눅스 관리자의 큰 특징은 어떤..
쉘(Shell) 이란? 쉘은 운영체제의 기능이나 서비스를 구현할 수 있는 명령어를 사용자에게 받아 실행할 수 있는 인터페이스를 제공해준다. 즉, 사용자와 운영체제의 사다리 역할을 해주는 것이 쉘. 리눅스는 bash 쉘을 표준으로 사용하고 있다. .sh 파일 만든 후 실행해보기 first.sh 파일을 생성해준 후, 실행해보자. # first.sh echo Hello World #세미콜론을 붙이지 않는다 파일을 실행하기에 앞서, chmod로 권한을 부여해주어야 실행이 가능하다. chmod 755 first.sh # 755는 소유자만 모든 권한을 갖고있고, 그 외 사용자는 읽기, 실행은 가능하나 쓰기는 불가능하다. (쓰기, 읽기, 실행) ./first.sh # 파일 실행 이번에는 first2.sh 파일을 만..
프로젝트를 진행하다보면 환경변수와 .env 파일을 많이 맞이하게 될 것이다. 이 환경변수는 무엇을 말하는 것일까? 환경변수란? 하나의 변수 이름을 환경에 따라 다르게 설정가능한 것 API Key, DB Password등, 민감한 정보를 저장 및 관리하고, 서로 다른 PC 또는 여러 .env 파일에서 같은 변수 이름에 다른 값을 할당 하기 위해 사용되는 변수. 보통 개인용과 기업용 API 키가 다른데, 환경변수를 이용하여 환경을 구분해 코드 작성이 가능하다. 이번 포스팅에서는 쉘에서 환경변수를 확인하고 임시 적용할 수 있는 export와, 자바스크립트에서 환경변수를 사용할 수 있는 dotenv와 Node.js에서 환경변수를 영구적용할 때 사용하는 .env파일에 대해 알아보도록 하자. export : 환경변..
이전 게시글에서는 파이프라인과 리다이렉션을 알아보았다. 출력 관련 명령어를 알아보고 파이프라인과 리다이렉션을 화려하게 써보자 wc : 파일의 라인, 단어, 문자열 개수 count 그냥 wc 명령어만 사용하면 line, word, character의 개수를 모두 출력해주고, 옵션으로 원하는 것만 출력해줄 수도 있다. wc myfile.txt wc -l mylife.txt # line의 개수 wc -w mylife.txt # word의 개수 wc -c mylife.txt # character의 개수 wc를 입력했을 때, 차례대로 line, word, character의 결과와 파일 이름이 함께 출력되는 것을 확인할 수 있다 cat : 파일의 컨텐츠를 출력 필자가 가장 많이 사용하는 명령어로, 파일의 컨텐츠 ..
이전 게시글에서 표준 스트림에 대해서 살펴보았다. 이번에는 표준 스트림의 흐름을 바꾸는 과정인 리다이렉션과 파이프라인에 대해 살펴보자. 리다이렉션 (Redirection) 리다이렉션은 표준 스트림의 흐름을 바꿔 파일로 표준 입출력을 할 수 있도록 해준다. 핵심은 '파일'이며, 파일로 만들어버리면 리다이렉션이고, 파일로 만드는게 아니라 단순 출력은 stdout이다. 기호 > 혹은 표준 출력 명령의 결과를 파일로 저장 (기존 파일 덮어씀) >> 표준 출력 (append) 명령의 결과를 기존 파일에 추가 ps.txt # 명령어 > 파일 그렇다면, 파일을 출력하고 싶은데 조건을 걸고싶다면? head 명령어를 사용해서 ps.txt라는 파일을 출력해 볼 것이다. head는 파일의 처음 부터 지정한 라인까지 출력하는..
C언어를 사용하다 보면 헤더에 #include 를 많이 볼 수 있다. stdio는 Standard Input & Output의 줄임말로 표준 입출력을 의미한다. 리눅스 쉘에서도 쉘의 기능들을 최대한으로 끌어내기 위해 표준 입출력에 대한 이해가 필수적이다. 먼저, 표준 스트림에 대해 살펴보자 표준 스트림 표준 스트림이란? Standard Stream에서 Stream은 프로그램을 드나드는 데이터의 흐름을 말한다. 프로그램은 보통 입력을 받으면 어떤 형태로 출력을 내놓는다. 이렇게 컴퓨터 프로그램과 입출력 장치 사이에 미리 연결된 입출력 통로를 표준 스트림이라고 생각하면 된다. 표준 스트림은 stdin, stdout, stderr, 세 가지가 있다. STDIN (Standard Input, 0) stdin은 ..
프로세스 실행방식에는 포그라운드와 백그라운드가 있다. 명령들을 알아보기 이전에 둘의 개념을 먼저 짚어보자 포그라운드(foreground) 터미널에서 작업시, 사용자가 명령을 입력하면 이를 해석하고 실행하여 결과를 화면에 출력하는 것과 같은 과정을 말한다. 사용자가 입력한 명령이 실행되어 결과가 출력될 때까지 기다려야하며, 이렇게 포그라운드 방식으로 처리되는 프로세스는 포그라운드 프로세스라고 한다. 포그라운드 방식은 한 번에 하나의 명령을 실행하므로, 동시에 여러 프로세스를 실행하기가 어렵다 백그라운드(background) 프로세스가 실행되는 동안 뒤에서 다른 프로세스가 실행되도록 한 터미널에서 여러 개의 프로세스를 동시에 실행하는 것을 말한다. 백그라운드 프로세스는 백그라운드 방식으로 처리되는 프로세스를..
프로그램과 프로세스 우리가 평소에 쉽게 접하는 용어인 프로그램은 어떤 의미일까? 프로그램은 사용자가 원하는 일을 처리할 수 있도록 프로그래밍 언어를 사용하여 수행절차를 표현해놓은 명령어들의 집합. 즉, 컴퓨터에서 어떤 작업을 실행하기 위한 코드, 정적 상태의 파일이라고 할 수 있다. 그렇다면, 프로세스는 무엇일까? 프로세스는 컴퓨터에서 실행되고 있는 프로그램을 뜻한다. 사용자가 프로그램을 실행하면, 운영체제가 실행에 필요한 메모리를 할당 받아 프로그램 코드를 실행하는 방식이다. 그렇다면 다중 프로세스는? 하나의 프로그램이 여러 프로세스를 만드는 것이다. 이때 각각의 프로세스는 독립된 메모리 영역을 할당 받고, 서로의 변수나 자료구조에 접근할 수 없다. 한 프로세스가 다른 프로세스의 자원에 접근하려면 IP..