파일유형

디렉터리일 경우에는 d, 일반적인 파일일 경우에는 -가 표시


파일 허가권

"rw-", "r--", "r--" 3개씩 끊어서 읽음 (r은 read, w는 write, x는 execute의 약자)

첫번째 "rw-"는 소유자(User)의 파일접근 권한

두번째 "r--"는 그룹의 파일접근 권한

세번째 "r--"는 그 외의 사용자의 파일접근 권한


소유자  그룹  그 외 사용자

r w -    r - -       r - -

4 2 0   4 0 0      4 0 0

  6         4           4


777이면 모두 허용이라는 뜻


# chmod

파일 허가권 변경 명령어

# chmod 777 sample.txt


파일 소유권

파일을 소유한 사용자와 그룹을 의미


# chown/chgrp 명령 -> root사용자만 사용가능

파일의 소유권을 바꾸는 명령어

# chown centos.centos sample.txt

# chown centos sample.txt 및 # chgrp centos sample.txt


심볼릭 링크

# chmod o-x test // 외부 사용자 실행권한 제거

# chmod ug-w test // 사용자,그룹 쓰기권한 제거

# chmod ugo-r test // 사용자, 그룹, 외부 읽기권한 제거

# chmod uo+rw test // 사용자, 외부 읽기,쓰기 권한 추가


심볼릭 링크를 사용하면 기존상태를 몰라도 된다.


링크

파일의 링크에는 하드링크과 심볼릭 링크 두가지가 있음.


하드링크를 생성하면 "하드링크파일"만 하나 생성되며 같은 inode1을 사용 (명령: #ln 링크대상파일이름 링크파일이름)

심볼릭링크를 생성하면 새로운 inode2를 만들고, 데이터는 원본파일을 연결하는 효과 (명령: #ln -s 링크파일대상이름 링크파일이름)


하드링크는 원본파일과 inode번호가 같다.



'CentOS' 카테고리의 다른 글

RPM 사용법, YUM 기본 사용법  (0) 2018.03.21
사용자 및 그룹 관리  (0) 2018.03.19
리눅스 기본 명령어  (0) 2018.03.19
마운트 CD/DVD  (0) 2018.03.19
vi 에디터 기초  (0) 2018.03.19

리눅스는 다중 사용자 시스템

기본적으로 root라는 이름을 가진 슈퍼유저가 있으며, 모든 작업을 할 수 있는 권한

모든 사용자를 하나 이상의 그룹에 소속되어 있음

사용자는 /etc/passwd 파일에 정의되어 있음


맨 앞은 사용자 이름 : 비밀번호(따로관리) : 사용자번호 : 그룹번호 : 전체이름(없어도 댐) : 홈디렉터리 : 사용할 기본 쉘


/etc/group

그룹 정보


# useradd

새로운 사용자를 추가

-u : ID 지정

-g : 그룹 지정

-d : 홈 디렉터리 지정

-s : 셀 지정


# passwd

사용자의 비밀번호를 지정하거나 변경

 

# usermod

사용자의 속성을 변경


# userdel

사용자를 삭제


# chage

사용자의 암호를 주기적으로 변경하도록 설정

# chage -m 2 newuser 사용자의 암호를 2일 이상은 사용


# groups

현재 사용자가 속한 그룹을 보여줌


# groupass

새로운 그룹을 생성


# groupmod

그룹의 속성을 변경


# groupdel

그룹을 삭제


# gpasswd

그룹의 암호를 설정하거나, 그룹의 관리를 수행


'CentOS' 카테고리의 다른 글

RPM 사용법, YUM 기본 사용법  (0) 2018.03.21
파일의 소유권/허가권, 링크  (0) 2018.03.19
리눅스 기본 명령어  (0) 2018.03.19
마운트 CD/DVD  (0) 2018.03.19
vi 에디터 기초  (0) 2018.03.19

# ls

 - Windows의 "dir"과 같은 역할로, 해당 디렉터리에 있는 파일의 목록을 나열


# ls /etc/sysconfig 특정폴더의 내용을 보여줌

# ls -a 숨긴파일까지 보여줌 (파일명 앞에 .이 붙으면 숨긴폴더)

# ls -l  폴더의 상세내용까지 보여줌 (앞에 - 면 그냥 파일 , d면 폴더)

# ls *.cfg // cfg파일을 보여줌

# ls -al 숨긴파일까지 상세하게 보여줌



# cd 

 - 디렉터리를 이동


# cd /etc/sysconfig // 해당 폴더로 이동

# pwd // 현재 디렉터리의 위치

# cd /  ->  가장 상위 폴더로 이동

/는 루트 디렉터리

# cd 는 /root로 이동(홈 디렉터리)

# cd ~centos 해당 사용자(centos)의 홈폴더로 이동


맨 앞부터 /로 들어가는것은 절대경로

# cd .. 현재 디렉터리의 바로 앞 디렉터리로 이동

# cd . 현재 디렉터리를 의미

.하나는 현재 ..두개는 상위 디렉터리를 의미


# touch file1 빈파일(file1)을 만드는 명령어

# rm file1 파일을 삭제

# rm -f 는 삭제여부를 묻지 않고 삭제


# cp -r 파일 디렉터리 복사


# mv 파일을 이동

# mv myfile3.txt sysconfig/

# mv file3 abcd3 파일,디렉터리명 변경


# mkdir folder1 폴더 생성


# rmdir folder1/ 폴더 삭제


# mkdir -p dir1/dir2/dir3 (1안에 2안에 3 총 3개를 생성)


# rmdir -r folder1 폴더 안에 폴더가 있어도 삭제

# rmdir -rf  묻지않고 폴더를 통으로 삭제


# cat 파일명 (화면에 파일 내용을 출력)


# head 파일명 (파일 상단의 10줄 출력)

# tail 파일명 (파일 하단의 10줄 출력)


# more 파일명 

# less 파일명


# file 파일명 해당 파일의 타입을 알려줌




'CentOS' 카테고리의 다른 글

RPM 사용법, YUM 기본 사용법  (0) 2018.03.21
파일의 소유권/허가권, 링크  (0) 2018.03.19
사용자 및 그룹 관리  (0) 2018.03.19
마운트 CD/DVD  (0) 2018.03.19
vi 에디터 기초  (0) 2018.03.19

물리적인 장치를 특정한 위치(대개는 디렉터리)에 연결시켜 주는 과정


CD/DVD 마운트


CD/DVD 장치 : /dev/cdrom


연결 해제 : # umount /dev/cdrom


마운트 할 폴더 생성

# mkdir /media/cdrom

마운트

# mount /dev/cdrom /media/cdrom/

마운트 해제

# umount /dev/cdrom 


'CentOS' 카테고리의 다른 글

RPM 사용법, YUM 기본 사용법  (0) 2018.03.21
파일의 소유권/허가권, 링크  (0) 2018.03.19
사용자 및 그룹 관리  (0) 2018.03.19
리눅스 기본 명령어  (0) 2018.03.19
vi 에디터 기초  (0) 2018.03.19

# gedit // 일반적인 메모장 기능 (윈도우키 + 스페이스 -> 한영전환) 윈도우즈의 메모장과 동일

# gedit 파일명.확장자 -> 해당 메모장 오픈


vi에디터는 x윈도우 뿐만 아니라 다른 곳에서도 vi에디터 사용가능


# vi // vi에디터 명령모드 입장


i or a를 입력 -> 글 입력가능


Esc키 입력시 다시 명령모드


:(콜론)

w 파일명 엔터시 파일 저장

q 에디터 종료


vi myfile3.txt 파일이 존재하지 않지만 생성하고 vi에디터 오픈


:wq -> 저장 후 에디터 종료


** 새파일 작성 및 기존파일 수정 과정

vi 파일명 --> i키 --> 편집/입력 --> Esc --> :wq


예외

:q! -> 수정된 내용을 무시하고 에디터 종료


vi에디터가 비정상적으로 종료시 조치법


ls -a 숨김파일까지 모두 보여줌

swp파일이 생성되어 있음

rm .myfile3.txt.swp 파일 삭제 -> vi에디터 정상적으로 열림


:set number -> 에디터 행에 번호를 표시해줌


명령어의 사용법이 기억이 안날때


man ls -> ls명령어에 대한 설명과 옵션 (스페이스 다음페이지, b 이전페이지, q 탈출) 



'CentOS' 카테고리의 다른 글

RPM 사용법, YUM 기본 사용법  (0) 2018.03.21
파일의 소유권/허가권, 링크  (0) 2018.03.19
사용자 및 그룹 관리  (0) 2018.03.19
리눅스 기본 명령어  (0) 2018.03.19
마운트 CD/DVD  (0) 2018.03.19

SELECT 문은 가장 기본이면서 가장 중요한 구문이다.


SELECT문이란 데이터베이스 내의 테이블에서 원하는 정보를 추출하는 명령


WITH <Sub Query>

SELECT select_list

FROM table_source WHERE search_condition

GROUP BY group_by_expression

HAVING search_condition

ORDER BY order_expression ASC : DESC


SELECT 열이름

FROM 테이블이름

WHERE 조건



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
37
38
39
40
41
SELECT CHR(75FROM DUAL;
-- 숫자를 문자값으로 변환 (K)
 
SELECT CONCAT('TEST''_NAME'FROM DUAL;
-- 2개의 문자값을 결합 (TEST_NAME)
 
SELECT INITCAP('MANAGER CHECK'FROM DUAL;
-- 첫번째 문자만 대문자로 변환 (Manager Check)
 
SELECT LOWER('MANAGER CHECK'FROM DUAL;
-- 소문자로 변환 (manager check)
 
SELECT LPAD('GRAYPASTEL'20'*'FROM DUAL;
-- 20-GRAYPASTEL을 지정한 문자로 채움 (**********GRAYPASTEL)
 
SELECT RPAD('GRAYPASTEL'20'#'FROM DUAL;
-- GRAYPASTEL##########
 
SELECT LTRIM('xyXYYYLATxy','xy'FROM DUAL;
-- 왼쪽부터 지정된 문자가 발견되면 제거 (XYYYLATxy)
 
SELECT RTRIM('xyXYYYLATxy','xy'FROM DUAL;
-- 왼쪽부터 지정된 문자가 발견되면 제거 (xyXYYYLAT)
 
SELECT REPLACE('CHECK' , 'C''R'FROM DUAL;
-- 두번째 정의된 값을 세번째 정의된 값으로 변경 (RHERK)
 
SELECT SUBSTR('ABCDEFGAAABBA',2,4FROM DUAL;
-- 2번째 문자부터 4개의 문자만 출력 (BCDE)
 
SELECT ASCII('P'FROM DUAL;
-- ASCII코드로 변환
 
SELECT LENGTH('CANDIDE'FROM DUAL;
-- 정의된 문자의 길이를 구해줌 (7)
 
SELECT NVL(COMM, 0FROM EMP;
-- 정의된 컬럼이 NULL이면 지정한 값으로 대체
 
SELECT NVL2(COMM, 50FROM EMP;
-- 해당 컬럼이 NULL이면 세번째 아니면 두번째 값으로 대체
cs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
SELECT ABS(-15FROM DUAL;
-- 절대값으로 변환 (15)
 
SELECT CEIL (15.2FROM DUAL;
-- 정의된 값을 올림값으로 변환 (16)
 
SELECT FLOOR(15.2FROM DUAL;
-- 정의된 값을 내림값으로 변환 (15)
 
SELECT LOG(6100FROM DUAL;
-- 뒤의 수가 앞의 수의 몇승인지 나타남
 
SELECT POWER(3,4FROM DUAL;
-- 3의 4승을 값
 
SELECT ROUND(15.295,2FROM DUAL;
-- 첫번째 수의 소수점 자리수를 두번째 값에서 정하고 반올림한다. (15.3)
 
SELECT SIGN(3FROM DUAL;
-- 정의된 값이 음수이면 -1, 0이면 0, 양수이면 1을 리턴
 
SELECT TRUNC(15.7962FROM DUAL;
-- 정의된 수의 출력할 소수점 자리수를 정한다. (15.79)
cs


기본개념)

 - 자신을 호출한 곳으로 리턴 해주는 값은 없고 호출되어 실행만 된다.

 - 실행환경과 Stored Program 사이에 값을 전달하기 위해 파라미터를 사용한다.

 - 파라미터 종류

1. IN : 호출하는 곳에서 함수 or 프로시저로 값을 전달

2. OUT : 함수 or 프로시저에서 호출한 곳으로 값을 전달 // 빈 깡통을 생각하면 쉽다. 비어이는 깡통에 결과값이 담긴다.

3. IN OUT : 호출하는 곳에서 함수 or 프로시저로 값을 전달하고 동시에 함수 or 프로시저에서 호출한 곳으로 값을 전달하는 변수

 - 프로시저 Hearder의 끝에는 IS[AS]가 와야하고 IS와 BEGIN사이에 BEGIN~END에서 사용할 변수를 선언

 - 자신의 스키마에서 프로시저를 만들기 위해서는 CREATE PROCEDURE 시스템권한이 있어야 하며,

   다른 스키마 계정에서 프로시저를 만들기 위해서는 CREATE ANY PROCEDURE 시스템 권한이 있어야 한다.


기본형식)

CREATE [OR REPLACE] PROCEDURE procedure_name[parameters]

IS[AS]

선언부

BEGIN

도입부

EXCEPTION

예외처리

END;


예제)

CREATE OR REPLACE PROCEDURE ojc3 (p_empno IN NUMBER, p_new_sal IN NUMBER) // 외부에서 값을 넣어주어야 한다.

IS 

BEGIN

UPDATE emp

SET sal = p_new_sal

WHERE empno = p_empno;


COMMIT;

END ojc3;


SELECT empnp, ename, sal FROM emp WHERE empno = 7369;


EMPNO  ENAME  SAL

7369      smith    800


호출)

exec ojc3(7369, 4500);


SELECT empnp, ename, sal FROM emp WHERE empno = 7369;


EMPNO  ENAME  SAL

7369      smith    4500



'Database' 카테고리의 다른 글

[ORACLE] SELECT문 알아보기  (0) 2018.02.28
[ORACLE] 오라클 기초 단일행 함수  (0) 2018.02.28
[ORACLE] 오라클 함수(Function)를 알아보자  (0) 2018.02.27

기본개념)

 - 자신을 호출한 곳으로 반드시 하나의 값을 리턴해 줘야되는 PL/SQL Stored Program이다.

 - 프로시저와 함수의 가장 큰 차이는 값을 리턴하느냐 마느냐

 - 자신의 스키마 계정에 함수를 작성하려면 CREATE PROCEDURE 시스템 권한이 필요

 - 다른 사용자 계정에 함수를 작성하려면 CREATE ANY PROCEDURE 시스템 권한이 필요

 - 함수 Header에 리턴되는 데이터 타입을 기술해야 하며, Header의 끝에는 IS[AS]가 와야하고, IS[AS]와 BEGIN사이에 Begin~End에서 사용할 변수를 선언


기본 형식)

CREATE [OR REPLACE] FUNCTION function_name[parameters]

RETURN 리턴되는 데이터 타입

IS[AS]

선언부

BEGIN

실행부

EXCEPTION

예외처리

END;


예제)

CREATE OR REPLACE FUNCTION ojc2(p_empno IN NUMBER) // 외부에서 ojc2라는 함수를 호출하면서 파라메터를 넣어줘야 한다.

RETURN VARCHAR2 // 리턴되는 타입 가변길이 문자열 형태

IS

v_ename emp.ename%TYPE; // emp테이블의 ename컬럼과 타입을 같게해라. 동적타입

BEGIN

SELECT ename

INTO v_ename // 반드시 INTO절이 있어야 한다.

FROM emp

WHERE empno = p_empno;


RETURN v_ename;

END ojc2;


실행예시)

SELECT ojc2(7000) FROM DUAL; // SELECT문에는 반드시 테이블 명이 필요함 임시 테이블 사용



CREATE TABLE EMP_TEMP AS SELECT EMPNO, SAL, ENAME FROM EMP WHERE 1=2;


INSERT INTO EMP_TEMP VALUES(7788, 9999, ojc2(7788));


결과값)

EMPNO   SAL   ENAME

7788       9999  (7788의 문자열)


==================================================================================================


CREATE OR REPALCE FUNCTION "함수명"(

"파라미터" 데이터타입, ( EX : FUNC_V_NAME (IN) VARCHAR2 )

"파라미터" 데이터타입

)

RETURN 데이터타입( VARCHAR2 )INTO

"변수이름"( V_TEST_NAME ) 데이터타입( VARCHAR2(300) ) ;


BEGIN

V_TEST_NAME := 'HELLOWORLD'; ( =앞에 ':'가 들어간다. )


SELECT testName

INTO V_TEST_NAME

FROM TEST_TABLE

WHERE funcVname = FUNC_V_NAME;


RETURN V_TEST_NAME;


END;


사용예)

SELECT "함수명" FROM DUAL;

+ Recent posts