-
2021.11.10
Google Cloud Platform(GCP) 무료로 사용하기 (Compute Engine)
Google Cloud Platform(GCP) 무료로 사용하기 (Compute Engine) 개요 지금까지 AWS EC2를 통해 학습 목적으로 리눅스 서버를 이용해왔었다. 하지만, 최근에 무료 사용 기간이 지나 조건을 충족함에도 불구하고 요금이 청구되어(...) 바로 인스턴스 삭제 및 회원탈퇴를 하고, 무료 서비스를 제공하는 다른 플랫폼인 Google Cloud Platform(GCP)으로 옮기기로 하였다. 리눅스마스터 1급 자격증 취득을 위해 레드햇 계열의 CentOS 7 을 사용해야 했고, GCP를 통해 이러한 종류의 서버를 만드는 것이 가능했다. 무료 사용 조건 (2021. 11. 10. 기준) 다음 미국 내 리전 중 한 곳에서 비선점형 e2-micro VM 인스턴스 1개/월 오리건: us-wes..
-
2021.03.09
cat 과 리다이렉션(Redirection)
cat과 리다이렉션(Redirection) 리다이렉션은입출력의 방향을 바꾸는 역할을 함. 기본적으로 4가지 기호로 되어 있음. > 출력 전환 표준 출력인 모니터에서 파일이나 기타 장치로 전환 >> 특수 출력 보통 파일로 저장할 때, 파일의 뒷부분에 추가되어 덧붙여짐. > a.txt // 기존의 a.txt 라는 파일이 존재하면 그 파일에 표준 입력(키보드)으로 부터 받은 내용을 추가함. // 만약 a.txt 라는 파일이 존재하지면 '>'와 역할이 같음. $ cat < a.txt // a.txt 라는 파일로..
-
2021.02.11
[CentOS] 부팅 모드 변경 방법 (GUI/TEXT)
■ CentOS 6버전 이하 # vi etc/inittab - 런레벨을 5로 수정 ... id:5:initdefault: // 5로 수정 ※ 참고 0. 시스템 중지 1. 단일 사용자 모드 2. NFS 기능을 제외한 다중 사용자 모드 3. 모든 기능을 포함한 다중 사용자 모드, 콘솔 모드 4. 사용하지 않음. 5. X-Window로 부팅 6. 시스템 리부트 런레벨 1은 주로 시스템을 복구하거나 루트 계정의 비밀번호를 잃어버렸을 때 사용. 런레벨 0번과 6번은 시스템 종료와 관련이 있음. 런레벨 3번과 5번은 사용자 로그인 메뉴를 볼 수 있음. 런레벨 4번은 시스템 예약값으로 사용되지 않음. 런레벨 5번은 그래픽 환경을 띄우기 위해 사용됨. - 시스템 재부팅 # reboot ■ CentOS 7버전 이상 - ..
-
2020.08.29
vim 설정 변경하는 방법 (탭 공백 4칸으로 바꾸기)
vim의 설정을 변경하려면 홈 디렉토리(~)에 .vimrc 파일을 생성한 후, 이 파일에 설정하고 싶은 내용을 입력해주면 된다. ubuntu@ip-172-xx-xx-xx:~$ cd ~ubuntu@ip-172-xx-xx-xx:~$ vim .vimrc vim에서 탭(Tab) 버튼을 누르면 기본으로 8칸의 공백이 생기는데 이것을 4칸으로 바꾸려면 .vimrc 파일에 다음과 같은 내용을 입력해주면 된다. > .vimrc set smartindentset tabstop=4set expandtabset shiftwidth=4
-
2020.08.25
[리눅스] 쉘(Shell) 프로그램 구현 (execl(), execlp() 사용)
쉘(Shell) 프로그램 구현 (execl(), execlp() 사용) 리눅스에서 C 언어의 `execl()`, `execlp()` 함수를 사용하여 쉘 프로그램을 구현할 수 있다. ■ `execl()`, 함수를 사용하여 쉘 프로그램 구현하기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 #include #include #include #include #include #include #define MAXLINE 64 int main(int argc, char **argv) { char buf[MAXLINE]; pid_t pid; printf("TestShell ver 1.0\n..
-
2020.08.20
XShell 또는 PuTTY를 이용하여 AWS EC2 Ubuntu Server에 연결하기
*XShell 또는 PuTTY를 이용하여 AWS EC2 Ubuntu Server에 연결하기 AWS EC2 설정1. 인스턴트 생성 : Ubuntu Server (ex: Ubuntu Server 20.04 LTS (HVM), SSD Volume Type)2. 키 페어 생성 & .pem 파일 저장3. [네트워크 및 보안] 탭 → [탄력적 IP] → [탄력적 IP 주소 할당] → 할당 후 [탄력적 IP 주소 연결] → 인스턴스 : (생성한 인스턴스) 선택 후 [연결]4. [인스턴스] 탭 → 생성한 인스턴스의 , , 확인 XShell 설정- [파일] 탭 → [새로 만들기]- [연결] 탭- 이름 : (임의 설정) (ex: AWSEC2_Ubuntu)- 호스트 : AWS EC2의 IP 입력- [사용자 인증] 탭- 방법..
-
2020.05.05
우분투 su: Authentication failure 오류 해결 방법
가상머신에 우분투(Ubuntu)를 설치한 후 root 권한을 얻기 위해 'su root' 명령어를 입력했는데 'su: Authentication failure' 오류가 났다.이 문제는 초기에 root 비밀번호가 설정되어 있지 않아서 발생하는 문제이다.따라서 'sudo passwd root' 명령어를 입력하여 root 비밀번호를 설정한 후에 root 권한을 얻으면 된다.
-
2020.03.27
리눅스 gcc 명령어
리눅스 c 컴파일전처리 컴파일 링크 빌드 설명전처리 단계 -> 컴파일 단계 -> 어셈블 단계 -> 링크 단계(.c) (.i) (.s) (.o) (a.out).c 파일이 전처리 단계를 거쳐서. i 파일 (전처리된 c 파일) 이 생성되고.i 파일이 컴파일 단계를 거쳐서. s 파일 (어셈블리어 파일) 이 생성되고.s 파일이 어셈블 단계를 거쳐서. o 파일 (오브젝트 파일) 이 생성되고.o 파일이 링크 단계를 거쳐서 a.out 파일 (실행파일) 이 생성되는 것이다. 전처리위의 소스코드에서 #include로 시작하는 것을 전처리 기라고 부릅니다.전처리 과정에서는 소스코드를 처리하기 쉽게 재구성하는 과정입니다.위의 #include 부분은 stdio.h 파일을 포함시키겠다는 의미인데 전처리 과정에서 저 파일에..
-
2017.12.07
greetings 프로그램 (쉘 프로그래밍)
Q. 파일 조건 (if-then-elif-else) 구조를 사용한 명령을 이용해 주어진 시간에 따라 적절한 인사말, 즉 12시 이전에는 Good morning이라는 메시지를 출력하고, 12시와 18시 사이에는 Good Afternoon이라는 메시지를, 그 이후에는 Good Evening을 출력하는 스크립트를 작성하시오. 파일 이름 : greetings date 명령 기능 실행 예 : $ date # 날짜와 시간을 출력 $ date +%H # 오직 시간만을 출력 $ date '+DATE: %m-%d-%y' # 하이픈(-)으로 구분된 날짜를 출력 $ date '+TIME: %H:%M:%S' # 콜론(:)으로 구본된 시간을 출력 A. my_cp1 : cp 명령 사용 #!/bin/bash # # greeting..
-
2017.12.06
cp 명령어 구현 (쉘 프로그래밍)
Q. 두 파일의 이름을 인자로 받아 다음과 같이 복사하는 스크립트를 작성하시오. 단, my_cp1은 cp명령을 사용해 스크립트 안에서 파일 내용을 복사하고, my_cp2는 cp 명령 대신 파일 내용을 직접 읽어서 복사하시오. 파일 이름 : my_cp 동작 예 : $ my_cp . file (오류 체크) 첫 번째 인자는 일반 파일이어야 합니다. $ my_cp file1 file2 (file1을 file2로 복사) $ my_cp file1 dir1 (file1을 dir1 아래로 복사) $ my_cp file1 사용 방법 : my_cp 파일 이름 파일 또는 my_cp 파일 이름 디렉토리 이름 A. my_cp1 : cp 명령 사용 #!/bin/bash file1=$1 file2=$2 if [[ ! -f $fil..
-
2017.11.28
스크립트 작성하기
sys1798@linux:~/bin$ script scriptexample Script started, file is scriptexample sys1798@linux:~/bin$ ls -al total 100 drwxr--r-- 2 sys1798 sys1798 4096 Nov 28 15:52 . drwxr-xr-x 15 sys1798 sys1798 4096 Nov 28 15:42 .. -rwxr--r-- 1 sys1798 sys1798 149 Nov 16 15:53 find_script -rw-rw-r-- 1 sys1798 sys1798 18 Nov 28 15:13 list -rw-rw-r-- 1 sys1798 sys1798 0 Nov 28 15:52 scriptexample -rwxr--r-- 1 s..
-
2017.11.07
아스키 코드값 확인하기
$ man ascii ASCII(7) Linux Programmer's Manual ASCII(7) NAME ascii - ASCII character set encoded in octal, decimal, and hexadecimal DESCRIPTION ASCII is the American Standard Code for Information Interchange. It is a 7-bit code. Many 8-bit codes (such as ISO 8859-1, the Linux default character set) contain ASCII as their lower half. The international counterpart of ASCII is known as ISO 646. The..
-
2017.11.07
현재 디렉토리에서 파일(디렉토리) 개수 구하기
현재 디렉토리에서 파일(디렉토리) 개수 구하기 * 현재 디렉토리에서 파일 개수 구하기 $ ls -l | grep ^- | wc -l // 현재 디렉토리에서 파일 개수 구하기 22 * 현재 디렉토리에서 디렉토리 개수 구하기 $ ls -l | grep ^d | wc -l // 현재 디렉토리에서 디렉토리 개수 구하기 10 * 현재 디렉토리에서 파일과 디렉토리 개수 구하기 $ ls –F | grep –v ‘/$’ | wc –l // 현재 디렉토리에서 파일과 디렉토리 개수 구하기 32 * 현재 디렉토리에서 파일과 디렉토리 개수 구하기 $ ls –F | egrep –v ‘*/’ | wc -w // 현재 디렉토리에서 파일과 디렉토리 개수 구하기 32 * 현재 디렉토리에서 파일 개수 구하기 (하위 디렉토리 포함) $ ..
-
2017.09.12
Hard Link & Soft Link
sys1798@linux:~$ clear sys1798@linux:~$ ls -l total 44 drwxrwxr-x 3 sys1798 sys1798 4096 Sep 12 12:57 C drwxrwxr-x 2 sys1798 sys1798 4096 Sep 12 12:56 cd drwxrwxr-x 2 sys1798 sys1798 4096 Sep 7 15:13 dir -rw-r--r-- 1 sys1798 sys1798 8445 Aug 31 15:36 examples.desktop -rw-rw-r-- 1 sys1798 sys1798 13 Sep 7 16:38 ln.txt drwxrwxr-x 4 sys1798 sys1798 4096 Sep 12 12:52 test drwxrwxr-x 2 sys1798 sys179..