LINUX/Linux

· LINUX/Linux
만들고자 하는 프로그램 개요 정의 a.txt 에 쓰여있는 내용을 b.txt 로 복사하며 몇 바이트가 복사된 것인지 메시지를 띄우고자한다.! 1. 먼저 파일 내용을 복사할 함수 'copyfilemalloc'을 들여다보자. Q1. 만약 동적 메모리 할당이 아닌 bytesp를 static으로 선언한다면? A. 하나의 쓰레드에서는 읽고 쓰는데 문제가 없지만 2개 이상의 쓰레드가 bytesp를 이용할 경우 둘다 같은 장소에 바이트수를 저장하므로 한 쓰레드가 다른 한쪽의 값을 덮어 씌우는 결과가 발생.. Q2. 동적 메모리 할당의 단점은? A. 메인 쓰레드가 명시적으로 '해제' 해주지 않으면 메모리 leak 이 발생한다. Q3. 다른 대안은? A. 생성자 쓰레드 (create할때 생성된 스레드)가 한 공간을 별도로..
· LINUX/Linux
상황 구문 (명령모드에서) 한 줄 복사: yy 한 줄 삭제: dd 붙여넣기 : -p N줄 복사나 삭제는 nyy ndd ex) 3줄 복사 -> 3yy 졸라 쉽누.. 이렇게 하나씩 단축키를 늘려가는그야!
· LINUX/Linux
[하드링크] 원본 파일과 연동되는 또 하나의 원본파일 inode 구조체에서 Link Count값 증가 Link Count가 0이되면 OS가 Inode와 할당된 메모리 공간을 해제한다. 하드 링크를 생성 할 경우 원본 파일과 하드 링크간의 Inode값은 동일하고 Directory Entry 항목만 추가될 뿐이다. [심볼릭 링크] 원본 파일의 경로명 정보를 갖는 링크파일이다. 비유하자면 바탕화면의 바로가기! 심볼릭 링크를 연다는 것은 OS가 Inode값 참조하여 아! 이색기 원본 요기잉네?! 하고 원본 파일을 여는것과 같은것이다. 심볼릭 링크는 Inode의 Link Count값을 증가시키지 않는다. 또 그 자체로도 별도의 Inode 값을 가진다. ※ 바로가기같은 개념이기 때문에 원본파일이 지워지면 심볼릭 링..
· LINUX/Linux
Interface int lstat(const char *restric path, struct stat *restrict buf) int stat(const char *restrict path, struct stat *restrict buf) Function 파일의 이름을 사용해 파일의 상태정보를 가져옴 Parameter path: 문자열로 '경로'에 해당 buf: 사용자가 제공하는 버퍼, 해당 경로의 파일 정보 저장소 Return Success: 0 Fail: -1 ★ lstat, stat함수의 차이점 접근 하고자 하는 대상 파일이 심볼릭 링크일 경우 발생! lstat -> 링크에 대한 정보를 리턴 stat -> 심볼릭 링크가 가리키는 원래 파일의 정보를 리턴. 그럼 stat 구조체의 정보를 아라보자...
· LINUX/Linux
[기본 지식] 원래 유닉스 or 리눅스 시스템 상에서는 쉘에서 파일의 '경로명'을 모두 입력해줘야 프로그램이 실행된다. 하지만 흔히 사용하는 프로그램 도구들 (ex. vi Editor, vim.. env 등등)은 vi , vim , env만 쳐도 실행 되는데 그 이유가 실행 파일이 주어지면 쉘은 'PATH' 환경변수에 있는 디렉토리에서 실행파일을 알아서 찾아준다. 이 때 경로명들을 콜론(:)으로 구분해서 가지고 있다. ex) /usr/bin:/etc:/usr/local/bin: (중략) 이러한 경로 목록을 검색 경로(Search Path) 라고 한다. :콜론 왼쪽에 있는 것 부터 순차적으로 찾아나간다. 고로 "따로 경로명을 제시 하지 않은" 실행 파일은 PATH에 등록된 디렉토리에서 먼저 찾아보고 PAT..
· LINUX/Linux
보안상문제가 있을 수 있고 표준 시스템 프로그램대신 동일 이름의 로컬 프로그램을 실행 시켜 이상한 결과를 나타낸다.. 왜 그럴까? /usr/local/bin 디렉토리에 프로그 램들이 있고 그리 엄격하지 않은 보안 상태에 있다.(단지 이 디렉토리가 root의 패스에 없을뿐..) 어쨌거나, 만약에 어떤 데몬이 'foo' 라는 명령을 실행하는데 /usr/local/bin 디렉토리가 패스에 걸려있다면 '/bin/foo' 대신에 '/usr/local/bin' 이 실행될수도있을 것이다. 그렇다면 /usr/local/bin 에 쓰기 권한이 있는 사용자는 누구나 시스템에 침입해 들어갈 수 있게 된다. => 나의 해석 아 그니까 원래 환경변수에서 (root)/bin/ 요기서 찾아야하는데 환경변수 순서상 /usr/loca..
M_Falcon
'LINUX/Linux' 카테고리의 글 목록 (4 Page)