본문 바로가기
  • 개발 삽질 블로그

시스템6

[Linux] Shell Scipt(쉘 스크립트) 작성 오늘은 쉘 스크립트 기초 문법에 대한 블로그를 작성해보겠습니다...옛날에 찍먹으로 배워서 까먹었는데 이것이 리눅스다 책과 검색을 통해 복습했습니다..  반복적인 작업을 수동으로 수행하는 것은 시간이 많이 걸리고 실수를 유발할 수 있습니다. 이러한 문제를 해결하는 강력한 도구 중 하나가 바로 쉘 스크립트입니다. 쉘 스크립트는 시스템의 다양한 작업을 자동화하고, 복잡한 명령어를 간편하게 실행할 수 있게 도와주는 도구입니다. 리눅스는 대부분 C언어로 작성했기 때문에 C언어와 유사한 방법으로 프로그래밍 가능일반 프로그래밍 언어와 비슷하게 변수, 반복문, 제어문 등 사용 가능별도의 컴파일 과정 필요 없이 바로 셸에서 실행 가능주로 vi eitor나 gedit으로 작성 실행 방법sh 명령어sh {scriptFile.. 2024. 9. 7.
소켓의 동작 방식: 블로킹 vs 논블로킹 네트워크 프로그래밍을 하다 보면 "블로킹"과 "논블로킹"이라는 개념을 접하게 됩니다. 특히 소켓 프로그래밍에서 이 두 개념을 알고 가는게 중요한 것 같아서 이 글에서는 블로킹과 논블로킹을 정리해보려고 합니다.   블로킹과 논블로킹 소켓은 각각의 상황에 따라 장단점이 존재합니다. 네트워크 프로그래밍에서 이 두 개념을 잘 이해하고 활용하면, 더 안정적이고 효율적인 애플리케이션을 설계할 수 있습니다.   블로킹(Blocking)요청한 작업이 성공하거나 에러가 발생하기 전까지는 응답을 돌려주지 않는 것이전 게시물에서 C 코드에서 socket() 함수로 생성된 소켓은 기본적으로 블로킹 모드임. 즉, read()나 write() 호출 시, 데이터가 준비될 때까지 함수 호출이 블로킹입니다.int n = read(so.. 2024. 9. 2.
TCP/IP Socket 통신 프로그래밍 네트워크 통신의 기초를 이해하는 것은 모든 개발자에게 중요한 단계입니다. TCP 소켓 통신은 데이터 전송의 신뢰성과 순서를 보장하는 핵심 기술입니다. 이번 블로그에서는 TCP와 소켓의 기본 개념에 대해 작성하였습니다.  1. TCP(Transmission Control Protocol) TCP(Transmission Control Protocol)는 네트워크 통신에서 데이터 전송의 신뢰성을 보장하는 프로토콜로, 주로 인터넷과 같은 네트워크에서 데이터 패킷을 송수신하는 데 사용됩니다. TCP/IP 소켓 통신은 서버와 클라이언트 모델을 기반으로 합니다. TCP의 특징은 다음과 같습니다  주요 특징연결 지향성 (Connection-Oriented)데이터 전송 전에 송신 측과 수신 측 간의 연결을 설정연결이 설.. 2024. 9. 2.
[Linux] 파일 검색 및 조작 명령어 오늘은 코드를 너무 많이 본 것 같아 퇴근 후 또 코드보면 눈이 무리일 것 같아서 짧게 리눅스 공부한거 정리파일 검색 및 조작 명령어 1. find특정 조건에 맞는 파일이나 디렉토리를 검색할 때 사용 find [경로] [조건] [액션]검색 범위를 디렉토리나 파일명, 수정 시간, 크기 등으로 제한할 수 있어 매우 유연옵션-name: 파일 또는 디렉토리 이름으로 검색-type: 파일 유형으로 검색 (f는 파일, d는 디렉토리)-size: 파일 크기로 검색-mtime: 파일의 마지막 수정 시간으로 검색find /home/gaeun -name "*.txt" # gauen 홈 디렉토리에서 *.txt 검색find /var/log -type f -name "*.log" # /var/log에서 파일 중 find / .. 2024. 8. 27.
[Linux] 사용자 및 그룹 관리 분명 운영체제 시프 과목에서 1등도 했었고 많이 까먹었지만 꽤 기초는 잘 안다고 생각했는데,음...실무에서 제 리눅스 지식은 0.1%에 불과했다는 느낌을 받았습니다...어쩌겠나요...스스로 부족함을 느끼면 공부를 해야겠죠  시간이 날 때 '이것이 우분투 리눅스'다 라는 책도 간간히 읽고 있습니다.공부하면서 원래 알던 내용도 있고 몰랐던 내용도 있지만....기록하면 안하는 것 보다는 좋으니깐(?)블로그 중독자인 저는  매일 공부한 부분을 기록해보려고 합니다 사용자 관리adduser(useradd): 새로운 사용자 추가adduser를 하면 아래 파일들에 새로운 행이 추가됨 (*사용자 관련 파일들)/etc/passwd: 사용자 계정의 기본 정보를 저장/etc/shadow: 사용자 암호와 암호 관련 보안 설정을.. 2024. 8. 22.
가상화와 컨테이너 가상화 -하나의 물리적 리소스를 여러 개의 가상적인 환경으로 분할하야 사용하는 기술 -하나의 물리적 서버에서 여러 개의 가상 서버를 운영하거나 여러 운영체제를 하나의 시스템에서 실행할 수 있음 가상머신(Virtual Machine) -실제 컴퓨터의 비슷한 환경을 소프트웨어적으로 구현한 가상 환경 -가상머신은 호스트 컴퓨터 위에서 실행되며, 게스트 운영체제를 호스트 컴퓨터와 독립적으로 실행할 수 있게 해줌 -테스트, 개발, 보안, 서버 운영 등 다양한 용도로 사용 가상머신을 사용하면 하드웨어 효율성 리소스 분리 및 격리 유연성과 확장성 테스트 및 개발 용이성 고가용성 및 복구 기능 하이퍼바이저(Hypervisor) -가상머신을 관리하고 실행하는 소프트웨어 -하드웨어 리소스를 가상머신에 할당하고, 여러 개의.. 2024. 3. 24.