Study: ComputerScience(CS)/CS: Linux

[Linux] X11 포워딩하기 (Ubuntu xserver, Window VcXsrv, MacOS XQuartz): 서버/도커에서 QUI 확인하기
💡 본 문서는 '[Linux] X11 포워딩하기 (Ubuntu, MacOS XQuartz): 서버/도커에서 QUI 확인하기)'에 대해 정리해놓은 글입니다. Ubuntu 서버나 docker 컨테이너에서 GUI 프로그램을 실행시킬 경우, X11 forwarding을 통해 해당 host에서 띄울 수 있도록 설정해주는 과정이 필요한데 해당 내용에 대해 정리하였으니 참고하시기 바랍니다. 1. X11 포워딩 1.1. X11 포워딩이란? 별도로 있는 리눅스 PC에 ssh 접속으로 콘솔 작업은 가능한데 GUI 프로그램은 실행 할 수가 없습니다. 이때 GUI 화면을 포워딩해서 맥에서 그 화면과 조작을 가능하게 할려면 X11 포워딩을 하면 됩니다. 저는 메인으로 macOS를 사용해서 macOS에서 사용 할 수 있는 방법을..

[Linux] chmod 파일 권한 및 특수 권한 설정
💡 본 문서는 'chmod 파일 권한 및 특수 권한 설정'에 대해 정리해놓은 글입니다. Linux OS에서는 파일 및 폴더에 접근 권한이 존재합니다. 이로 인해 특정 파일에 접근할 때 'permissionError', 'Permission denied'와 같은 에러가 발생할 수 있는데, 이때 파일의 접근 권한 설정에 대해 알고 있다면 많은 도움이 될 것 같아 정리하였으니 참고하시기 바랍니다. 1. Linux에서 권한이란? 1.1 폴더 접근 권한 확인하기 'ls -al', 'll' 의 명령어에 경로를 붙이면 해당 경로에 위치한 파일들의 접근 권한(e.g. drwxr-xr-x)을 확인할 수 있습니다. $ ll / total 2097252 drwxr-xr-x 21 root root 4096 8월 31 13:5..

[Linux] gdb로 디버깅하는 방법(feat. run/attach executable)
💡 본 문서는 'gdb로 디버깅하는 방법'에 대해 정리해놓은 글입니다. 앞서 설명한 gdb에 대한 기본 설명을 읽고 오셨다면 gdb를 사용해야할 때에 대해서는 인지하셨을 거라 생각합니다. 이 문서 내에서는 활용하는 방법 중 먼저 run 방식과 attach 방식을 통해 gdb의 기능들을 살펴보고, 추후 load 방식에 대해 알아보겠습니다. 1. gdb를 익히기 위한 기본 세팅 1.1 C/C++ 파일 생성 매우 단순한 프로그램입니다. 2개의 입력인자를 받아 더하는 방식이네요. 이제 이 코드를 조금씩 분석해 나가며 기능들을 살펴보시죠. #include #include static int sum(int a, int b) { return a + b; } int main(int argc, char *argv[]) ..

[Linux] gdb 활용하는 다양한 방법: executable, process, core dump file
💡 본 문서는 'gdb 활용하는 다양한 방법'에 대해 정리해놓은 글입니다. C / C++ 코드를 디버깅 툴 중 가장 유명한 gdb와 이를 사용해야할 때에 대해 정리하였으니 참고하시기 바랍니다. 추가로 하기에 작성한 링크를 통해 이를 활용하여 executable, process, core dump file을 디버깅하여 분석하는 방법에 대한 글도 링크하였으니 참고하시기 바랍니다. 1. GDB란? 좋은 디버거는 문제를 해결하고, 프로그램을 좀 더 쉽게 개발하고 리버싱을 하는 등 다양한 방안에서 개발자에게 도움을 주는 도구 입니다. 많은 플랫폼에서 그에 맞춰 좋은 디버거들이 존재하고 개발자들은 자신에게 맞는 디버거를 사용하고 있습니다. 그 중 GDB(The GNU Debugger)는 많은 플랫폼, x86, x8..
[Linux] 리눅스 크론탭(Linux Crontab) 사용법: 작업 스케줄러
💡 본 문서는 '리눅스 크론탭(Linux Crontab) 사용법: 작업 스케줄러'에 대해 정리해놓은 글입니다. 윈도우에서는 스케줄러와 비슷하게 리눅스에서도 특정 시간에 특정 작업을 해야한다면 크론탭(Crontab)을 설정하여 사용하시면 됩니다. 이에 대해 정리하였으니 참고하시기 바랍니다. 1. 크론탭 기본 (crontab basic) 1.1 크론탭이란? crontab이란? 리눅스에서는 일반적으로 crons 데몬이 주기적인 작업 실행을 처리합니다. cron이 시작될 때부터 끝날 때까지 실행되며 cron 설정 파일은 cron table을 줄여서 crontab이라 부르게 됩니다. 1.2 크론탭 기본 사용 일단 기본이 되는 크론탭 사용법을 한 번 볼까요. 리눅스 쉘에서 다음처럼 입력합니다. $ crontab -..