또 뭐하지
[기초] 리눅스 개념 간략 정리 본문
728x90
Linux
- 운영 체제 (Operating System)
: 컴퓨터 하드웨어를 구동하고 사용자의 요청을 받아 여러가지 응용프로그램을 실행시키는 프로그램 - Unix
- 다중 사용자 및 다중 작업 운영체제 : 여러 사용자가 동시 로그인, 동시 작업 가능, 각각의 사용자는 독립적으로 작업 가능
- 고수준 언어(c)로 작성된 최초의 운영체제
- 최소한의 조정으로 다른 기계에 쉽게 이식
- 서버에 특화
- Linux
- Unix에서 파생된 컴퓨터 운영 체제
- 오픈 소스 기반 : 누구나 자유롭게 접근과 수정이 가능
- 다양한 배포판 존재 : 사용자의 요구에 맞게 선택 가능 (ex. Ubuntu)
- 다중 사용자 및 다중 작업 지원, 다중처리 시스템
- 안정성과 보안
- 안정적인 네트워크 지원
- 다양한 응용프로그램 제공
- Ubuntu
- Linux 배포판 중 하나
- 사용자 친화적인 환경 제공
- 쉽게 설치 가능하며 다양한 그래픽 도구 사용 가능
리눅스 문법
- 파일 권한 :
ls -l
명령을 사용하여 확인 가능- 1 번째 자리 : -(파일), d(디렉토리)
- 2~4 번째 자리 : 유저owner의 권한
- 5~7 번째 자리 : 그룹group의 권한
- 8~10 번째 자리 : 제3자other의 권한
- 순서대로 r(read, 읽기), w(write, 쓰기), x(execute, 실행) 권한을 나타낸다
- 예시 :
-rwxr-xr-x
(해당 파일은 유저에게 모든 권한 부여, 그룹과 제3자에게는 읽기와 실행 권한만 부여)
ls
(list) : 해당 디렉토리에 있는 파일의 목록 나열ls -l
: 자세히 나열ls -a
: 숨겨진 파일을 포함한 나열ls -al
: 숨겨진 파일을 포함하여 자세히 나열- 숨겨진 파일 : 파일이름이
.
으로 시작, 일반 파일 목록에선 보이지 않음
pwd
(Print Working Directory) : 현재 디렉토리의 전체 경로 출력cd
(Change Directory) : 디렉토리 이동~
: 홈 디렉토리.
: 현재 디렉토리..
: 상위 디렉토리
cat
(concatenate) : 파일 내용 출력vi
: 새로운 문서 편집file
: 어떤 종류의 파일인지 출력clear
: 터미널 화면을 깨끗하게 지움mkdir
(make directory) : 새로운 디렉토리 생성, 생성된 디렉토리는 만든 사용자의 소유rm
(remove) : 파일이나 디렉토리 삭제rm -i
: 정말 지울지 확인하는 메시지가 출력됨rm -f
: 확인하지 않고 바로 삭제rm -r
: 디렉토리와 디렉토리 안 파일까지 모두 삭제
mv
(move) : 파일이나 디렉토리 이동 또는 이름 변경cp
(copy) : 파일이나 디렉토리 복사find
: 특정 파일의 위치 검색find -name
: 파일 이름find -user
: 파일 소유자find -perm
: 파일 권한find -size
: 파일 크기 (b: 블록단위 / c : byte / k : kbyte / w : 워드)find -group
: 파일 그룹
id
: uid, gid 등을 출력whoami
: 현재 사용자 이름 출력touch
: 크기가 0인 새 파일을 생성하거나 최종 수정 시간 변경
*
(와일드카드) : 임의의 문자(열)에 대응시키기 위하여 사용하는 문자|
(파이프라인) : 한 데이터 처리 단계에 출력이 다음 단계의 입력으로 이어지는 형태로 연결된 구조
grep [OPTION] [PATTERN] [FILE]
: 파일 내에서 문자열 검색OPTION
: 출력PATTERN
: 검색할 문자열FILE
: 검색 대상 파일
리눅스 프로세스 메모리 구조 Linux Process Memory Layout
- 프로세스의 메모리를 크게 5개의 세그먼트(Segment)로 구분
- 세그먼트 : 적재되는 데이터의 용도별로 메모리의 구획을 나눈 것
- os가 각 용도에 맞게 적절한 권한을 부여할 수 있음 -> cpu가 메모리에 대한 권한이 부여된 행위만 할 수 있음
- 코드 세그먼트 (Code Segment) : 실행 가능한 기계 코드가 위치하는 영역 (읽기, 실행 권한)
- 데이터 세그먼트 (Data Segment) : 컴파일 시점에 값이 정해진 전역 변수 및 전역 상수들이 위치하는 영역 (읽기 권한)
- 쓰기가 가능한 세그먼트 (=data segment) : 값이 변할 수 있는 데이터 (ex. 전역 변수)
- 쓰기가 불가능한 세그먼트 (=rodata segment) : 값이 변할 수 없는 데이터 (ex. 전역 상수)
- BSS 세그먼트 (BSS Segment) : 컴파일 시점에 값이 정해지지 않은 전역 변수가 위치하는 영역 (읽기, 쓰기 권한)
- 스택 세그먼트 (Stack Segment) : 프로세스의 스택이 위치하는 영역, 실행 중에 동적으로 할당되어 임시 변수들이 저장됨 (읽기, 쓰기 권한)
- 힙 세그먼트 (Heap Segment) : 힙 데이터가 위치하는 영역, 실행 중에 동적으로 할당 (읽기, 쓰기 권한)
SSH
- shell : 사용자가 글자를 입력하여 컴퓨터에 명령할 수 있도록 하는 프로그림
- SSH (Secure Shell) : 네트워크 상 다른 컴퓨터의 쉘을 사용할 수 있게 해주는 프로토콜, 강력한 보안 제공
- PuTTY : windows를 위한 무료 SSH
'I.sly() > 9기 기초 - 공통' 카테고리의 다른 글
[기초] 웹 해킹 개념 간략 정리 (0) | 2024.04.04 |
---|---|
[기초] 웹 개념 간략 정리 (0) | 2024.03.28 |
[기초] OverTheWire:Bandit - level 0~level 6 (0) | 2024.03.28 |
[기초] 컴퓨터구조, 자료구조, 알고리즘 간략 정리 (0) | 2024.03.22 |
[기초] C언어 개념 간략 정리 (2) | 2024.03.15 |