티스토리 뷰
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 |