- 리눅스와 파일
- 모든 것은 파일
- c 드라이브가 아닌 루트 디렉토리(
/
)
- 쉘
- 운영체제와 사용자 간의 인터페이스
- bash(Bourne-Again Shell): 디폴트
- sh(Bourne Shell)
- 리눅스는 다중 사용자 운영체제
- 로그인 필요
root
- super 관리자
- windows와 다르게 super 관리자로 사용하지 않는다
sudo
- 관리자로 로그인 하지 않아도 root 권한 사용 가능
- 패키지
- 여러 프로그램의 조합
sudo apt-get update
- 수시로 바뀌는 패키지 속 프로그램들 갱신
- 최신 정보 저장
- 표준 입출력(stream)
- command로 실행되는 프로세스의 세 가지 스트림
- 표준 입력 스트림(stdin): 명령어
- 표준 출력 스트림(stdout): 화면 출력
- 오류 출력 스트림(stderr): 화면 출력
- 모든 스트림은 일반적인 plain text
- 스트림 = 물 줄기
- 리다이렉션
- 표준 스트림의 흐름을 바꾸는 것
- 기호:
>
, <
- 주로 명령어 표준 출력을 화면이 아닌 파일에 쓸 때 활용
- 기호를 두 번 쓰면 이어 적기
ls -al > test.txt
cat test.txt
// 명령어의 결과가 파일에 저장되어 출력된다
- 파이프
- 두 프로세스 사이에서 한 프로세스의 출력 스트림을 또 다른 프로세스의 입력 스트림으로 사용하는 것
- 주로
ps aux | grep bash
로 사용
- 실행 프로그램 중 bash 키워드가 있는 라인만 출력
ls -al | grep bash
// ls -al의 결과가 grep의 인자로 사용됨
// ls -al의 결과 중 bash라는 키워드를 가진 라인만 출력
- 프로세스
- C와 같은 언어는 컴파일 과정을 통해 실행 파일 생성
- 바이너리로 이루어진 실행 파일
- 메모리에 바이너리의 일부를 넣고 운영체제가 정의한 포맷에 따라 프로그램 실행
- 유닉스 철학
- 여러 프로그램이 서로 유기적으로 각자의 일을 수행하면서 전체 시스템이 동작하도록 하는 모델
- ex:) 파이프
- foreground process
- 실행된 프로세스가 종료될 때까지 사용자가 다른 입력을 하지 못하는 프로세스
- 일반적인 프로세스
ctrl+c
: 작업 중단
- background process
- 시간이 오래 걸리는 프로세스에 사용
- 명령어 뒤에
&
붙이기
- 프로세스가 실행하는 도중에도 다른 프로세스 실행 가능
[1] 57
: 작업 번호와 pid(process ID)
ps
- 프로세스 상태 확인
aux
a
: 모든 사용자의 프로세스 출력
u
: 프로세스 소유자에 대한 상세 정보 출력
x
: 데몬 프로세스(사용자 모르게 실행되고 있는 시스템 관리용 프로세스) 확인용
- 주로 pid 확인을 위한 명령어
- 명령어도 일종의 프로세스이므로 목록에 등장
cp A B
- A를 B에 복사
- 각각 물리적으로 저장됨
- 없는 파일명 입력하면 기존 파일 복사한 새로운 파일 생성
- 하드 링크
ln A B
- A와 B는 동일한 파일을 가리키므로 A 파일의 용량이 변하면 B 파일의 용량이 함께 변한다
- 소프트(심볼릭) 링크
- 바로가기
ln -s A B
- 실제 실행 파일에 연결하는 역할
ls -al
로 확인 시, 기존 파일보다 용량도 적고 권한 설정도 다르다
- 기존 파일을 가리키는 화살표 기호가 표시된다
- 마찬가지로 기존 파일 변경 시, 파일 내용 함께 변경
- 기존 파일 삭제 시, 함께 삭제
- ubuntu 배포판
- 데비안 배포판 기반
- apt 프로그램을 이용해서 sw 설치 및 업데이트를 간편하게 한 패키지
- RedHat 계열(CentOs, Fedora)의 경우, RPM 패키징 시스템 사용
- 데스크탑, 서버, lts 패키지
- ubuntu 패키지 인덱스 정보
- 패키지의 위치 정보를 리스트로 가지고 있다가 각 위치에 접속할 수 있도록 한다
sudo apt-get update
sudo apt-get upgrade
은 조심할 것
- 안정성이 떨어지는 최신 버전으로 업그레이드 될 위험성
- VIM 에디터
- 리눅스 환경에서 파일 수정 시 필요
- 마우스 없이 키보드로만 사용
- vim 네 가지 모드와 기본 사용법
- 일반 모드
- 명령 모드:
:
- 입력(편집) 모드:
i
- visual 모드
- esc 후,
:wq
로 저장
x
누르면 erase
!q
: 저장하지 않고 종료