일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Linux 사용자
- node js 기본
- js 무한루프 슬라이드
- css #css기초
- js 함수 표현식
- 배열 메서드
- React 자습서
- js 로또
- Git
- typescript
- js 댓글
- js 생성자 함수
- Object.keys
- React 기본설정
- JS DOM
- node js 설치
- js 댓글수정
- branck 합치기
- Linux 기본
- Rebase
- 3way handshake
- js로또 만들기
- js 함수 #함수
- GitHub
- 콜백함수
- 화살표함수
- js 게시판
- js 메서드
- nodejs 게시판
- js DOM 기초
- Today
- Total
개발 노트
Linux // 1일차 기본개념 본문
1. 리눅스란 ?
2. 리눅스 구조
3. 리눅스 특징
- Ubnutu
4. 디렉토리 구조
리눅스란 ?
linux
리누즈 토발즈에 의해 만들어진 os 오픈소스 개발에 가장 유명한 표본
가장 유명한 오픈소스.
유닉스unix 리눅스의 기본 모델이었고 유료다. 굉장히 강력한 OS다
하드웨어 - 눈으로 보고 만질 수 있는것 ex) 컴퓨터 부품
소프트웨어 - 못 보는것 못 만지는 것 ex) OS
OS
입력한 걸 하드웨어가 받아서 소프트웨에어 입력해준다.
리눅스 구조
카카오톡 Excel chrome 같은 컴퓨터에서 실행하는 거의 모든 프로그렘을 응용프로그램 이라고 한다.
이러한 응용프로그램에서(컴퓨터를 사용하는 사람)이 명령을 내리면 Shell 은 이 명령을 해석한다.
** shell은 명령 해석기 라고도 한다.
해석된 사용자의 입력 명령어를 kernel 에게 전달한다.
kernel은 하드웨이에게 전달한다. 리눅스의 핵심이다.
명령 구조
응용 프로그램 > Shell > kernel > 하드웨어
리눅스 특징
리눅스는 유닉스라는 운영체제를 기반으로 하고 있음
뛰어난 안정성과 보안성, 높은 신뢰성과 성능이 특징
시스템 자원을 효율적으로 관리 및 사용할 수 있음, 멀티유저기능과 멀티태스킹을 지원
- 멀티유저 : 여러 사용자가 동시에 하나의 시스팀에 접근 가능
- 멀티태스킹 : 여러개의 작업을 동시에 실행하고, 교대로 컴퓨터의 자원을 사용하는 기능
CLI, GUI(볼 일 없음) 둘 다 지원이 가능 명령어를 많이 알아야 한다... 쓰는것만
우분투 (Ubuntu)
우분투도 리눅스를 기반으로 한 os중에 하나이다.
제일 유명하고 많이 쓰인다.
디렉토리 구조
최상위 디렉토리 : 더 이상 이전으로 갈 수 없는 디렉토리
루트 디렉토리
최상위 디렉토리
"/" 마치 윈도우 c드라이브와 같은곳
/bin
기본적인 명령어가 저장된 디렉토리, 리눅스 시스템사용에 있어서 가장 기본적인 명령어가 저장되어있는곳
ex) cat chmod dhown cp echo kill is ,kdir v ps pwd rm su vi ...
/boot
리눅스 부트로드가 존재하는 디렉토리
/dev
각종 디바이스 파일들이 저장되는 공간
블록 디바이스와 캐릭터 디바이스
블록 디바이스
HDD와 같은 주변장치를 말함
데이터를 블록단위로 읽고 쓰여지며 랜덤하게 엑세스함
캐릭터 디바이스
입출력이 한 바이트 단위로 이루어지며 데이터가 순차적으로 읽고 쓰여짐
/etc
시스템의 거의 모든 설정파일이 존재하는 디렉토리
/etc/sysconfig(시스템 제어판용 설정파일)
/etc/password(사용자 관리 설정파일)
/etc/ssh: SSH 서비스 담겨있는 디렉토리
/etc/hosts: 도메인의 IP를 찾을 때 컴퓨터가 맨 처음 조사하는 파일
- window는 C:/windows/System32/Driver/hosts에도 똑같은 공간이 있다
/etc/skel:: 계정 사용자 생성시의 초기화 파일이 저장된 디렉트로 (adduser)에서 사용함
etc에는 대부분 설정파일들이 들어있다. 하지만 설정 파일이라 한들 기본적으로 다 텍스트 파일로 되어 있다.
/HOME
사용자의 홈 디렉토리,adduser 명령어로 새로운 사용자를 생성하면 대부분 사용자의 id와 동일한 이름의 디렉토리가 자동으로 생성됨
계정 = 설치할 때 적었던 이름
/home/계정 = cd ~ 과 같다.
home 디렉토리 들어가는 건 cd ~ 로 가면 된다.
가장 많이 쓸 계정이다. 코드를 작성하면 기본적으로 여기에 담긴다.
/lib
커널모듈과 라이브러리파일 지금당장은 쓸 일이 잘 없다
/media
DVD,USB 마운트 지금당장은 쓸 일이 잘 없다
/mnt
윈도우에 접근 할 수 있는 모든 것이 담겨있다. /media 디렉토리와 비슷한용도
wsl2를 사용하는 사람은 윈도우 파일이 담겨져 있는 공간
/var
애플리케이션 실행중에 데이터를 일시적으로 저장하거나, 로그파일들을 저장하는 디렉토리 (콘솔로그들을 텍스트로 저장하는 디렉토리)
/var/log <--여기 디렉토리 안에다가 넣으면 됨.
오류 났을 때 로그가 이곳에 남는다. 로그를 보고싶을 때 이곳으로 오면 된다.
- 명령어
ls
현재 디렉토리 안에있는 파일 목록들을 조회하는 명령어
옵션
ls -[옵션내용]
L : 파일들의 상세 정보를 나타낸다
A : 숨김 파일들을 표시한다. 파일 앞에 점(.)이 붙어있으면 숨김파일이라는 뜻이다.
ls –al 은 좀 더 내용을 상세하게 볼 수 있다.
cd
change directory
디렉토리 이동할 때 쓰는 명령어
cd [이동할디렉토리]
cd / 절대경로
cd ./ 내가 현재 위치한 곳에서부터
cd .. 이전으로
mkdir
mkdir [경로]
#cd /
cd /home
mkdir workspace
mkdir /home/ingoo/workspace 한번에 만들 수 있다.
vi
에디터 열기(파일열기)
-모드
-명령모드
-입력모드
입력모드에 들어가는 방법 i (대문자 소문자가 조금 다르다.)
입력모드에서 명령모드로 돌아가는방법 ESC
명령어를 써야 저장이 됨.
종료 옵션
: << 종료할 때 기본적으로 이걸 쓰고 시작해야댐
:q 그냥 종료하는 것
:q! 강제종료
:w 그냥 저장
:w! 강제저장
:wq! : 저장하고 종료하는데 강제로 하는거
자세히 알고 싶다면 드림코딩 vim도 참고
mv
마우스를 쓸 수 없으니 MV를 통해서 파일을 옮겨야 한다.
$ mv [위치/현재파일] [이동할위치/파일명]
mkdir sample
mv /home/ingoo/hello.txt /home/ingoo/sample/hello.txt
mv로 파일명도 바꿀 수 있다.
cp
cp [위치/현재파일] [이동할위치/파일명]
cat
굳이 에디터를 안끼고 바로 파일 내용을 보여주는것.
파일 이름을 인자로 받습니다
cat 파일명
텍스트 파일의 경우 그 내용을 보여주는 듯 하다
pwd
print working directory
현재 디렉토리를 출력해줌
who whoami,
현재 내가 로그인한 정보를 알려준다 어떤 계졍으로 했는지.
env
환경변수
지금 사용하고 있는 Linux 컴퓨터에서 사용하고 있는 변수를 출력해줍니다.
echo
grep
grep grep [찾을단어] [파일위치]
pwd
grep host ./hello.txt
| (pipe line)
명령어를 쓰면 기본적으로 출력을 한다.
출력을 가지고 조작하는 경우가 많다.
명령어와 명령어 사이에 쓴다.
env-->PATH
env 결과를 가지고 PATH라는 내용을 가진 애들만 보고싶다.
env | grep MAIL
ps
-e: 현재 수행하고 있는 프로세스 관한정보
-f: 프로세스 ID와 모 프로세스 ID를 포함한 전체 리스트를 보여줍니다.
프로세스 현재 상태 ?
서버를 열면 나중에 여기에 실행이 된다.
ps –ef를 많이 쓴다.
pe –ef | grep node
프로세스를 실행할때마다 고유번호가 생김 pid process
kill
kill –9 [포르세스아이디]
위에서 ps로 아이디 번호를 찾고 kill을 통해서 삭제를 시킬 수 있다.
'Linux' 카테고리의 다른 글
Linux//github, branch합치기 (0) | 2022.11.24 |
---|---|
Linux // 3일차 [Git] (0) | 2022.11.23 |
Linux // 2일차 [사용자] (0) | 2022.11.22 |