Linux에서 자주 사용되는 핵심 명령어는 파일 관리, 시스템 상태 확인, 프로세스 제어 등 다양한 작업을 수행하는 데 유용합니다. 아래는 Linux 초보자부터 중급자가 알아두면 좋은 주요 명령어를 간단히 정리한 목록입니다.
1. 파일 및 디렉토리 관리
(1) 디렉토리 탐색 및 관리
- ls
디렉토리 내용 확인. - cd
디렉토리 이동. - pwd
현재 작업 중인 디렉토리 경로 출력.
(2) 파일 및 디렉토리 생성/삭제
- touch
빈 파일 생성. - mkdir
새 디렉토리 생성. - rm
파일 또는 디렉토리 삭제. - cp
파일/디렉토리 복사. - mv
파일 이동 또는 이름 변경.
2. 파일 내용 확인
- cat
파일 내용 출력. - less
긴 파일을 페이지 단위로 읽기. - head / tail
파일의 시작 또는 끝 부분 출력. - grep
파일 내용에서 특정 문자열 검색.
3. 권한 및 소유권 관리
- chmod
파일/디렉토리 권한 변경. - chown
파일/디렉토리 소유자 변경. - ls -l
파일/디렉토리의 권한과 소유자 확인.
4. 프로세스 및 시스템 관리
- ps
현재 실행 중인 프로세스 확인. - top / htop
실시간으로 시스템 자원 및 프로세스 모니터링. - kill
프로세스 종료. - df
디스크 사용량 확인. - free
메모리 사용량 확인.
실제로 시작할 때 추천 명령어
- ls, cd, pwd로 파일/디렉토리 탐색.
- touch, mkdir로 파일/디렉토리 생성.
- cat, less, grep으로 파일 내용 확인.
- sudo apt update / sudo apt install로 패키지 설치.
이 명령어들만 익혀도 Linux 환경에서 작업을 시작하는 데 충분합니다! 😊
각각의 명령어들은 어쨌든 영어 단어의 줄임말, 축약형일텐데, 그 원래 단어를 대응시켜서 알려줄래?
1. 파일 및 디렉토리 관리
ls | list | 디렉토리의 내용을 나열(list)합니다. |
cd | change directory | 현재 디렉토리를 변경합니다. |
pwd | print working directory | 현재 작업 중인 디렉토리 경로를 출력합니다. |
touch | touch | 파일의 **시간 정보(timestamps)**를 갱신(없으면 새로 생성)합니다. |
mkdir | make directory | 새로운 디렉토리를 생성합니다. |
rm | remove | 파일이나 디렉토리를 삭제합니다. |
cp | copy | 파일이나 디렉토리를 복사합니다. |
mv | move | 파일을 이동하거나 이름을 변경합니다. |
2. 파일 내용 확인
cat | concatenate | 파일 내용을 출력하거나 여러 파일을 연결(concatenate)합니다. |
less | less | 긴 파일을 페이지 단위로 탐색합니다. (이름은 more 명령어보다 개선되었다는 의미에서 유래.) |
head | head | 파일의 첫(head) 부분(기본 10줄)을 출력합니다. |
tail | tail | 파일의 끝(tail) 부분(기본 10줄)을 출력합니다. |
grep | global regular expression print | 파일 내에서 정규 표현식을 검색하여 해당 내용을 출력합니다. |
3. 권한 및 소유권 관리
chmod | change mode | 파일의 권한 모드를 변경합니다. |
chown | change ownership | 파일의 소유자(ownership)를 변경합니다. |
4. 프로세스 및 시스템 관리
ps | process status | 현재 실행 중인 프로세스를 확인합니다. |
top | top (프로세스 상위 목록) | 실시간으로 상위 프로세스를 모니터링합니다. |
kill | kill | 특정 프로세스를 종료(kill)합니다. |
df | disk free | 디스크의 사용 가능 공간을 확인합니다. |
free | free | 시스템의 메모리 상태를 보여줍니다. |
apt가 없는데 apt에 대한 명령어도 알려줄래?
apt는 Advanced Package Tool의 약자로,
Ubuntu 및 Debian 계열의 Linux에서 패키지(소프트웨어)를 관리하는 도구입니다.
패키지를 검색, 설치, 제거, 업데이트하는 데 사용됩니다.
1. apt 명령어의 주요 기능
apt는 사용자가 패키지를 효율적으로 관리할 수 있도록 다양한 옵션을 제공합니다.
(1) 패키지 목록 업데이트
- 설명: 시스템에 설치된 패키지의 최신 목록을 가져옵니다.
- 언제 사용?
새로운 패키지를 설치하기 전에, 최신 정보를 가져와야 문제가 발생하지 않습니다.
(2) 시스템 전체 패키지 업그레이드
- 설명: 설치된 모든 패키지를 최신 버전으로 업그레이드합니다.
- 언제 사용?
시스템을 최신 상태로 유지하고 보안 업데이트를 적용할 때.
(3) 패키지 설치
- 설명: 특정 패키지를 설치합니다.
- 예제:
sudo apt install git
- 설치 내용: Git 소프트웨어를 설치합니다.
(4) 패키지 제거
- 설명: 특정 패키지를 제거합니다(설정 파일은 남겨둠).
- 예제:
sudo apt remove git
(5) 패키지와 설정 파일 제거
- 설명: 패키지와 함께 관련된 설정 파일까지 모두 제거합니다.
(6) 설치된 패키지 확인
- 설명: 현재 설치된 모든 패키지의 목록을 확인합니다.
(7) 패키지 검색
- 설명: 특정 패키지를 검색합니다.
- 예제:
apt search python
- Python과 관련된 패키지 목록이 출력됩니다.
2. apt와 관련된 추가 명령어
(1) 캐시 삭제
- 설명: 다운로드된 패키지의 캐시를 삭제해 디스크 공간을 확보합니다.
(2) 업그레이드(배포판 전체 업데이트)
- 설명: 기존 apt upgrade보다 더 강력하게, 시스템의 종속성까지 고려하여 패키지를 업그레이드합니다.
3. apt 명령어의 구조적 이해
- 명령어 구조:
sudo apt <명령> <패키지 이름>
- 축약어:
- update: 업데이트 목록 갱신
- install: 설치
- remove: 제거
- autoremove: 불필요한 패키지 자동 제거
- upgrade: 설치된 패키지 업그레이드
이 명령어들을 잘 활용하면 Ubuntu나 Debian 계열의 패키지 관리를 쉽게 할 수 있습니다! 😊
ubuntu linux에서 sudo apt-get install nginx 를 통해서 설치하고 나서, firefox가 있어서 거기서 localhost 를 들어가보니까,
nginx가 실행중이라는 걸 확인할 수도 있다
그리고 ubuntu linux에서 실행하는 vs code,, 그래픽이랑 UI가 익숙하다
flask가 뭐야?
1. Flask의 주요 특징
- 경량(Microframework)
- 필요한 최소한의 기능만 제공하여, 사용자가 원하는 대로 애플리케이션을 구성하고 확장할 수 있습니다.
- 불필요한 기능이 포함되지 않으므로 프로젝트가 간단하고 가볍게 유지됩니다.
- 확장성
- 사용자가 필요에 따라 다양한 확장 라이브러리를 추가할 수 있습니다(예: 데이터베이스, 인증, 템플릿 엔진 등).
- 유연성
- 고정된 구조가 없어 자유롭게 애플리케이션을 설계할 수 있습니다.
- 초보자부터 숙련된 개발자까지 다양한 방식으로 활용할 수 있습니다.
- 기본 제공 기능
- 라우팅: URL과 함수를 연결.
- 템플릿 렌더링: HTML을 Python 데이터와 결합하여 동적으로 생성.
- 개발 서버: 애플리케이션을 로컬에서 실행하고 디버깅 가능.
2. Flask로 만드는 웹 애플리케이션의 흐름
- 클라이언트 요청: 사용자가 웹 브라우저에서 특정 URL로 요청을 보냄.
- Flask 처리:
- 요청 URL에 연결된 **라우트(route)**를 기반으로 특정 Python 함수를 실행.
- 필요하면 데이터베이스와 통신하거나 로직을 처리.
- 응답 반환: HTML, JSON, 텍스트 등 클라이언트가 요청한 데이터나 결과를 반환.
3. Flask의 간단한 예제
from flask import Flask
# Flask 애플리케이션 생성
app = Flask(__name__)
# 라우트(route) 정의: '/' 경로에 대해 응답할 함수
@app.route('/')
def home():
return "Hello, Flask!"
# 애플리케이션 실행
if __name__ == "__main__":
app.run(debug=True)
실행 및 결과
- 위 코드를 실행하면 로컬 서버가 실행됩니다(기본: http://127.0.0.1:5000).
- 브라우저에서 해당 주소로 접속하면 "Hello, Flask!" 메시지를 확인할 수 있습니다.
4. Flask를 사용하는 이유
- 빠른 개발: 간단한 설정으로 애플리케이션 개발을 바로 시작할 수 있습니다.
- 유연성: 특정한 프로젝트 구조를 강제하지 않아서 다양한 요구사항에 맞게 개발 가능합니다.
- 활용 사례:
- 프로토타이핑 및 간단한 API 구축.
- 소규모 또는 중규모 웹 애플리케이션.
- RESTful API 서버.
5. Flask와 다른 프레임워크와의 비교
특징 | Flask | Django |
유형 | 경량 프레임워크 | 풀스택 프레임워크 |
유연성 | 높은 유연성 | 규칙적이고 구조화됨 |
기능 제공 | 필요한 기능만 제공 | 인증, ORM 등 내장 기능 제공 |
학습 곡선 | 낮음 | 중간 |
사용 목적 | 소규모/단순 프로젝트 | 대규모/복잡한 프로젝트 |
6. Flask로 확장 가능한 도구들
Flask는 기본 기능이 경량화되어 있지만, 다양한 확장 라이브러리를 통해 기능을 확장할 수 있습니다:
- Flask-SQLAlchemy: 데이터베이스 ORM.
- Flask-WTF: 폼 유효성 검사.
- Flask-RESTful: REST API 개발.
- Flask-Security: 인증 및 보안.
7. Flask가 적합한 프로젝트
- 간단한 웹사이트나 블로그.
- RESTful API 서버.
- 데이터 시각화 대시보드(예: Flask + Pandas/Matplotlib).
- 프로토타입 제작.
결론: Flask는 간단한 설정으로 빠르게 웹 애플리케이션을 만들 수 있는 Python 프레임워크
Flask 성공~~
이제 EC2 연결을 할 것이다.
흐앍!!!! 연결을 하려고 했지만 여러 가지 문제들에 봉착했었다.
"이제 EC2 연결을 할 것이다" 라는 문장을 작성한 후로 꽤 시간이 흘렀다. 결국에는, 리눅스 우분투에서 인스턴스를 생성해서 거기서 key.pem 을 받아냈다.
그래서 연결을 이제 해보겠다.
휴우~ 드디어 연결 완료했다. 리눅스 환경에서 EC2 리눅스로 연결, SSH를 이용해서 연결하는 걸 해냈습니다.
간단하게, exit 명령어를 입력하면 연결이 해제가 된다.
굿굿!!!!! 드디어!!!!!!!!!!!!!!!
'Docker 기반 CI·CD 파이프라인 구축' 카테고리의 다른 글
CI/CD - GitLab과 Docker Application 빌드 / GitLab 가입 후 Git 저장소 생성 / (1) | 2024.12.05 |
---|---|
CI/CD - Docker란? / Docker vs. VM / Docker 설치 후 사용 / Docker Hub / Docker 명령 (0) | 2024.12.05 |
CI/CD - AWS EC2 / Linux 사용 - Linux 운영체제 - VirtualBox / Ubuntu Linux (iso) / (1) | 2024.12.04 |
CI/CD - CI/CD가 무엇인가? (1) | 2024.12.04 |
Docker 기반 CI·CD 파이프라인 구축하기 (KDT 과정 전 수강 가능한 KDC 과정) (1) | 2024.12.03 |