본문 바로가기

OS/Linux88

[Linux] 셸 스크립트(3) 안녕하세요. BTC95입니다. 오늘도 셸 스크립트에 대하여 알아보겠습니다. 변수 변수는 필요한 값을 계속 변경해서 저장한다는 개념입니다. 셸 스크립트의 구조는 변경할 필요가 없는데 설정해야 하는 값이 상황에 따라 다르다면 변수에 필요한 값을 계속 바꿔가는 방법으로 프로그래밍해서 다양한 상황에 대처할 수 있습니다. 변수 기본 셸 스크립트에서는 변수를 사용하기 전에 미리 선언하지 않으며, 처음 변수에 값이 할당되면 자동으로 변수 생성 변수에 넣는 모든 값은 문자열로 취급. 즉, 숫자를 입력해도 문자로 취급 변수 이름은 대소문자를 구분 변수를 대입할 때 '=' 좌우에 공백이 없어야 함 변수의 입력과 출력 $ 라는 문자가 들어간 글자를 출력하려면 ' ' 로 묶어주거나 앞에 \ 를 붙여야 합니다. 또한 " " 로.. 2023. 1. 26.
[Linux] 셸 스크립트(2) 안녕하세요. BTC95입니다. 오늘도 이어서 리눅스 셸 스크립트에 대하여 알아보겠습니다. 셸 스크립트 프로그래밍 리눅스는 대부분을 C 언어로 작성했기 때문에 셸 스크립트도 C 언어와 유사한 방법으로 프로그래밍이 가능합니다. 그래서 프로그래밍 언어를 다뤄본 적이 있다면 보다 쉽게 셸 스크립트를 공부할 수 있습니다. 셸 스크립트도 일반적인 프로그래밍 언어와 비슷하게 변수, 반복문, 제어문 등을 사용할 수 있습니다. 또한 별도로 컴파일하지 않고 텍스트 파일 형태로 셸에서 바로 실행할 수 있습니다. 그래서 셸 스크립트는 주로 vi 에디터나 gedit으로 작성하는 편입니다. 셸 스크립트 작성 vi name.sh #!/bin/sh특별한 형태의 주석으로 bash를 사용하겠다는 의미 echo "사용자 이름: " $US.. 2023. 1. 19.
[Linux] 셸 스크립트(1) 안녕하세요. BTC95입니다. 오늘은 리눅스의 셸에 대하여 알아보겠습니다. 셸 셸은 사용자가 입력한 명령을 해석해 커널로 전달하거나, 커널의 처리 결과를 사용자에게 전달하는 역할을 합니다. 쉽게 말해 Server의 텍스트 모드나 X 윈도의 터미널 처럼 명령을 입력하는 환경이 셸이라고 생각해도 됩니다. CentOS의 bash 셸 CentOS에서 기본적으로 사용하는 셸은 bash(Bourne Again Shell)입니다. 배시 셸이라고도 읽습니다. 더보기 bash의 특징 Alias 기능(명령어 단축 기능) History 기능 연상 기능 Job Control 기능 자동 이름 완성 기능 프롬프트 제어 기능 명령 편집 기능 환경 변수 셸은 여러 가지 환경 변수 값을 갖는데, 설정된 환경 변수는 echo $환경변수.. 2023. 1. 17.
[Linux] LVM의 개념과 이해 안녕하세요 BTC95입니다. 오늘은 리눅스의 논리 볼륨인 LVM에 대해 알아보겠습니다. LVM LVM은 Logical Volume Manager의 약자로 '논리 하드디스크 관리자'라는 의미를 가지고 있습니다. LVM은 Linear RAID와 기본 기능은 비슷해 보이지만 더 많은 기능이 있습니다. 그래서 CentOS는 기본적으로 설치 시 LVM으로 하드디스크를 분할해서 설치합니다. LVM의 주요 용도는 여러 개의 하드디스크를 합쳐서 1개의 파티션으로 구성 후, 다시 필요에 따라 나누는 것입니다. 또는 1개의 하드디스크를 LVM으로 구성하고 다시 파티션을 구분할 수도 있습니다. 예시로 2TB의 하드디스크 2개를 합친 후 다시 1TB와 3TB로 나눠서 사용이 가능합니다. RAID와 달리 LVM에서는 새로운 용.. 2023. 1. 5.
[Linux] Name Server 안녕하세요. BTC95입니다. 오늘은 리눅스 네임서버에 대하여 알아보겠습니다. Name Server 네임서버는 DNS(Domain Name System) 서버라고도 합니다. 우리가 웹 브라우저나 FTP 클라이언트를 사용할 때 http://www.bespinglobal.com/ 과 같은 URL을 사용하는데, 실제 원하는 서버에 접근하려면 이 URL을 해당 컴퓨터의 IP 주소로 변환시켜야 합니다. 바로 이 일을 담당하는 것이 네임 서버 또는 DNS 서버라고 하는 컴퓨터입니다. 네트워크에서 컴퓨터를 구분하는 유일한 방법은 IP 주소입니다. 즉, 인터넷에 연결된 모든 컴퓨터에는 중복되지 않는 IP 주소가 있습니다. 그러므로 독자가 자주 접속하는 웹 서버나 FTP 서버의 IP 주소를 모두 안다면, DNS 서버를 .. 2022. 12. 29.
[Linux] RAID - 2 안녕하세요. BTC95입니다. 오늘은 RAID 레벨에 대해서 알아보겠습니다. RAID 레벨 RAID는 기본적으로 구성 방식에 따라 Linear RAID, RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5의 일곱 가지로 분류할 수 있습니다. 실무에서 주로 사용하는 방식은 Linear RAID, RAID 0, RAID 1, RAID 5와 RAID5의 변형인 RAID 6, RAID 1과 0의 혼합인 RAID 1+0 등이 있습니다. 단순 볼륨 하드디스크 하나를 볼륨 하나로 사용하는 방법이며 RAID 방식에는 포함되지 않음 Linear RAID와 RAID 0 두 방식 모두 최소 2개의 하드디스크가 필요 2개 이상의 하드디스크를 1개의 볼륨으로 사용하다는 점은 비숫해 보이지만, 가.. 2022. 12. 22.
오프라인 Docker 설치방법 안녕하세요 BTC 백만장작입니다 제가 운영하고 있는 시스템의 서버들은 Jumphost 서버를 제외하면 대부분 오프라인 환경의 서버입니다. 오늘은 이와 같은 오프라인 서버에서 Docker 설치하는 방법을 소개하려 합니다. OS는 CentOS 7 기준입니다. 1.필요 패키지 yum 설치 yum -y install yum-utils device-mapper-persistent-data lvm2 2.docker ce 바이너리 설치 1. selinux 설치 정보 : https://centos.pkgs.org/7/centos-extras-x86_64/container-selinux-2.119.2-1.911c772.el7_8.noarch.rpm.html 바이너리 : http://mirror.centos.org/cen.. 2022. 12. 21.
리눅스 압축 관련 명령어 안녕하세요 BTC 백만장작입니다 오늘은 리눅스에서 자주 사용하는 압축 관련 명령어를 함께 공부해보려 합니다. 리눅스를 사용하다 보면, tar 혹은 tar.gz로 압축을 하거나 압축을 풀어야 할 경우가 자주 생깁니다. 이를 처리하기 위해 리눅스에서는 tar 라는 명령어를 사용하게 되는데, tar 명령어도 여러가지 옵션이 있지만 오늘은 자주 사용하는 명령어 패턴만 정리해보기로 하였습니다. 1. tar로 압축하기 > tar -cvf [파일명.tar] [폴더명] ex) abc라는 폴더를 aaa.tar로 압축하고자 한다면 > tar -cvf aaa.tar abc 2. tar 압축 풀기 > tar -xvf [파일명.tar] ex) aaa.tar라는 tar파일 압축을 풀고자 한다면 > tar -xvf aaa.tar .. 2022. 12. 21.