본문 바로가기

linux18

[쉘 스크립트] $는 어떤 용도로 쓰일까? **해당 포스트는 Ubunto 22.04와 xShell을 기반으로 진행한 포스팅입니다.    이번 포스팅에서는 쉘 스크립트에서 자주 사용하는 $의 용도에 대해 알아보자. $이 굉장히 자주 쓰이기 때문에 한번 정리하면 좋을 거 같아서 이번 포스팅을 작성하게 됐다.   주로 사용되는 $의 용도는 다음과 같다. 용도예시변수 참조$변수명, $USER특수 변수$1, $2, $0, $@, $?, $$, $# 명령어 치환$(command)변수 확장${var), $(var:-default}배열, 리스트 참조${list[0]}, ${list[@]}리터럴 $\$ 선언된 지역 변수와 환경 변수를 $를 이용해 참조하는 것은 이미 어느 정도 익숙할테니, 다른 용도들에 대해서만 이번 포스팅에서 다뤄보겠다. 변수 선언 또는 참조가.. 2024. 11. 16.
[Linux] Local Repository 만들기 1. Repository가 뭐야? Local Repository는 왜 필요해? Repository란 rpm 기반의 Linux 소프트웨어 패키지들이 저장된 저장소이다. Repository는 일반적으로 외부의 서버에 존재하기 때문에 /etc/yum.repos.d 디렉토리에 저장된 정보를 기반으로 원격으로 rpm 패키지를 가져오게 된다. Linux를 사용하다 보면 rpm 명령어를 이용해 소프트웨어 패키지를 설치하는 경우도 있지만,  rpm 명령어를 사용할 경우, 의존성 문제를 직접 해결해야 하기 때문에, 네트워크가 된다면 dnf(yum)을 사용해 패키지를 설치하는 경우가 훨씬 편리하다는 것을 알 수 있다.   그렇다면 사내 폐쇄망 같은 상황에서는 그냥 rpm으로 할 수 밖에 없는 것일까? 패키지를 다운 받아야.. 2024. 10. 16.
[DB] Character Set(문자 집합) *Rocky Linux 9.4와 MariaDB 기반으로 정리한 포스팅입니다.  1. 문자 집합? 인코딩? 디코딩? 문서를 열어보다 보면 간혹 외계어처럼 한글이 깨져서 보일 때가 있다. 이럴 때 흔히 나오는 단어들이 캐릭터 셋(character set), 인코딩(incoding)이런 단어일 것이다. 캐릭터 셋과 인코딩이란 무엇일까? 먼저 문자 집합(character set)은 정보를 표현하기 위한 글자나 기호의 집합을 정의한 것이다. 문자나 기호를 컴퓨터에서 저장하거나, 통신에 사용하기 위해서는 문자나 기호를 바이너리 형식(이진수)로 변환해야 하는데, 이러한 과정을 인코딩(incoding, 부호화)라고 하며, 인코딩된 문자 부호를 다시 디코딩(decoding)해서 원래의 문자나 기호로 표현할 수 있다.  .. 2024. 10. 14.
[Linux] e-mail(Mail Server) 우리가 사용하는 이메일의 체계는 겉보기엔 단순해보이지만, 세부적으로 보면 여러 메일 서버 구성 주체들과 프로토콜들의 상호 작용으로 운영되는 상당히 복잡한 체계를 가지고 있다. 이번 포스팅에서는 이메일 체계의 구성 및 통신 과정에 대해 설명해보려한다.  1. 이메일 통신 과정 이메일은 다음과 같은 과정을 거쳐 수신자에게 도착하게 된다. 아래의 설명을 참고하여 대략적인 과정을 파악하도록 하자. 메일 서버 구성 요소와 관련 프로토콜들에 대해서는 추후 더 자세히 다룰 예정이다.  1) 다른 도메인끼리의 메일 전송 과정  발신 이메일: pororo@naver.com수신 이메일: crong@daum.net 1. pororo는 MUA를 이용하여 메일을 작성하고, naver.com 도메인의 MTA(보내는 메일 서버)로.. 2024. 10. 9.
[Linux] FTP 1. 파일 전송 서비스/프로토콜: FTP(File Transfer Protocol)FTP(File Transfer Protocol)은 인터넷을 통해 파일을 전송하는데 사용되는 표준 네트워크 프로토콜이자 서비스이다. 하지만 FTP를 이용해서 파일을 다운받아 본 사용자는 거의 없을 것이다. 일반적으로 FTP는 개발자, 엔지니어들이 서버 운영을 위한 목적으로 파일을 업로드/다운로드 할 때 많이 사용하며, 큰 파일이나 많은 파일을 안정적으로 빠르게 업로드/다운로드 할 수 있다는 장점이 있다.   일반적으로 FTP는 TCP 20, 21번 포트를 이용한 평문 통신으로 알려져 있지만, 실제로는 통신 방식에 따라서 랜덤 포트를 사용하는 경우도 있다(뒤에 FTP의 동작 방식과 관련한 부분에서 더 자세히 다루도록 하겠다).. 2024. 10. 7.
[Linux] DNS part 2 1. 네임 서버 이중화/다중화와 영역 전송(Zone Transfer)  cmd(명령 프롬프트) 창을 열어 다음과 같이 구글 도메인(google.com)의 권한 있는 네임서버(Authoritative NS)를 검색해 보면 이러한 결과가 나온다. 왜 네임 서버를 여러 개 두는 걸까? 반대로 만약 네임 서버가 한 대만 있다고 가정해 보자. 그런 상황에서 해당 서버에 오류가 발생하여 다운된다면 무슨 일이 일어날까? 도메인 네임을 이용하여 구글 사이트에 접속하는 것이 불가능할 것이다. URL에 구글 웹 서비스 서버의 IP 주소를 입력하여 직접 들어가는 것은 가능하겠지만, 이러한 방법을 모르는 대부분의 사용자들에게는 인터넷 서비스가 마비된 것처럼 보일 것이다. 이러한 상황을 방지하여 고가용성(High Availab.. 2024. 10. 3.