Lsiron

리눅스 환경에서 작업 진행 전 할 것 그리고 git에 올리기 까지!(elice) 본문

배포/docker

리눅스 환경에서 작업 진행 전 할 것 그리고 git에 올리기 까지!(elice)

Lsiron 2024. 7. 2. 15:05

1. 지금 들어온 클라우드의 OS 확인한다.

$ cat /etc/os-release

 

2. OS확인 했으니, 아키텍처를 확인한다. AMD / ARM

$ uname -m

 

3. 권한을 확인한다. 지금 내가 누군지(유저 인지 루트인지)

$ whoami

=> 유저라면, SUDO 권한이 있는지 확인한다.

$ sudo ls

=> Sudo 권한이 없으면, 조금 머리아파진다. root 계정 진입가능 여부  확인한다.

$ sudo su root

 

4. 패키지를 업데이트 및 업그레이드한다.

$ apt update / $ apt upgrade

=> 권한이 없다면?

$ sudo apt update / $ sudo apt upgrade

=> Y 입력하고 엔터

 

 

5. neofetch를 설치해준다.

$ sudo apt install neofetch

=> $ neofetch 로 확인한다.

 

Neofetch는 터미널에서 시스템 정보를 보기 좋게 출력해주는 도구이다. 주요 기능과 이유는 다음과 같다.

  1. 시스템 정보 확인: Neofetch는 운영체제, 커널 버전, 업타임, 패키지 수, 쉘, 해상도, DE(데스크톱 환경), WM(윈도우 매니저), 테마, 아이콘, 터미널, CPU, GPU, 메모리 사용량 등 다양한 시스템 정보를 한눈에 볼 수 있게 해준다.
  2. 시각적 만족: 터미널에서 텍스트로만 보는 것보다 Neofetch를 사용하면 시스템 로고와 함께 컬러풀한 텍스트로 정보를 보기 좋게 출력해준다. 이는 특히 시스템 스크린샷을 공유할 때 유용하다.
  3. 간편한 설정: Neofetch는 쉽게 설정 파일을 수정하여 출력 형식이나 정보를 커스터마이즈할 수 있다.
  4. 개발자 및 사용자의 편리함: 시스템 정보를 빠르게 확인해야 할 때, 특히 개발자나 고급 사용자는 Neofetch를 통해 필요한 정보를 즉시 얻을 수 있다.
  5. 시스템 상태 모니터링: 특정 시점에서 시스템 상태를 확인하고 기록할 수 있어서, 문제 발생 시 원인 파악에 도움이 된다.

이러한 이유들로 Neofetch는 많은 리눅스 사용자들 사이에서 인기가 있다.

 

 

현재 폴더와 파일 리스트를 찍으면 이렇다음과 같이 나온다. 한번 파일을 여러 개 만들어보자.

$ ls -la

 

[d]-[rwx]-[rwx]-[r-x]

[type]-[owner]-[group]-[others]

type은 파일의 타입을 나타내고 나머지는 각각 owner, group, others의 권한을 나타내는 것이다. rwx => read write execute

 

★ 파일관련 명령어 ★

현재 경로 확인 $ pwd

현재 파일 확인 $ ls

현재 모든파일 확인(숨겨진파일 포함) $ ls -al

폴더 만들기 $ mkdir 이름

폴더 여러개 만들기 $ mkdir 이름 이름 이름

폴더 만들때 그 폴더의 내부폴더도 만들기 $ mkdir -p 만들폴더이름/내부폴더이름

폴더 이동 $ cd 폴더이름
상위 폴더 이동 $ cd ..

 

 

6. tree를 설치해준다.

$ sudo apt install tree

=> $ tree 로 확인한다. (현재 내가 만든 폴더는 이렇다.)

 

tree 프로그램은 파일 시스템의 디렉토리 구조를 트리 형태로 출력해주는 유틸리티다. 이를 통해 사용자들은 파일과 디렉토리의 계층 구조를 시각적으로 쉽게 파악할 수 있다. 설치와 사용 이유는 다음과 같다.

  1. 디렉토리 구조 시각화: tree 명령어는 파일 시스템의 디렉토리 구조를 트리 형태로 출력해준다. 이를 통해 디렉토리와 파일의 계층 관계를 한눈에 파악할 수 있다.
  2. 파일 탐색 용이: 특히 복잡한 디렉토리 구조를 탐색할 때 유용하다. 어떤 파일이 어느 디렉토리에 위치해 있는지 쉽게 확인할 수 있다.
  3. 디렉토리 내용 목록화: tree는 각 디렉토리의 내용물을 목록화하여 보여준다. 이를 통해 디렉토리 내부의 파일과 서브디렉토리를 모두 확인할 수 있다.
  4. 문서화 및 공유: 디렉토리 구조를 시각적으로 표현한 결과를 문서화하거나 다른 사람과 공유할 때 유용하다. 예를 들어, 프로젝트의 디렉토리 구조를 설명할 때 사용할 수 있다.
  5. 유연한 출력 형식: tree 명령어는 다양한 옵션을 제공하여 출력 형식을 커스터마이즈할 수 있다. 특정 깊이까지 출력하거나, 파일 유형에 따라 색상을 지정하는 등의 기능이 있다.

 

7. 우리가 elicer 클라우드에서 우리의 github에 파일을 올리려면 어떻게 해야할까 ? 

아래 명령어를 입력해서 home으로 가자

$ cd ~ 

아래 명령어를 통해 숨겨진 파일까지 모두 확인 해 보자

$ ls -la 

아래 명령어를 통해 숨겨진 파일인 .ssh로 가보자

$ cd .ssh

아래 명령어를 통해 ssh로 보안세팅을 해보자. 

$ ssh-keygen

아래 명령어를 통해 다음화면을 확인해보자.

$ tree

 

아래 명령어를 통해 home폴더로 돌아와서 .gitconfig 파일을 생성해보자.

$ cd ~

 

gitconfig 로 오면 다음과 같이 입력해준다.

 

깃헙의 setting으로 가서 SSH and GPG keys로 가서 new SSH key를 눌러주자. 

elice.pub 의 키를 복사에서 key에 넣어준다. (.ssh 폴더안에 파일이 있다.)

 

자 이제, 아래 명령어를 통해 home 폴더로 다시 돌아와준다.

$ cd ~

아래 명령어를 통해 project 폴더로 이동해준다.

$ cd things/public/project/

아래 명령어를 통해 github_pj 폴더를 만들어 준다.

$ mkdir github_pj

아래 명령어를 통해 github_pj 폴더로 이동해준다.

$ cd github_pj

아래 명령어를 통해 README 파일을 하나 만들어준다. (실체는 존재하지 않는 임시파일)

$ touch README.md

아래 명령어를 통해 README 파일을 확인 해 준다.

$ ls 

그러면 이제 git init으로 git을 초기화 시켜준다.

$ git init

평소에 깃에 올리는 대로 staging area에 README 파일을 올려준다.

$ git add README.md

remote 변수에 깃헙 주소를 저장 해 주는데 이때 깃 헙에서 SSH 주소를 가져와야 한다. (HTTPS 주소 아님)

$ git remote add origin SSH주소

커밋을 올려 준다.

$ git commit -m 'CREATE README.md'

main에 push를 해준다.

$ git push origin main

 

그러면 github repository에 아래와 같이 커밋이 완료된 것을 확인할 수 있다!

 

'배포 > docker' 카테고리의 다른 글

Docker 기초부터 배포까지 - python, django(elice)  (0) 2024.07.04