💻 Computer/🐧 Linux
-
File 관련 명령어 touch [File Name] : 파일 생성 head [File Path] : 파일의 상위 10줄 출력 tail [File Path] : 파일의 하위 10줄 출력 cat [File Path] : 파일 모든 줄 출력 옵션들 head -n 100 [FILE Path] : 상위 100줄 출력 (head -100 [FILE Path])
[Linux] FileFile 관련 명령어 touch [File Name] : 파일 생성 head [File Path] : 파일의 상위 10줄 출력 tail [File Path] : 파일의 하위 10줄 출력 cat [File Path] : 파일 모든 줄 출력 옵션들 head -n 100 [FILE Path] : 상위 100줄 출력 (head -100 [FILE Path])
2022.09.26 -
구조 그림 1편에서 Data Segment까지 했었다 이번 편은 BSS, Heap, Stack을 다뤄 보려고 한다 Bss Segment 컴파일 시에 초기화 되지 않은 전역 변수들이 위치하는 곳이다. 프로그램이 실행되면 모든 값은 0으로 초기화된다 읽기, 쓰기 권한이 부여됨 Stack Stack과 Heap은 상황에 맞게 확장해가는 Segment이다.Stack Segment는 Stack Frame이라는 단위로 사용는데, 이 Stack Frame은 함수 호출 시마다 생성되고 반환될 때 해제된다. 읽기, 쓰기 권한이 부여됨 Heap C언어에서 malloc(), calloc()과 같은 함수를 통해 동적으로 할당받는 메모리가 위치하는 곳 읽기, 쓰기 권한 부여 정리 Code Segment Data Rodata Bs..
[Linux] 리눅스의 메모리 구조 (2)구조 그림 1편에서 Data Segment까지 했었다 이번 편은 BSS, Heap, Stack을 다뤄 보려고 한다 Bss Segment 컴파일 시에 초기화 되지 않은 전역 변수들이 위치하는 곳이다. 프로그램이 실행되면 모든 값은 0으로 초기화된다 읽기, 쓰기 권한이 부여됨 Stack Stack과 Heap은 상황에 맞게 확장해가는 Segment이다.Stack Segment는 Stack Frame이라는 단위로 사용는데, 이 Stack Frame은 함수 호출 시마다 생성되고 반환될 때 해제된다. 읽기, 쓰기 권한이 부여됨 Heap C언어에서 malloc(), calloc()과 같은 함수를 통해 동적으로 할당받는 메모리가 위치하는 곳 읽기, 쓰기 권한 부여 정리 Code Segment Data Rodata Bs..
2022.09.18 -
리눅스의 메모리 구조 Linux의 메모리 구조에는 Code 세그먼트, Data 세그먼트, BSS 세그먼트, Heap 세그먼트, Stack 세그먼트 이렇게 5가지의 세그먼트가 있다. 각 세그먼트마다 읽기, 쓰기, 실행에 대한 권한이 부여되어 있어 취약점을 어느 정도 방지할 수 있다. Code 세그먼트 Text 세그먼트라고도 불리며, 프로그램에서 실행 가능한 코드가 Text 세그먼트에 위치하게 된다. 코드 세그먼트는 CPU가 코드를 읽고 실행할 수 있도록 읽기 권한과 실행 권한이 부여된다. 하지만 쓰기 권한은 부여되지 않는다 왜일까? 누군가가 악의 적으로 실행 흐름을 바꿀 수도 있기 때문에 쓰기 권한은 부여되지 않는다고 한다 Data 세그먼트 Data 세그먼트는 컴파일 할때 코드에서 초기화된 전역 변수또는 ..
[Linux] 리눅스의 메모리 구조 (1)리눅스의 메모리 구조 Linux의 메모리 구조에는 Code 세그먼트, Data 세그먼트, BSS 세그먼트, Heap 세그먼트, Stack 세그먼트 이렇게 5가지의 세그먼트가 있다. 각 세그먼트마다 읽기, 쓰기, 실행에 대한 권한이 부여되어 있어 취약점을 어느 정도 방지할 수 있다. Code 세그먼트 Text 세그먼트라고도 불리며, 프로그램에서 실행 가능한 코드가 Text 세그먼트에 위치하게 된다. 코드 세그먼트는 CPU가 코드를 읽고 실행할 수 있도록 읽기 권한과 실행 권한이 부여된다. 하지만 쓰기 권한은 부여되지 않는다 왜일까? 누군가가 악의 적으로 실행 흐름을 바꿀 수도 있기 때문에 쓰기 권한은 부여되지 않는다고 한다 Data 세그먼트 Data 세그먼트는 컴파일 할때 코드에서 초기화된 전역 변수또는 ..
2022.09.18 -
Directoru Command pwd: 현재 작업 디렉토리 확인 cd : 작업 디렉토리 변경 ls : 디렉토리 내용 확인 mkdir : 디렉토리 생성 rmdir : 디렉토리 제거 mv : 디렉토리 이름 변경 mv : 디렉토리 이동 cp : 디렉토리 복사 ls ls [확인할 디렉토리] : 디렉토리 내용 확인 -a : 숨겨진 파일까지 모두 표시 -l : 더 자세한 결과 출력 A : 파일에 대한 접근 권한 B : 하드 링크 수 C : 파일의 소유자 UID D : 파일 관리 그룹 GID E : 파일의 크기 (파일 이름 앞에 [ . ]이 붙어 있으면 숨김 파일이 됨) mkdir mkdir : 폴더 생성 -p : 하위 구조도 함께 생성 rmdir rmdir [삭제할 디렉토리 이름] : 디렉토리 안에 뭔가가 있으면..
[Linux] Directory CommandDirectoru Command pwd: 현재 작업 디렉토리 확인 cd : 작업 디렉토리 변경 ls : 디렉토리 내용 확인 mkdir : 디렉토리 생성 rmdir : 디렉토리 제거 mv : 디렉토리 이름 변경 mv : 디렉토리 이동 cp : 디렉토리 복사 ls ls [확인할 디렉토리] : 디렉토리 내용 확인 -a : 숨겨진 파일까지 모두 표시 -l : 더 자세한 결과 출력 A : 파일에 대한 접근 권한 B : 하드 링크 수 C : 파일의 소유자 UID D : 파일 관리 그룹 GID E : 파일의 크기 (파일 이름 앞에 [ . ]이 붙어 있으면 숨김 파일이 됨) mkdir mkdir : 폴더 생성 -p : 하위 구조도 함께 생성 rmdir rmdir [삭제할 디렉토리 이름] : 디렉토리 안에 뭔가가 있으면..
2022.09.04 -
linux 기본 구성요소 쉘 : 명령어를 커널이 알아들을 수 있는 언어로 바꿔주는 일을 함 Kernel(커널) : 컴퓨터 자원을 관리하는 역할 메모리 관리 프로세스 관리 장치 드라이버 시스템 호출 및 보안 명령어 : 우리가 입력하는 명령어는 하나의 프로그램이다 Prompt 컴퓨터가 입력을 기다리고 있음을 가리키기 위해 화면에 나타나는 표시 일반적으로 리눅스의 Prompt는 현재 작업 디렉터리, 현재 로그인한 사용자 등에 대한 정보 표시 명령줄 인터페이스 -> 텍스트 터미널을 통해 사용자와 컴퓨터가 상호 작용하는 방식을 뜻함 -> 즉, 작업 명령은 사용자가 컴퓨터 키보드 등을 통해 문자열의 형태로 입력하며 컴퓨터로부터의 출력 역시 문자열 형태로 주어짐 -> 명령어의 구조 명령어 : 시스템에서 특정 작업을 ..
[Linux] 기본 환경linux 기본 구성요소 쉘 : 명령어를 커널이 알아들을 수 있는 언어로 바꿔주는 일을 함 Kernel(커널) : 컴퓨터 자원을 관리하는 역할 메모리 관리 프로세스 관리 장치 드라이버 시스템 호출 및 보안 명령어 : 우리가 입력하는 명령어는 하나의 프로그램이다 Prompt 컴퓨터가 입력을 기다리고 있음을 가리키기 위해 화면에 나타나는 표시 일반적으로 리눅스의 Prompt는 현재 작업 디렉터리, 현재 로그인한 사용자 등에 대한 정보 표시 명령줄 인터페이스 -> 텍스트 터미널을 통해 사용자와 컴퓨터가 상호 작용하는 방식을 뜻함 -> 즉, 작업 명령은 사용자가 컴퓨터 키보드 등을 통해 문자열의 형태로 입력하며 컴퓨터로부터의 출력 역시 문자열 형태로 주어짐 -> 명령어의 구조 명령어 : 시스템에서 특정 작업을 ..
2022.09.03