티스토리 뷰

Data/Engineering

[DE] Linux

jeong_reneer 2022. 1. 9. 22:26

 

1. Linux

무료 공개 운영체제

유닉스와 호환

PC용 OS보다 안정적

하드웨어의 기능을 알차게 사용

강력한 네트워크 구축 가능

사용자 친화적이지 않음

지원되지 않는 프로그램 많음

Linux = GNU Linux의 Kernel (Application과 hw 사이에 존재)

2. Linux Command 

[Window] Git Bash (관리자 권한) 

[Mac] terminal

 

mkdir : 폴더 제작

cd : 들어갈 수 있음

vim : text editor program → txt file 제작 ex) .txt   .py

- normal mode : 글을 쓸 수 없는 모드

- insert mode : [A] or [I]

- terminal로 나가는 법 : [ESC] 눌러 normal mode → :wq 치면 file이 저장되면서 나갈 수 있음

ls : 폴더 안에 있는 파일들의 이름 목록 로드

ls -l : 해당 파일의 타입, 권한, 유저명,  그룹 로드

 

1) grep (Global Regular Expression Point)

- 기능 : 입력 파일에서 특정 문자열을 찾을 때 사용

- 사용 형식 : % grep 옵션 [문자열] [파일명]

정규표현식 메타문자(ex. [)가 문자열에 포함될 때 : 탈출문자(\)를 문자열 앞에 추가해야 함

 

옵션 기능
-b 문자와 일치하는 줄의 시작점 출력
-c 문자와 일치하는 줄의 수 출력
-h 여러 파일에서 문자열을 찾을 때, 파일 이름이 붙는 것을 방지
-i 대소문자 구분 X
-n 줄의 번호와 내용을 같이 출력
-v 문자가 포함되지 않는 행 출력
-w 문자와 한 단어로 일치해야 출력
-l 문자가 들어간 파일 이름을 출력
-r 하위 디렉토리에서도 문자를 찾음
-A 특정 문자 아래 추가로 여러 행 출력
-B 특정 문자 위 추가로 여러 행 출력

 

예시 기능
% grep "문자열" 문자열이 포함된 행 출력
% grep "^문자열" 문자열로 행이 시작되는 경우 출력
% grep "문자열&" 문자열로 행이 끝나는 경우 출력
% grep "문자1\|문자2" 여러 문자열을 한번에 검색
% grep -A2 "문자열" 해당 문자열이 들어간 행을 포함해 아래 2행 출력
% grep -v "문자열" 해당 문자를 제외한 행 출력
% grep -v "문자열*" 현재 위치의 모든 파일에서 특정 문자열 출력

 

 

2) chmod (change mode)

- 기능 : 파일의 권한 변경

- 사용 형식 : % chmod 옵션 [모드] [파일명]

옵션 기능
-v 모든 파일에 대해 모드가 적용되는 진단 메세지 출력
-f 에러 메세지 출력 X
-c 기존 파일 모드가 변경되는 경우에만 진단 메세지 출력
-R 지정한 모드를 파일과 디렉토리에 대해 재귀적으로 적용 (모든 파일)

 

 

(1) 파라미터 조합하여 파일 모드 지정 방법

chmod u+w FILE : 파일 소유자에게 쓰기 권한 추가

chmod u=rw FILE : 파일 소유자에 대해 읽기, 쓰기 권한 지정

 

(2) 8진수 형식으로 파일 모드 지정 방법 (많이 사용)

chmod 600 FILE : 파일 소유자에게 읽기, 쓰기 권한 부여

chmod 040 FILE : 그룹 사용자에게 읽기 권한 부여

 

 

3) Python 실행

[Mac] terminal 에서

% python3 → Python 3.7.7

% python3 test.py → kernel shell에서 바로 file 실행

 

[Window] Git Bash에서

$ python -i OR $ winpty python.exe

 

3. Virtual Environment

1) wget

[Mac]

(1) Home으로 나가서 Homebrew 관리자 설치 후,  wget 설치

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”

brew install wget

(2) 폴더에 들어와서 anaconda 가상환경 shell file 다운

cd ~

mkdir wget_venv

cd wget_venv

wget https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86_64.sh

 

[Window]

cd ~

pip install wget

mkdir wget_venv

cd wget_venv

wget https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86_64.sh

제어판에서 환경변수 설정 후

 

[이어지는 공통]

conda create -n {env_name} python=3.7   #  가상환경 이름, 버전

conda config --set auto_activate_base false

conda activate {env_name}  # 가상환경 실행

conda deactivate # 가상환경 종료

conda env list  # 설치된 가상환경 리스트 확인

conda env remove --name {env_name} # 가상 환경 삭제

 

 

2) Linux on VM

(1) Virtualbox 6.1.28

https://download.virtualbox.org/virtualbox/6.1.28/

[Mac] .dmg

[Window] .exe

 

(2) Ubuntu 18.04 image

https://releases.ubuntu.com/18.04/ → Desktop image 다운로드

* 발생 가능 에러 : “호스트 시스템에서 하드웨어 가상화를 지원하지 않지만, 시스템 페이지의 가속 부분에서 활성화되어 있습니다.” 

https://whitekeyboard.tistory.com/715

+) 마더보드마다 다른 BIOS 가상화 접근 방법

https://m.blog.naver.com/oyj1999karma/221932109588

 

 

 

 

+) 스터디 진행 후, 은성님 Linux 추가 내용

https://datakes.notion.site/linux-e5299825fe344278a1f34d8055f6cfb8

'Data > Engineering' 카테고리의 다른 글

[DE] Cloud Computing (AWS/AZURE/GCP)  (0) 2022.02.11
[DE] 크롤링  (0) 2022.02.05
[DE] Git  (0) 2022.01.11
댓글
공지사항