분류 전체보기 259

[Linux] 서버 구축 실습_Telnet(텔넷)

1. 패키지 설치 여부 확인 2. 패키지 설치 및 확인 3. 서비스 시작 4. 방화벽에 서비스 등록 5. 방화벽에 서비스 허용 확인 6. 서비스 정상 확인 1. 패키지 설치 여부 확인 먼저 서버 환경에서 telnet-server가 설치되어 있는지 확인하겠습니다. [root@localhost ~]# rpm -qa telnet-server [root@localhost ~]# 2. 패키지 설치 및 확인 설치가 되어있지 않습니다. yum 명령어로 텔넷 서버를 설치 후 다시 확인해보겠습니다. [root@localhost ~]# yum -y install telnet-server ( ... 생략 ... ) Installed: telnet-server.x86_64 1:0.17-66.el..

[Linux] 리눅스 서버 구축 실습 _ 클라이언트 환경 설정

이번 포스팅에서는 간단하게 리눅스 텔넷 서버를 구축하겠습니다. [Linux] VMware에 리눅스 CentOS7 설치하기_3 포스팅에서 서버 역할의 CentOS7은 ip를 192.168.100.100으로 맞춰뒀습니다. 미리 클라이언트도 VMware에 추가하겠습니다. 서버는 있으니 클라이언트도 생성..해야 하지만 시간을 절약하기 위해 서버 폴더를 통째로 복사 후 불러오겠습니다. 현재 서버 역할을 하는 CentOS7-1 폴더를 CentOS7-1-Client1이라는 이름으로 복사하였습니다. 복사한 폴더를 VMware에 추가하겠습니다. Home탭에서 Open a Virtual Machine 클릭합니다. 아까 복사한 CentOS7-1-Client1 폴더 안에 vmx 파일을 불러옵니다. 하지만 기존의 CentOS7..

[Linux] 리눅스 패키지 관리 시스템

리눅스에서의 "패키지"란 윈도우상에서의 "인스톨러"와 유사한 개념입니다. 즉, 소프트웨어를 실행하는데 필요한 파일들이 담겨 있는 설치 파일 묶음입니다. 실행 파일, 설정 파일, 라이브러리 등이 담겨있습니다. [ rpm ] - Readhat Package Manager - Readhat 계열에서 사용하는 패키지 명령어 - 확장명은 *.rpm이며, 이를 패키지(Package)라고 부른다. rpm 설치 : rpm – Uvh [패키지 파일이름] - U : 패키지를 업그레이드 한다. - v : 상세 정보를 표시한다. - h : 설치 및 업그레이드 진행 상태를 표시한다. rpm 삭제 : rpm –e lvm2 - e : 패키지를 삭제한다. 이미 설치된 패키지 확인 - rpm –qa ..

[Linux] 리눅스 셸 스크립트 프로그래밍_2

[ if문과 case문 ] (1) 기본 if문 if [조건] then 참일 경우 실행 fi exit 0 - [ 조건 ] 사이의 각 단어에는 모두 공백이 있어야 한다. (2) if ~ else문 - 참인 경우와 거짓인 경우를 구분해서 실행한다. if [조건] then 참일 경우 실행 else 거짓일 경우 실행 fi exit 0 (1) 문자열 비교 연산자 1) “문자열1” = “문자열2” --> 두 문자열이 같으면 참 2) “문자열2” != “문자열2” --> 두 문자열이 같지 않으면 참 3) -n “문자열” --> 문자열이 NULL이 아니면 참 4) -z “문자열” --> 문자열이 NULL이면 참 (2) 산술 비교 연산자 1) 수식1 –eq 수식2 --> 두 수식..

[C] C언어의 포인터 및 메모리_3

[C] C언어의 포인터 및 메모리 포스팅에서 메모리 관련 연산자는 두 가지가 있다고 언급했습니다. [ 메모리 관련 연산자 ] 1. & : 주소 연산자 2. * : 포인터 연산자 이번 포스팅에서는 포인터 연산자의 기초 사용법에 대해 알아보겠습니다. 포인터 변수는 말 그대로 변수입니다. 하지만, 주소만을 담을 수 있기 때문에 포인터 변수라고 부릅니다. [ 포인터 연산자( * )의 사용법_1 ] 포인터 연산자인 * 을 사용하여 포인터 변수를 선언할 수 있습니다. ex) int * p; // int형의 포인터 변수 p를 선언 하지만, 변수에서의 자료형과는 차이가 있습니다. 위 예시에서의 자료형 int는 포인터 변수 자체의 자료형이 아닙니다. 포인터가 가리키고 있는 변수의 자료형을 뜻합니다. int a = 10;..

[C] C언어 기초 2022.04.09

[C] C언어의 포인터 및 메모리_2

[C] C언어의 포인터 및 메모리 포스팅에서 배열의 주소와 그 배열의 첫 번째 index의 주소는 "같다"라고 말했습니다. 예시 코드로 알아보겠습니다. 아래 예시에서 길이가 3인 int형의 배열 a를 선언하는 동시에 a[0]은 10, a[1]은 20, a[2]는 30으로 초기화했습니다. 주소 연산자인 &를 사용해서 a[0], a[1], a[2]의 주소값을 불러왔습니다. 위 코드의 실행 결과는 아래와 같습니다. 메모리는 우리가 정하는 것이 아닌 컴퓨터가 자동으로 정해주는 것이기 때문에 아래에서의 주소값은 항상 바뀝니다. 주소값을 형식 문자(서식 지정자)를 사용하여 정수형으로 받았기 때문에 음수가 나올수도, 양수가 나올 수도 있습니다. 저희가 주목해야 할 것은 두 가지입니다. 첫 번째는 a[0], a[1],..

[C] C언어 기초 2022.04.08

[C] C언어의 포인터 및 메모리

포인터에 대해 알아보기 전, [C] C언어의 함수와 변수 포스팅에서 언급했던 자료형을 다시 보겠습니다. [ C언어에서의 자료형 ] - 정수 short : 2byte - 정수 int : 4byte - 실수 float : 4byte - 실수 double : 8byte - 문자 char : 1byte [ 포인터(Pointer)란? ] - C언어에서의 포인터는 "주소를 저장하는 변수"입니다. - 포인터는 "포인터 변수"라고 부릅니다. - C언어의 장점 중 하나가 바로 포인터(포인터 변수)이지만, C언어를 처음 배울 때 어려운 이유이기도 합니다. [ 포인터(Pointer) 사용 시 장점? ] - 메모리 주소를 참조해서 다양한 자료형 변수들의 접근과 조작이 용이합니다. - 메모리 주소를 참조하여 배열과 같은 연속된..

[C] C언어 기초 2022.04.07

[Linux] 리눅스 셸 스크립트 프로그래밍

이번 포스팅에서는 리눅스의 셸 스크립트(쉘 스크립트, Shell Script) 프로그래밍에 대해 다뤄보겠습니다. [ 리눅스에서 셸 스크립트 프로그래밍이 필요한 이유 ] 리눅스에서 코딩이 필요한 대표적인 이유는 시간 절약과 편의성 때문입니다. 리눅스에서 셸 스크립트를 잘 사용한다면 명령어만으로 운용하는 것보다 훨씬 편하고 시간도 절약할 수 있기에 알아두면 좋습니다. [ Bash Shell의 특징 ] - Alias (명령어 단축키) - History - 자동 완성 기능 - 프롬프트 제어 기능 - 명령어 편집 기능 [ 셸 스크립트의 특징 ] 1. C언어와 유사하게 프로그래밍이 가능 (리눅스는 C로 만들어짐) 2. 변수, 반복문, 제어문 등의 사용이 가능 3. 별도로 컴파일하지 않고 텍스트 파일 형태로 바로 실..

[C] C언어 연습문제

지금까지 포스팅한 내용을 바탕으로 연습문제를 풀어보겠습니다. (문제에 대한 풀이는 아래에 있습니다.) [ 문제 1. ] 아래 그림과 같이 문자열을 입력받아서 역순으로 출력하는 프로그램을 만드시오.( scanf( ) 이용 ) [ 문제 2. ] 아래 그림과 같이 문자열을 입력받아서 선택한 문자를 변경하는 문자를 만드시오. 풀이에 앞서 제가 풀이한 내용은 "좋은 코딩"이 아닐 수 있음을 밝힙니다. 더 나은 방법이나 다른 방법이 있다면 댓글로 알려주시면 감사하겠습니다. [ 문제 1 풀이 ] //4행 : char형 배열로 크기는 넉넉하게 100 정도 잡아줬습니다. //5행 : 9행의 strlen(ch)의 크기를 저장할 int형 변수 i를 선언하였습니다. //7행 : 배열 ch에 문자열 입력을 받습니다. //9행 ..

[C] C언어 기초 2022.04.05

[C] C언어 기초 함수

이번 포스팅에서는 C언어에서 사용하는 기초 함수들에 대해 알아보겠습니다. 문자열 함수를 사용할 때는 전처리 지시자 #include 를 사용해야 합니다. [ sizeof( ) ] - 크기를 구하는 함수 (자세한 설명은 →[C] C언어의 배열(array)←포스팅으로) [ strlen( ) ] - 문자열의 길이 값을 찾아내는 함수 [ strcpy( ) ] - 문자열 복사 함수 [ strcat( ) ] - 문자열 연결 함수 [ strcmp( ) ] - 문자열 비교 함수 - 결과가 0이 나오면 비교 문자열이 같은 것이고, 0 이외의 다른 결과가 나오면 비교 문자열이 다른 것이다. [ gets( ) ] - 문자열 입력 함수 - scanf와 달리 gets()는 NULL값을 포함한다. - scanf는 공백 뒤의 문자열..

[C] C언어 기초 2022.04.04