본문 바로가기

linux70

[C/C++] readdir을 활용한 파일 목록 읽기 예제, 파일 탐색기 readdir을 활용한 파일 목록 읽기 예제, 파일 탐색기 C언어에서 readdir 함수를 사용하는 재귀 함수로 구성하였다. 디렉터리는 제외하고 파일만 조회하고 탐색된 전체 경로(full path)를 글로벌 vector에 저장한다. 이전 포스팅 중 PHP로 구현한 파일 탐색기와 동일한 기능을 수행한다. https://muabow.tistory.com/249 [PHP] readdir을 활용한 파일 목록 읽기 예제, 파일 탐색기 readdir을 활용한 파일 목록 읽기 예제, 파일 탐색기 opendir, readdir, is_dir 함수를 사용하는 재귀 함수로 구성하였다. 디렉터리는 제외하고 파일만 조회하고 탐색된 전체 경로(full path)를 배열로 반환 muabow.tistory.com 소스코드 #inc.. 2022. 1. 7.
리눅스 기초/기본 정리, 입문 문서 공유 리눅스 기초/기본 정리, 입문 문서 공유 PDF viewer를 통해 리눅스 기초 정리 문서를 공유한다. 오래전에 신입사원 교육 목적으로 작성한 문서지만 기본적인 내용은 예나 지금이나 큰 틀에서 변한 게 없으니 참고하길 바라고 내용 중 임베디드 관련 내용은 그냥 그런가 보다 해주면 되겠다. 리눅스에 입문하는 분들에게 도움이 되길 바라며.. 목차 1. GNU (GNU에 대한 설명) 2. Why LINUX (리눅스를 쓰는 이유 등) 3. NIX 계보 4. 운영체제와 리눅스 개념 5. 리눅스 디렉토리 구조 6. 리눅스 파일 소유권 7. 리눅스 부팅 과정 8. shell profile 9. vim profile 10. 정규 표현식 11. 유용한 명령어들 (whereis, find, main, ulimit, net.. 2022. 1. 7.
[PHP] fileperms을 활용한 파일 탐색과 퍼미션 검사 fileperms을 활용한 파일 탐색과 퍼미션 검사 이전에 작성한 탐색기 함수를 이용하여 대상 경로의 모든 파일 중 사용자가 지정한 퍼미션이 아닌 파일을 배열로 반환하는 함수를 만든다. 공동 공간에서 작업을 하거나 서버 내 파일 생성/삭제 등 여러 파일을 제어하다 보면 퍼미션이 꼬이는 경우가 종종 발생한다. 특히 웹 서비스와 관련된 파일을 만들고 관리하다 보면 퍼미션으로 인해 웹 페이지에서 접근이 안 되는 경우가 많다. 그럴 때 일괄적으로 특정 경로의 퍼미션 체크를 할때 유용하게 사용된다. ▽ 파일 탐색기 함수 포스팅 https://muabow.tistory.com/249 [PHP] readdir을 활용한 파일 목록 읽기 예제, 파일 탐색기 readdir을 활용한 파일 목록 읽기 예제, 파일 탐색기 op.. 2022. 1. 6.
[PHP] readdir을 활용한 파일 목록 읽기 예제, 파일 탐색기 readdir을 활용한 파일 목록 읽기 예제, 파일 탐색기 opendir, readdir, is_dir 함수를 사용하는 재귀 함수로 구성하였다. 디렉터리는 제외하고 파일만 조회하고 탐색된 전체 경로(full path)를 배열로 반환한다. 사용방법은 함수의 인자로 탐색할 경로를 명세하면 된다. https://github.com/muabow/home/tree/main/src/php/get_file_list GitHub - muabow/home: C/C++, PHP, GO source/library C/C++, PHP, GO source/library. Contribute to muabow/home development by creating an account on GitHub. github.com 소스코드 .. 2022. 1. 6.
[PHP] web shell 설명 및 예제 공유 web shell 설명 및 예제 공유 - web shell, 웹 쉘은 웹 페이지를 통해 shell을 사용하는 것을 의미한다. 보통 shell은 telnet, ssh 등 단말에 접속할 수 있는 프로토콜을 이용하여 접속하는데 개발 환경의 테스트, 현장 대응 등 여러 가지 이유로 백도어(backdoor, 개구멍)처럼 하나씩 숨겨놓기도 한다. web shell은 일반적인 서비스의 포트 스캐닝이나 별도의 검증 툴로 확인할 수 없기 때문에 오픈 되는 경우 문제의 인지를 할 수 없어 많은 사고를 야기한다. 그러므로 개발 중 테스트 또는 인증 절차를 통한 원격 지원용 정도로만 사용하자. https://github.com/muabow/home/tree/main/src/php/web_shell GitHub - muabow.. 2022. 1. 6.
[PHP] curl GET/POST Rest API 인증, 요청 및 JSON 응답 처리 방법 curl GET/POST Rest API 인증, 요청 및 JSON 응답 처리 방법 - php curl 요청(request) 및 응답(response)을 쉽게 처리할 수 있는 함수를 소개한다. php 에서 Rest API 서버에게 요청과 응답을 하기 위해 php curl 을 사용한다. php curl 사용 방법은 많지만 사용하기 쉽도록 함수를 만들어 보았다. php curl의 오류 검증, HTTP response 의 response code 검증, json decode 검증을 통해 정상적인 JSON response 데이터인지 검증한다. 그리고 오류 시 각 상황에 맞는 HTTP code의 message로 JSON 데이터를 구성한다. 사용 방법은 아래 소스 코드를 참고하자. https://github.com/.. 2022. 1. 6.
linux haproxy 설명 및 haproxy.cfg 설정 방법 linux haproxy 설명 및 haproxy.cfg 설정 방법 haproxy는 고가용성, 고성능 TCP/HTTP 로드 밸런서 동작을 한다. 보통의 proxy 서비스는 TCP, load balance, routing 의 역할을 수행하지만 haproxy를 사용하게 된 이유는 다음과 같다. 1. 소스코드로 배포하여 임베디드 환경 등 플랫폼에 상관없이 사용할 수 있다. 2. config file 기반 설정이 용이하고 config 메뉴얼 배포가 잘되어있다. 3. HTTP routing 이 가능하다. 가장 중요한 3. HTTP routing 이 중요한 이유는 외부에 특정 포트만 노출하고(e.g. 80) 그 포트로 http/ws/unix socket 등 다양한 프로토콜을 라우팅 하기 위함이다. haproxy ro.. 2022. 1. 5.
svn add commit 전 취소 방법 svn add commit 전 취소 - linux, ubuntu, svn, add, commit, revert, 설명, 예제 svn add 상태일 때 원상태로 되돌리는 방법은 svn revert 명령을 사용하면 된다. 예제 - test_file 생성 > svn st > svn add > svn revert > svn st 확인 muabow@muabow-WorkSpace:~/project/$ touch test_file muabow@muabow-WorkSpace:~/project/$ svn st ? test_file muabow@muabow-WorkSpace:~/project/$ svn add test_file A test_file muabow@muabow-WorkSpace:~/project/$ svn r.. 2022. 1. 5.