데이터로그😎

[Linux] 1. 리눅스 기초 본문

Data Engineering

[Linux] 1. 리눅스 기초

지연v'_'v 2024. 1. 14. 21:07

GUI & CLI

GUI (Graffic User Interface)

특징

  • 그래픽 요소를 사용하여 사용자와 시스템 간의 상호 작용을 제공합니다.
  • 일반적으로 아이콘, 버튼, 창, 메뉴 등의 시각적 요소를 포함합니다.
  • 마우스를 사용하여 작업을 수행하며, 시각적으로 직관적이고 사용하기 쉽습니다.
  • 일반적으로 더 많은 리소스를 사용하며, 높은 수준의 편의성을 제공합니다.

예시

  • Windows, macOS, Ubuntu Desktop 등의 운영 체제에서의 데스크톱 환경.

 

CLI (Command Line Interface)

특징

  • 명령어를 텍스트로 입력하여 시스템과 상호 작용합니다.
  • 주로 키보드를 사용하며, 명령어를 통해 작업을 수행합니다.
  • 자원 사용량이 적고, 일반적으로 빠른 작업이 가능합니다.
  • 학습 곡선이 높을 수 있으나, 고급 사용자에게는 강력한 기능을 제공합니다.

예시

  • 리눅스 및 Unix 시스템의 터미널, Windows의 명령 프롬프트 또는 PowerShell.

 

기초 명령어

명령은 현재 머물고 있는 디렉토리를 대상으로 내려진다.

명령어 설명
Ctrl + L  script 내용 지우기
ls -al -  현재 위치하고 있는 디렉토리에 있는 모든 파일 목록을 자세히 확인  (- 뒤에 오는 al은 파라미터 라고 부름)
-  ls -l과 ls -a가 합쳐진 기능
ls -l 현재 위치하고 있는 디렉토리의 파일, 디렉토리 목록을  자세히 보여줌
ls -a 현재 위치하고 있는 디렉토리의 파일을 보여주되, 숨겨진 파일까지 보여준다. (파일명 맨 앞에 . 가 오는 파일)
ls -S 현재 위치하고 있는 디렉토리의 파일을 보여주되, 파일 사이즈에 따라 정렬하여 보여준다.
pwd 현재 위치 확인
mkdir 디렉토리명 새로운 디렉토리 만들 때
mkdir -p 디렉토리명 여러 디렉토리를 한 번에 만들 때. 부모 디렉토리를 생성하고 자식 디렉토리까지 만든다.
(예: mkdir -p dir1/dir2/dir3/dir4)
touch 파일명 새로운 파일 만들기 (뒤에 확장명 꼭 쓰기)
cd 디렉토리명 디렉토리를 이동하고 싶을 때 
① 상대경로 사용하기
     cd .. 

② 절대경로 사용하기
    cd /부모디렉토리주소
현재 디렉토리의 부모 디렉토리로 가고 싶을 때
rm 파일명 파일 삭제하기
rm -r 디렉토리 디렉토리 삭제하기
명령어 --help 해당 명령어에 대한 도움말 보기 (예: rm --help)
man 명령어 해당 명령어에 대한 도움말 보기
단, --help와 다른 점은 man을 사용하면 상세 페이지로 들어가 도움말을 보여준다.
상세 페이지에서 특정 단어를 검색하고 싶다면 /sort 를 입력, 빠져 나올땐 q를 입력.
(예: man ls)
cp 파일위치 목적지파일위치 파일 복사 밑 붙여넣기
cp /home/ubuntu/dir1 /home/ubuntu/dir2
mv 파일위치 목적지파일위치 파일 이동하기 (혹은 파일 이름 변경하기)
mv /home/ubuntu/dir1 /home/ubuntu/dir2

 

* ls -l로 확인한 결과, 맨 앞의 항목의 첫글자가 d라면 디렉토리라는 뜻 (폴더)

 

 

sudo (super user do)

unix 계열 운영체제들의 중요한 특징 중 하나는 다중 사용자 시스템 . 하나의 컴을 여러 사람들이 나눠서 쓴다는 것이다. 그래서 특정 파일에 대한 사용 권한 때문에 root user가 아니면 명령을 실행할 수 없는 경우가 있다.

이 때 "예외적으로 이 명령은 super user의 권한으로 실행하겠다"는 의미에서 명령어 맨 앞에 sudo 를 붙임

sudo apt-get install git

 

nano 에디터 사용하기

nano, vi: file에 정보를 저장, 편집하는 법.

초급자: nano , 중고급자: vi 

 

shell script에 nano 를 입력하고 엔터를 치면 아래와 같은 창이 뜬다. 

맨 아래에 있는 ^O 와 같은 글자 중 ^는 ctrl키를 의미한다. 따라서 ctrl+O를 누르면 파일을 저장할 수 있고, ctrl+X를 누르면 nano 화면에서 나갈 수 있다.

 

 

패키지 매니저

apt, yum이 있다. 지금은 apt만 설명.

 

apt 사용법

1. apt 패키지 저장소에서 최신 패키지 목록 업데이트

apt라는 패키지 매니저를 사용하기 위해서 패키지 매니저를 통해 설치할 수 있는 소프트웨어의 목록을 최신상태로 갱신해야 한다.

인터넷으로 apt라는 패키지 매니저 서버에 접속해서 최신 상태의 소프트웨어 목록을 다운 받겠다 는 의미.

apt-get update

# 만약 위의 명령어를 실행했을 때 Permission denied가 뜬다면 sudo를 붙여라
sudo apt-get update

 

2. 검색하기

1번 단계에서 apt 패키지 매니저 서버에 접속하여 최신 상태의 소프트 웨어 목록을 다운 받았다. 이제 sudo apt-cache search 기능을 통해 다운받은 소프트 웨어 목록 중에서 찾고 싶은 패키지명을 검색할 수 있다. 패키지를 설치하기 전에 사용 가능한 패키지 목록을 확인하거나 특정 패키지를 찾을 때 유용하다.

sudo apt-cache search <패키지명>

 

3. 패키지 설치하기

2번에서 원하는 패키지를 찾았다면 install을 통해 설치해주면 된다.

sudo apt-get install <패키지명>

 

4. 패키지 업데이트

sudo apt-get upgrade <패키지명>

# 설치되어 있는 모든 패키지를 upgrade 하고싶다면 아래와 같이.
sudo apt-get upgrade

 

 

5. 패키지 삭제하기

sudo apt-get remove <패키지명>

 

 

다운로드 방법

① wget (파일 다운)

1. 다운로드 할 파일의 이름을 지정하지 않고 다운 (wget 파일url)

wget https://www.fitpetmall.com/wp-content/uploads/2022/11/shutterstock_196467692-1024x819.jpg

 

2. 다운로드 할 파일의 이름을 지정하고 다운  (wget -O 지정이름 파일url)

 wget -O dog.jpg https://www.fitpetmall.com/wp-content/uploads/2022/11/shutterstock_196467692-1024x819.jpg

 

 

② git (소스 다운)

버전 관리 시스템

github에 있는 오픈소스 프로젝트를 다운로드 받을 때

 

1. git 다운

sudo apt-get install git

 

2. 오픈소스 다운

git clone <git 주소>

# 예시 (react 다운)
git clone https://github.com/facebook/react.git