데이터로그😎
[Linux] 1. 리눅스 기초 본문
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
'Data Engineering' 카테고리의 다른 글
[Linux] 3. Shell & Shell script (0) | 2024.01.15 |
---|---|
[Linux] 2. IO Redirection - output (0) | 2024.01.15 |
[Spark] Spark SQL에서 날짜 형식 중 년, 월, 일 따로 추출하는 법! (0) | 2023.09.15 |
[Spark] Spark Machine-Learning (0) | 2023.09.15 |
[Spark] Spark SQL (0) | 2023.09.14 |