분류 전체보기

    1. 파일 열기 - open(), creat()

    개요 유닉스 기반 시스템에서는 거의 모든 것을 파일로 표현하다. 그러므로 파일을 읽고, 쓰고, 삭제하고, 생성하고... 하는 모든 파일 다루기는 아주 중요하다. [Linux System Programming] 시리즈의 포스팅의 첫 번째는 파일 입출력에 대해서 써보려 한다. 파일은 읽거나 쓰기 전이 반드시 열어야 한다. 이 열린 파일들은 파일 테이블이라는 목록이 있는데, 이곳에 프로세스별로 열린 파일들을 기록한다. 파일 테이블은 커널에 의해 관리된다. 파일 테이블은 파일 디스크립터(File Descripter, fd)라는 정수 값으로 인덱싱된다. 파일 테이블의 각 항목은 열린 파일에 대한 정보를 담고 있으며, 여기에는 메모리에 복사된 inode를 가리키는 포인터, 파일 위치와 접근 모드 등과 같은 각종 메..

    [2. 리눅스 운영 및 관리] 02 셸(Shell) (1) 개념 및 종류

    개념 시스템을 공부하는 사람이라면 누구나 셸(Shell)이라는 단어는 한 번쯤 들어본 적이 있을 것이다. 셸은 쉽게 말하면 사용자가 입력한 명령어를 해석하여 커널에 전달하는 역할을 수행하는 명령어 해석기(Command Interpreter)라고 정의할 수 있다. DOS의 Command.com과 동일한 기능을 수행하는 프로그램이다. 커널에 해석한 명령어를 전달할 때 셸은 커널과 사용자 간의 대화식 인터페이스를 제공하여 접근을 더 쉽게 도울 수 있다. 또한 셸 자체가 프로그래밍 기능을 가지고 있기 때문에 강력한 스크립트 언어이기도 하다. 더 부가적인 기능으로는 입출력 방향 재지정(redirection)과 파이프(pipe) 기능 제공과 포그라운드 / 백그라운드 프로세스 실행이 가능한 것이 있다. 종류 셸은 그..

    셸코드(Shellcode) 만들기

    보호되어 있는 글입니다.

    Linux에서 스레드 생성 - pthread_create() 예제

    보호되어 있는 글입니다.

    [포렌식] 파티션 분석, hexaviewer

    보호되어 있는 글입니다.