Study: ComputerScience(CS)/CS: Linux

    [Linux] 리눅스 cURL 명령어: 다양한 프로토콜로 웹 요청 / 원하는 파일을 내려받자.

    cURL을 이용하여 다양한 통신 프로토콜에 데이터를 전송할 수 있습니다. 일반적으로 웹 서비스 개발 시 테스트 및 디버깅 용도로 많이 사용되고 cmd에서 실행 가능하므로 웹 요청에 필요한 배치 작업을 자동화할 수 있습니다. 옵션 short long Discription etc -k --insecure https 사이트를 SSL certificate 검증없이 연결한다. wget 의 --no-check-certificate 과 비슷한 역할 수행 -l --head HTTP header 만 보여주고 content 는 표시하지 않는다 -D --dump-header 에 HTTP header 를 기록한다. -L --location 서버에서 HTTP 301 이나 HTTP 302 응답이 왔을 경우 redirection ..

    [Linux] 리눅스 프로세스 프로그래밍: fork() 자식 프로세스 생성하기

    프로세스 프로그래밍 (Process Programming) 프로세스 생성과 종료 함수 의미 fork 자신과 완전히 동일한 프로세스를 생성한다. exec 계열 지정한 실행 파일로부터 프로세스를 생성한다. exit 종료에 따른 상태 값을 부모 프로세스에게 전달하며 프로세스를 종료한다. atexit exit로 프로세스를 종료할 때 수행할 함수를 등록한다. _exit atexit로 등록한 함수를 호출하지 않고 프로세스를 종료한다. wait 자신의 자식 프로세스가 종료할 때까지 대기 상태가 된다. waitpid 지정한 자신의 자식 프로세스가 종료할 때까지 대기 상태가 된다. 프로세스 속성과 환경 변수 함수 의미 getpid, getppid 자신(또는 부모)의 프로세스 식별 번호를 구한다. getpgrp, setp..

    [Linux] 리눅스 네트워크 상태 확인 (feat. ping, netstat...)

    💡 본 문서는 '리눅스에서 네트워크 상태를 확인하기 위한 명령어'에 대해 정리해놓은 글입니다. 가장 기본적으로 사용하는 ping부터 해당 IP의 port가 개방되어 있는지 확인하는 tcping, TCP listening 상태릃 확인하는 netstat까지 다루고 있으니 참고 부탁드립니다. 추가로 Linux에서 종종 사용하는 50+가지 명령어를 정리해놓은 포스트 중 네트워크 부분을 참고하시면 유용한 명령어를 확인하실 수 있습니다. 1. 네트워크 ip 동작 확인 (ping) 1.1 ping (Packet INternet Groper)란? 대상 컴퓨터를 향해 일정 크기의 패킷을 보낸 후, 대상 컴퓨터가 이에 대한 응답 메세지를 보내면 이를 수신하여 대상 컴퓨터 동작 여부 혹은 네트워크 상태를 파악하는 도구 1...

    [Linux] 리눅스 wget vs curl: 웹 서버로부터 컨텐츠를 가져오자!

    wget vs curl wget vs curl wget 과 curl 은 웹 서버로부터 컨텐츠를 가져오는 Linux 커맨드입니다. wget 과 curl 은 거의 유사하지만 조금 다른 부분이 있습니다. 공통점 HTTP, HTTPS, FTP 프로토콜을 통해 컨텐츠를 다운로드 하는 커맨트 라인 툴입니다. HTTP POST request 를 지원합니다. (즉, 웹사이트로 데이터를 전송할 수 있습니다.) HTTP 쿠키를 지원합니다. 스크립트처럼 사용자 인터렉션없이 수행될 수 있도록 설계되었습니다. 오픈소스이며 무료입니다. 90년대에 시작한 프로젝트입니다. (wget 은 1995년, curl 은 1996년에 시작했습니다.) metalink 를 지원합니다. 차이점 wget cURL 라이센스 GNU Lisence MIT..

    [Linux] 리눅스 사용자 관리 (user@host : 사용자명, 호스트명 변경하기)

    사용자 이름 변경 (user@host) 0. 사용자 이름 확인 $ whoami $ logname 1. 임시 유저를 만들고, 임시 유저에게 sudo 권한을 부여합니다. $ sudo adduser //유저가 새로 생성된다. 임시유저를 sudo 그룹(sudo 권한을 가진 그룹)에 추가합니다. $ sudo adduser sudo 2. 로그아웃 후 생성한 임시 유저로 로그인합니다. 3. 터미널을 열고 변경하길 원하는 유저의 이름을 변경합니다. 그리고 변경한 유저의 이름으로 홈디렉토리를 변경합니다. $ sudo usermod -l $ sudo usermod -d /home/ -m 4. 임시유저에서 로그아웃 하고, 기존의 유저로 로그인하여 변경되었는지 확인합니다. $ whoami $ echo $USER 5. 임시유저..