본문 바로가기

Engineer

(29)
[리눅스] 우분투 ubuntu에 필요한 SQL 구문 자주 쓰는 용어 단위 크기 tinyint 1byte smallint 2byte char(50) varchar(50) 스키마 : 테이블에 적재될 데이터의 구조와 형식 CRUB-> Create, read-select, update, delete select from where group by order by 우분투에서 SQL실행하기 DB확인하기 show databases root@ubuntu:~# mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 31 Server version: 10.6.12-MariaDB-0ubuntu0.22.04.1 Ubuntu 22.04 Copyright (c) 20..
[리눅스] 우분투 ubuntu 방화벽 리눅스에서의 설치 ufw disable apt -y install iptables-persistent netfilter-persistent apt-get install net-tools root@ubuntu:~# iptables -A INPUT -p tcp --dport 23 -j DROP root@ubuntu:~# iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination DROP tcp -- anywhere anywhere tcp dpt:telnet Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target..
[리눅스] 우분투 ubuntu owncloud로 웹하드 만들기 설치하기 add-apt-repository ppa:ondrej/php apt update -y apt -y install php7.2 libapache2-mod-php7.2 php7.2-common php7.2-curl php7.2-mbstring php7.2-mysql php7.2-gd php7.2-xml php7.2-intl php7.2-ldap php7.2-imagick php7.2-json php7.2-cli php7.2-zip apt -y install apache2 mariadb-server mariadb mysql_sercure installation owncloud 다운로드 https://owncloud.com/older-versions/ Older Versions - ownCloud Ch..
[Golang]Go 언어 산술 연산자, 비트 연산자, 시프트 연산 GOlang의 산술연산자 구분 연산자 연산 피연산자타입 사칙연산과 나머지 + 덧셈 정수, 실수, 복수, 문자열 - 뺄셈 정수, 실수, 복소수 * 곱셈 / 나눗셈 % 나머지 정수 비트연산 & AND비트연산 정수 | OR비트연산 ^ XOR비트연산 &^ 비트클리어 시프트연산 양의정수 GO 언어는 모든 연산자에서 타입이 같아야 한다. package main import "fmt" func main() { var x int32 = 10 var y int32 = 3 var s float32 = 3.14 var t float32 = 5 fmt.Println("x+y=", x+y) fmt.Println("x-y=", x-y) fmt.Println("x*y=", x+y) fmt.Println("x/y=", x-y) fm..
[리눅스] 우분투 ubuntu 각종 스크립트 개요 이번장에서는 다양한 스크립트와 결과물에 대해서 적어보겠다. 사용자 정의 함수 nano function.sh #!/bin/bash Function () { echo "나는 함수다" return } echo "프로그램을 시작합니다." Function echo "프로그램을 종료하겠습니다." exit 0 root@server:~# sh function.sh 프로그램을 시작합니다. 나는 함수다 프로그램을 종료하겠습니다. 함수파라미터 nano parafunction.sh #!/bin/bash plus () { echo `expr $1 + $2` } echo "100더하기 20을 실행합니다." plus 100 20 exit 0 root@server:~# sh parafunction.sh 100더하기 20을 실행..
[리눅스] 우분투 ubuntu 조건문, 반복문 if, case, while, for IF 구문 nano if.sh #편집기 창을 연다. #!/bin/bash if [ "bang"="bang" ] #공백이 중요하다. then echo "참을 출력합니다." fi exit 0 결과는 다음과 같다. root@server:~# sh if.sh 참을 출력합니다. IF ELSE 구문 nano ifelse.sh #편집기 창을 연다. #!/bin/sh if [ "bang" != "bang" ] then echo "거짓입니다." else echo "참입니다." fi exit 0 결과값은 다음과 같다. root@server:~# sh ifelse.sh 참입니다. 비교연산자 정리 문자열 결과 "문자열a"="문자열b" 두 문자열이 같으면 참 "문자열a"!="문자열b" 두 문자열이 같지 않으면 참 -n "문자열..
[리눅스] 우분투 ubuntu 셸 스크립트 - 변수 셸 스크립트 변수 개요 변수라는 것은 일종의 저장 창고이다. 어떠한 값을 할당하여 변수라는 곳에 저장한 것이다. 변수는 말 그대로 변화할 수 있다. 상황에 따라 필요한 값을 바꿔가면서 프로그래밍의 다양한 상황에 대처할 수 있다. 여기에는 몇가지 참고할 사항이 있다. 변수에 넣은 모든 값은 문자열(string)로 취급된다. 숫자를 넣어도 그것은 문자로 취급된다는 뜻이다. 또 대소문자를 확실히 구분하고 변수를 "="로 대입할 때 공백이 없어야 한다. 셸 스크립트 변수 실습 변수의 입력과 출력 각 줄을 비교하면 1~2줄은 내용을 출력하는 것을 볼 수 있다. 3~4줄은 $myvar라는 형식 그대로를 출력해 준다. read가 들어간 절은 입력한 문자에 대해서 출력해준다. 숫자계산 nano calc.sh -> 입력..
[리눅스] 우분투 ubuntu 셸과 셸스크립트, 환경변수 셸? 여기서 알아야 될 것은 커널과 셸이다. 커널은 시스템 속에서 제어하는 역할을 하는 것이라고 생각하면 되는데 이것에 직접 접근하기는 어렵다. 따라서 셸이라는 것을 통해 사용자가 입력한 것을 커널로 전달할 수도 있고 커널의 결과를 사용자에게 전달할 수 도 있다. 즉 커널과 사용자 중간에서 통신매체로 생각하면 된다. 우분투의 server모드나 X윈도의 터미널 처럼 명령어를 입력하는 것이라고 보면 된다. 우분투에서 기본적으로 사용하는 셸은 bash(Bourne Again Shell)이다. Korn Shell(ksh)과 C Shell(csh)의 장점을 모은 것이라고 생각해도 된다, bash는 다음과 같은 특징을 가진다. alias: 단축키 기능 예) alias c=clear 하면 c만 눌러도 화면이 청소된다..
[리눅스]우분투 ubuntu 사용자별 공간 할당하기-쿼터 쿼터 개요 리눅스는 여러 사용자가 동시에 접속해야 되기 때문에 사용자별로 용량을 제한하지 않으면 문제가 됩니다. 따라서 사용자별로 할당해 줘야 합니다. 여기서 나온 개념이 쿼터입니다. 쿼터란 것은 파일 시스템마다 사용자 혹은 그룹이 생성할 수 있는 파일의 용량의 개수를 제한하는 것을 말합니다. 루트(/)로 사용하면 시스템과 관련된 문제를 발생시킬 소지가 있습니다. 많은 사용자가 동시에 /를 사용한다면 성능이 저하될 수 있습니다. 따라서 루트보다는 별도의 파일 시스템을 지정하는 것이 여러 측면에서 좋은 생각입니다. STEP 1 파티션 생성 후 마운트 fdisk로 파티션 생성 후 디렉터리를 만들고 마운트 시킵니다. root@server:~# fdisk /dev/sdb Command (m for help): ..
[리눅스]우분투 ubuntu LVM 실습하기 LVM이란? LVM이란? Logical Volume Manager의 약자로 "논리 볼륨 관리자" "논리 하드디스크 관리자"라는 뜻입니다. 주요 기능은 여러 개의 하드디스크를 합쳐 한 개의 파티션을 구성한 뒤, 다시 필요에 따라 나누는 것입니다. 혹은 한 개의 디스크를 LVM으로 구성하고 다시 파티션으로 구분할 수 있습니다. 꼭 알아두어야 될 개념이 있습니다. *물리볼륨(Physical Volume): /dev/sda1과 같은 파티션 *볼륨그룹(Volume Group): 물리 볼륨을 합쳐서 1개의 물리그룹으로 만든 것 *논리볼륨(Logical Volume):볼륨 그룹을 1개 이상 나눈 것으로 논리적 그룹 만약에 3GB, 5GB의 2개의 하드디스크를 합쳐 8GB의 볼륨그룹으로 묶을 수 있습니다. 그 후 묶은..