일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 헤더가드
- C++
- ai캠프
- 회고록
- 21주차
- 12기
- sk네트웍스familyai캠프12기
- Fine-tuning
- 임베딩
- sk네트웍스ai캠프
- Langchain
- 어셈블
- 전처리
- Docker
- 주간회고
- 배포
- AWS
- openai
- zero-shot
- FastAPI
- 최종프로젝트
- #include
- Rag
- 소스코드
- sk네트웍스familyai캠프
- sk네트웍스family
- 중복인클루드
- 컴파일
- few-shot
- one-shot
- Today
- Total
ansir 님의 블로그
리눅스 가상환경 생성하기 본문
vm ware work station pro 설치하기
https://support.broadcom.com/group/ecx/productdownloads?subfamily=VMware Workstation Pro&freeDownloads=true ( 로그인 필요 )
Home - Support Portal - Broadcom support portal
It appears your Broadcom Products and Services are supported by one of our certified Support partners Click below to be redirected to the appropriate Support Partner Portal to request support For non-product related issues (Support Portal / Licensing) Clic
support.broadcom.com
리눅스 가상환경 생성하기
VMware Workstation 17 Player 실행
create new virtual Machine 클릭
게스트 os를 리눅스, 우분투 64bit로 설정
메모리는 20기가로 설정
우분투 설치하기
설치링크: https://ubuntu.com/download/desktop#newsletter-signup
설치 후 VSSetting에서 cd에서 iso 파일 설정.
기본 명령어
# pwd: 현재 경로표시
# ls: 목록 표시
-a: 전체 목록
-l: 상세 정보. 파일 접근 권한( 읽기( r ), 쓰기( w ), 실행( x ) ) 표시
- 파일 접근 권한: 맨 앞 첫자리는 파일, d는 디렉터리를 의미
소유자 그룹 기타사용자
--- --- ---
rw- r-- r--
-al: 두 개 동시에 사용 가능
# 파일 접근 권한 변경
chmod
기능: 파일이나 디렉터리의 접근 권한을 변경
형식: chmod [ 옵션 ] 권한파일( 디렉토리 )
옵션:
-R: 하위 디렉토리까지 권한을 모두 변경
변경 방식
문자 모드: r w x + -
숫자 모드: 0 ~ 7로 비트마스킹 -> 주로 사용하는 방식
ex) 읽기 쓰기 실행 권한 부여 -> 7( 111 )
읽기 쓰기 권한 부여 -> 6( 110 )
ex) chmod 777 test.txt -> text.txt 의 소유자, 그룹, 기타사용자에게 모든 권한 부여
# cd: 경로 이동
~: 현재 계정의 기본 작업 경로
ex) cd ~
---
# mkdir: 디렉토리 생성
mkdir abc/test: 현재 존재하는 abc 경로 하위에 test를 생성( 만약 abc 디렉토리가 없으면 에러 )
-p: 하위 경로가 없을 경우 생성해주는 옵션
# rmdir: 디렉토리 삭제( 삭제하려는 폴더에 파일이 없어야 함 )
# rm -rf: 강제 디렉토리 삭제
rm -rf /: 시스템 전체를 삭제
---
# cat: text 파일의 내용 전체 출력
cat [ 파일명 ] : 일반 사용
cat -n [ 파일명 ] : 행 번호를 같이 출력
# more [ 파일명 ]: 내용을 분할 출력
space bar: 다음 화면
enter: 한 줄씩
q: 종료
/문자열 + enter: 문자열 검색
# head: 앞에서 10개 출력
# tail: 뒤에서 10개 출력
---
# cp: 파일이나 디렉터리를 복사
cp file1 file2 -> 파일 file1을 file2라는 이름으로 복사
파일이 존재하면 덮어 쓸건지 물어봄
cp -r dir1 dir2 -> 디렉토리 dir1을 dir2라는 이름으로 복사
# mv: 파일 이동 및 파일명 변경
mv test1 data1: test1 파일을 data1으로 변경( 없으면 생성 있으면 덮어씀 )
---
# 파일 링크: 기존 파일에 새로운 이름을 부여해서 접근하는 방법.
하드링크: 기존 파일에 추가 파일명을 생성
in test1 hdtest1 -> inode 번호( 주소 )를 공유한다.
심볼릭 링크: 원본 파일을 가리키는 새로운 파일을 생성
in -s test1 smtest1 -> 윈도우의 바로가기와 같은 기능.
---
# grep: 특정 파일 내에서 특정 문자열을 찾는 명령어
grep user1 /etc/passwd
# whereis: 명령어의 위치를 찾는 명령어
whereis cd
whereis pwd
vi
실행
vi [ 파일명 ] → vi 편집기가 열림
입력모드
i를 눌러 입력 모드로 전환
- 현재 커서의 위치를 기준으로 문자 입력 가능
- esc 키를 눌러 입력모드 종료
o 키 | 현재 커서의 다음 행에서 입력 모드 실행 |
O( 대문자 ) 키 | 현재 커서의 이전 행애서 입력 모드 실행 |
a 키 | 현재 커서의 다음 문자 위치에서 입력 모드 실행 |
문자 삭제
x키 → 커서 뒤 문자 삭제
X키 → 커서 앞 문자 삭제
dw → 커서 기준 뒤 단어 삭제
dd → 한 행 삭제
저장
w키 → 현재 상태 저장
편집기 종료
q: 종료
q!: 강제 종료
wq: 저장 후 종료
gedit
sudo apt install gedit 으로 설치
gedit 입력 시 실행
Shell
Bourne Shell: 최초의 Shell. 이후 다양한 Shell이 등장
Bash Shell: 리눅스에서 기본으로 사용. 리눅스 쉘이라고도 함.
역할: 사용자의 명령을 해석해서 커널에 전달하는 interpreter 역할
/etc/passwd -> 파일에서 기본 쉘을 확인할 수 있음.
프로세스
프로세스: 현재 시스템에서 실행 중인 프로그램
# 다중 프로세스: 여러 프로세스가 동시에 실행
# 시스템 프로세스
- 리눅스 시스템의 운영에 필요한 기능 수행
# 사용자 프로세스
- 사용자가 실행한 명령이나 프로그램
# 부모-자식 관계
- 프로세스가 번호를 가짐 PID
# 데몬 프로세스: 특정 서비스를 제공하는 프로세스
- 평소에 대기상태→서비스요청이 들어오면 실행
# 고아 프로세스: 부모가 종료( 자식은 실행상태 )
- 부모가 종료되면 pip 1프로세스가 새로운 부모가 되어서 종료할 수 있도록 함
# 좀비 프로세스: 자식이나 부모가 종료되었지만 프로세스가 종료 정보를 받지 못하거나 읽지 못하는 현상.
- defunct 프로세스로 표기가 될 수도 있음 → 실제로는 실행되고 있지 않음
- 좀비 프로세스가 많아지면 시스템 자원이 부족해진다.
# ps: 프로세스의 상태 정보
# ps -ef: 시스템 정보도 포함한 모든 프로세스와 상세정보를 출력
- 특정 프로세스 정보 검색: ps grep 같이 사용
- `ps -ef | grep bash`
# kill: PID 값으로 실행 중인 프로세스를 종료. 단, 소유권이 있어야 함.
# kill -9 PID: 강제 종료
# pkill: 프로세스 이름으로 종료