251119 TIL
2025. 11. 19. 18:27ㆍCourses/아이티윌 오라클 DBA 과정
설치 및 초기설정
VirtualBox
Oracle VirtualBox
Powerful open source virtualization For personal and enterprise use VirtualBox is a general-purpose full virtualization software for x86_64 hardware (with version 7.1 additionally for macOS/Arm and with version 7.2 also for Windows/Arm), targeted at laptop
www.virtualbox.org







서버 주소 확인


호스트 키 조합 변경

가상머신 생성





리눅스 이미지 설정
https://yum.oracle.com/oracle-linux-isos.html
Oracle Linux ISOs | Oracle, Software. Hardware. Complete.
Oracle Linux Installation Media Download Oracle Linux ISOs
yum.oracle.com



네트워크


시작

- 가상머신 안에서 Enter
- 호스트로 변경하려면 Ctrl+Alt
설정


DATE & TIME

SOFTWARE SELECTION

INSTALLATION DESTINATION

NETWORK & HOST NAME
Ethernet(enp0s3)

Configure

Ethernet(enp0s8)

Configure




Begin Installation

USER SETTINGS
ROOT PASSWORD


USER CREATION


Reboot

LICENSE INFORMATION



로그인

Not listed에서 root로 로그인


게스트 확장 CD 이미지 삽입

reboot


PuTTY


가상머신(virtual machine)
- 이름 그대로 진짜 컴퓨터가 아닌 가상으로 존재하는 컴퓨터 의미
- 가상머신을 생성하는 소프트웨어를 가상머신 소프트웨어라고 함
- 컴퓨터에 설치된 운영체제(host) 안에 가상의 컴퓨터를 만들고 그 가상의 컴퓨터 안에 또 다른 운영체제(guest)를 설치 운영할 수 있도록 제작된 소프트웨어
- 가상머신 소프트웨어를 사용하면 현재 사용하는 윈도우를 그대로 사용하면서 리눅스 서버를 운영하는 효과를 낼 수 있음
가상머신 소프트웨어 종류
- VMware(VMware Workstation)
- Microsoft(Hyper-V)
- Oracle(VirtualBox)
- Apple Mac(VMware Fusion, parallels)
UNIX
- 상용 소프트웨어 → 비쌈
- IBM AIX, HP-UX, Oracle(Solaris), DEC Trub64 UNIX
LINUX
- 오픈 소스 운영체제
- 1991 Linus Torvalds가 어셈블리어로 리눅스 커널( kernel) 만듦
특징
- 다중 사용자(Multi user), 다중 작업(Multi tasking)
- 강력한 네트워킹 지원 및 다양한 파일 시스템 지원
- 이식성, 유연성, 확장성을 지니며 안정성과 보안성도 강력
- 가격 대비 성능이 우수하며 다양한 응용프로그램을 제공
- 다양한 배포판이 존재
- Debian 계열 : Ubuntu
- RedHat 계열 : CentOS, ORACLE LINUX
활용
- 서버 : 웹 서버, 데이터베이스 서버
- 클라우드 : 아마존 AWS, 구글 GCP, Micorsoft Azure
- 슈퍼 컴퓨터
- 모바일 운영체제 : 안드로이드
- 임베디드 시스템 : 스마트 TV, 자동차 네비게이션, 디지털 카메라, 냉장고, 세탁기
리눅스 명령어
hostname
- 호스트명
[root@oracle ~]# hostname
oracle
su(switch user)
- 다른 유저로 접속
[root@oracle ~]# su oracle
[oracle@oracle root]$
exit
- 종료
[oracle@oracle root]$ exit
exit
[root@oracle ~]# exit
id
- 현재 유저 정보
[root@oracle oracle]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
pwd(print working directory)
- 현재 디렉토리의 절대 경로 출력
[root@oracle oracle]# pwd
/home/oracle
cd(change directory)
- 디렉토리를 이동하는 명령어
- 절대 경로(absolute path) : 루트 디렉토리에서 시작해서 목적지 디렉토리까지의 경로를 의미
[root@oracle /]# cd /home/oracle
[root@oracle oracle]# pwd
/home/oracle
- 상대 경로(relative path) : 현재 자신의 디렉토리에서 목적지를 향하는 경로를 의미
- 현재 디렉터리 :
. - 현재 디렉터리의 상위 디렉터리 :
.. - 홈 디렉토리 :
~,$HOME
- 현재 디렉터리 :
-- 상위 디렉토리로 이동
[root@oracle oracle]# cd ..
[root@oracle home]# pwd
/home
-- 다음 디렉토리로 이동
[root@oracle home]# cd ./oracle
[root@oracle oracle]# pwd
/home/oracle
-- 이전 경로로 이동
[root@oracle oracle]# cd -
/home
[root@oracle home]# pwd
/home
-- 사용자 홈 디렉토리로 이동 1
[root@oracle home]# cd /etc/sysconfig
[root@oracle sysconfig]# cd
[root@oracle ~]# pwd
/root
-- 사용자 홈 디렉토리로 이동 2
[root@oracle ~]# cd /etc/sysconfig
[root@oracle sysconfig]# cd ~
[root@oracle ~]# pwd
/root
-- 사용자 홈 디렉토리로 이동 3
[root@oracle ~]# cd /etc/sysconfig
[root@oracle sysconfig]# cd $HOME
[root@oracle ~]# pwd
/root
ls(list)
- 디렉터리 안에 있는 파일이나 서브 디렉터리 등 디렉터리의 내용을 보는 명령어
[root@oracle /]# ls
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
-l 옵션
- 파일, 디렉터리들을 나열할 때 자세히 출력
[root@oracle /]# ls -l
total 32
lrwxrwxrwx. 1 root root 7 Nov 19 10:41 bin -> usr/bin
dr-xr-xr-x. 4 root root 4096 Nov 19 10:51 boot
drwxr-xr-x. 20 root root 3300 Nov 19 11:06 dev
drwxr-xr-x. 142 root root 8192 Nov 19 11:06 etc
drwxr-xr-x. 3 root root 20 Nov 19 10:49 home
lrwxrwxrwx. 1 root root 7 Nov 19 10:41 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Nov 19 10:41 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 Apr 11 2018 media
drwxr-xr-x. 2 root root 6 Apr 11 2018 mnt
drwxr-xr-x. 4 root root 49 Nov 19 11:05 opt
dr-xr-xr-x. 225 root root 0 Nov 19 11:51 proc
dr-xr-x---. 14 root root 4096 Nov 19 11:28 root
drwxr-xr-x. 40 root root 1280 Nov 19 11:28 run
lrwxrwxrwx. 1 root root 8 Nov 19 10:41 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 Apr 11 2018 srv
dr-xr-xr-x. 13 root root 0 Nov 19 11:06 sys
drwxrwxrwt. 16 root root 4096 Nov 19 12:09 tmp
drwxr-xr-x. 13 root root 4096 Nov 19 10:41 usr
drwxr-xr-x. 20 root root 4096 Nov 19 10:51 var
-a 옵션
- 모든 파일(숨김 파일도 출력)
[root@oracle /]# ls -a
. bin dev home lib64 mnt proc run srv tmp var
.. boot etc lib media opt root sbin sys usr
[root@oracle /]# ls -al
total 40
dr-xr-xr-x. 17 root root 4096 Nov 19 10:49 .
dr-xr-xr-x. 17 root root 4096 Nov 19 10:49 ..
lrwxrwxrwx. 1 root root 7 Nov 19 10:41 bin -> usr/bin
dr-xr-xr-x. 4 root root 4096 Nov 19 10:51 boot
drwxr-xr-x. 20 root root 3300 Nov 19 11:06 dev
drwxr-xr-x. 142 root root 8192 Nov 19 11:06 etc
drwxr-xr-x. 3 root root 20 Nov 19 10:49 home
lrwxrwxrwx. 1 root root 7 Nov 19 10:41 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Nov 19 10:41 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 Apr 11 2018 media
drwxr-xr-x. 2 root root 6 Apr 11 2018 mnt
drwxr-xr-x. 4 root root 49 Nov 19 11:05 opt
dr-xr-xr-x. 224 root root 0 Nov 19 11:51 proc
dr-xr-x---. 14 root root 4096 Nov 19 11:28 root
drwxr-xr-x. 40 root root 1280 Nov 19 11:28 run
lrwxrwxrwx. 1 root root 8 Nov 19 10:41 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 Apr 11 2018 srv
dr-xr-xr-x. 13 root root 0 Nov 19 11:06 sys
drwxrwxrwt. 16 root root 4096 Nov 19 12:59 tmp
drwxr-xr-x. 13 root root 4096 Nov 19 10:41 usr
drwxr-xr-x. 20 root root 4096 Nov 19 10:51 var
-h 옵션
- -l 옵션과 함께 사용하면 파일의 크기에 맞춰 K,M,G처럼 읽기 쉬운 단위로 변경해서 출력
[root@oracle /]# ls -hl
total 32K
lrwxrwxrwx. 1 root root 7 Nov 19 10:41 bin -> usr/bin
dr-xr-xr-x. 4 root root 4.0K Nov 19 10:51 boot
drwxr-xr-x. 20 root root 3.3K Nov 19 11:06 dev
drwxr-xr-x. 142 root root 8.0K Nov 19 11:06 etc
drwxr-xr-x. 3 root root 20 Nov 19 10:49 home
lrwxrwxrwx. 1 root root 7 Nov 19 10:41 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Nov 19 10:41 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 Apr 11 2018 media
drwxr-xr-x. 2 root root 6 Apr 11 2018 mnt
drwxr-xr-x. 4 root root 49 Nov 19 11:05 opt
dr-xr-xr-x. 224 root root 0 Nov 19 11:51 proc
dr-xr-x---. 14 root root 4.0K Nov 19 11:28 root
drwxr-xr-x. 40 root root 1.3K Nov 19 11:28 run
lrwxrwxrwx. 1 root root 8 Nov 19 10:41 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 Apr 11 2018 srv
dr-xr-xr-x. 13 root root 0 Nov 19 11:06 sys
drwxrwxrwt. 16 root root 4.0K Nov 19 12:59 tmp
drwxr-xr-x. 13 root root 4.0K Nov 19 10:41 usr
drwxr-xr-x. 20 root root 4.0K Nov 19 10:51 var
-F 옵션
- 파일의 종류를 자세히 표시
*: 실행파일/: 디렉터리@: 심볼릭 링크(윈도우 바로가기)
[root@oracle /]# ls -F
bin@ dev/ home/ lib64@ mnt/ proc/ run/ srv/ tmp/ var/
boot/ etc/ lib@ media/ opt/ root/ sbin@ sys/ usr/
[root@oracle /]# ls -lF
total 32
lrwxrwxrwx. 1 root root 7 Nov 19 10:41 bin -> usr/bin/
dr-xr-xr-x. 4 root root 4096 Nov 19 10:51 boot/
drwxr-xr-x. 20 root root 3300 Nov 19 11:06 dev/
drwxr-xr-x. 142 root root 8192 Nov 19 11:06 etc/
drwxr-xr-x. 3 root root 20 Nov 19 10:49 home/
lrwxrwxrwx. 1 root root 7 Nov 19 10:41 lib -> usr/lib/
lrwxrwxrwx. 1 root root 9 Nov 19 10:41 lib64 -> usr/lib64/
drwxr-xr-x. 2 root root 6 Apr 11 2018 media/
drwxr-xr-x. 2 root root 6 Apr 11 2018 mnt/
drwxr-xr-x. 4 root root 49 Nov 19 11:05 opt/
dr-xr-xr-x. 224 root root 0 Nov 19 11:51 proc/
dr-xr-x---. 14 root root 4096 Nov 19 11:28 root/
drwxr-xr-x. 40 root root 1280 Nov 19 11:28 run/
lrwxrwxrwx. 1 root root 8 Nov 19 10:41 sbin -> usr/sbin/
drwxr-xr-x. 2 root root 6 Apr 11 2018 srv/
dr-xr-xr-x. 13 root root 0 Nov 19 11:06 sys/
drwxrwxrwt. 16 root root 4096 Nov 19 12:59 tmp/
drwxr-xr-x. 13 root root 4096 Nov 19 10:41 usr/
drwxr-xr-x. 20 root root 4096 Nov 19 10:51 var/
-d 옵션
- 디렉터리 자체 정보 확인
[root@oracle /]# ls -d
.
[root@oracle /]# ls -ld
dr-xr-xr-x. 17 root root 4096 Nov 19 10:49 .
-R 옵션
- 서브디렉터리 안에 있는 파일, 디렉터리 모두 표시
[root@oracle /]# ls -R
...
-r 옵션
- -l 옵션과 함께 사용하면 출력 결과를 내림차순으로 정렬
-l: 이름을 기준으로 오름차순 정렬-lr: 이름을 기준으로 내림차순 정렬
[root@oracle /]# ls -l
total 32
lrwxrwxrwx. 1 root root 7 Nov 19 10:41 bin -> usr/bin
dr-xr-xr-x. 4 root root 4096 Nov 19 10:51 boot
drwxr-xr-x. 20 root root 3300 Nov 19 11:06 dev
drwxr-xr-x. 142 root root 8192 Nov 19 11:06 etc
drwxr-xr-x. 3 root root 20 Nov 19 10:49 home
lrwxrwxrwx. 1 root root 7 Nov 19 10:41 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Nov 19 10:41 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 Apr 11 2018 media
drwxr-xr-x. 2 root root 6 Apr 11 2018 mnt
drwxr-xr-x. 4 root root 49 Nov 19 11:05 opt
dr-xr-xr-x. 226 root root 0 Nov 19 11:51 proc
dr-xr-x---. 14 root root 4096 Nov 19 11:28 root
drwxr-xr-x. 40 root root 1280 Nov 19 11:28 run
lrwxrwxrwx. 1 root root 8 Nov 19 10:41 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 Apr 11 2018 srv
dr-xr-xr-x. 13 root root 0 Nov 19 11:06 sys
drwxrwxrwt. 16 root root 4096 Nov 19 12:59 tmp
drwxr-xr-x. 13 root root 4096 Nov 19 10:41 usr
drwxr-xr-x. 20 root root 4096 Nov 19 10:51 var
[root@oracle /]# ls -lr
total 32
drwxr-xr-x. 20 root root 4096 Nov 19 10:51 var
drwxr-xr-x. 13 root root 4096 Nov 19 10:41 usr
drwxrwxrwt. 16 root root 4096 Nov 19 12:59 tmp
dr-xr-xr-x. 13 root root 0 Nov 19 11:06 sys
drwxr-xr-x. 2 root root 6 Apr 11 2018 srv
lrwxrwxrwx. 1 root root 8 Nov 19 10:41 sbin -> usr/sbin
drwxr-xr-x. 40 root root 1280 Nov 19 11:28 run
dr-xr-x---. 14 root root 4096 Nov 19 11:28 root
dr-xr-xr-x. 226 root root 0 Nov 19 11:51 proc
drwxr-xr-x. 4 root root 49 Nov 19 11:05 opt
drwxr-xr-x. 2 root root 6 Apr 11 2018 mnt
drwxr-xr-x. 2 root root 6 Apr 11 2018 media
lrwxrwxrwx. 1 root root 9 Nov 19 10:41 lib64 -> usr/lib64
lrwxrwxrwx. 1 root root 7 Nov 19 10:41 lib -> usr/lib
drwxr-xr-x. 3 root root 20 Nov 19 10:49 home
drwxr-xr-x. 142 root root 8192 Nov 19 11:06 etc
drwxr-xr-x. 20 root root 3300 Nov 19 11:06 dev
dr-xr-xr-x. 4 root root 4096 Nov 19 10:51 boot
lrwxrwxrwx. 1 root root 7 Nov 19 10:41 bin -> usr/bin
-t 옵션
- -l 옵션과 함께 사용하면 출력결과를 파일이 수정된 시간을 기준으로 정렬
-lt: 시간을 기준으로 내림차순 정렬-ltr: 시간을 기준으로 오름차순 정렬
[root@oracle /]# ls -lt
total 32
drwxrwxrwt. 16 root root 4096 Nov 19 12:59 tmp
dr-xr-xr-x. 226 root root 0 Nov 19 11:51 proc
drwxr-xr-x. 40 root root 1280 Nov 19 11:28 run
dr-xr-x---. 14 root root 4096 Nov 19 11:28 root
drwxr-xr-x. 142 root root 8192 Nov 19 11:06 etc
drwxr-xr-x. 20 root root 3300 Nov 19 11:06 dev
dr-xr-xr-x. 13 root root 0 Nov 19 11:06 sys
drwxr-xr-x. 4 root root 49 Nov 19 11:05 opt
dr-xr-xr-x. 4 root root 4096 Nov 19 10:51 boot
drwxr-xr-x. 20 root root 4096 Nov 19 10:51 var
drwxr-xr-x. 3 root root 20 Nov 19 10:49 home
drwxr-xr-x. 13 root root 4096 Nov 19 10:41 usr
lrwxrwxrwx. 1 root root 7 Nov 19 10:41 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Nov 19 10:41 lib64 -> usr/lib64
lrwxrwxrwx. 1 root root 8 Nov 19 10:41 sbin -> usr/sbin
lrwxrwxrwx. 1 root root 7 Nov 19 10:41 bin -> usr/bin
drwxr-xr-x. 2 root root 6 Apr 11 2018 media
drwxr-xr-x. 2 root root 6 Apr 11 2018 mnt
drwxr-xr-x. 2 root root 6 Apr 11 2018 srv
[root@oracle /]# ls -ltr
total 32
drwxr-xr-x. 2 root root 6 Apr 11 2018 srv
drwxr-xr-x. 2 root root 6 Apr 11 2018 mnt
drwxr-xr-x. 2 root root 6 Apr 11 2018 media
lrwxrwxrwx. 1 root root 7 Nov 19 10:41 bin -> usr/bin
lrwxrwxrwx. 1 root root 8 Nov 19 10:41 sbin -> usr/sbin
lrwxrwxrwx. 1 root root 9 Nov 19 10:41 lib64 -> usr/lib64
lrwxrwxrwx. 1 root root 7 Nov 19 10:41 lib -> usr/lib
drwxr-xr-x. 13 root root 4096 Nov 19 10:41 usr
drwxr-xr-x. 3 root root 20 Nov 19 10:49 home
drwxr-xr-x. 20 root root 4096 Nov 19 10:51 var
dr-xr-xr-x. 4 root root 4096 Nov 19 10:51 boot
drwxr-xr-x. 4 root root 49 Nov 19 11:05 opt
dr-xr-xr-x. 13 root root 0 Nov 19 11:06 sys
drwxr-xr-x. 20 root root 3300 Nov 19 11:06 dev
drwxr-xr-x. 142 root root 8192 Nov 19 11:06 etc
dr-xr-x---. 14 root root 4096 Nov 19 11:28 root
drwxr-xr-x. 40 root root 1280 Nov 19 11:28 run
dr-xr-xr-x. 226 root root 0 Nov 19 11:51 proc
drwxrwxrwt. 16 root root 4096 Nov 19 12:59 tmp
-S 옵션
-lS: 출력결과를 파일 크기 순으로 내림차순 정렬-lSr: 출력결과를 파일 크기 순으로 오름차순 정렬
[root@oracle /]# ls -lS
total 32
drwxr-xr-x. 142 root root 8192 Nov 19 11:06 etc
dr-xr-xr-x. 4 root root 4096 Nov 19 10:51 boot
dr-xr-x---. 14 root root 4096 Nov 19 11:28 root
drwxrwxrwt. 16 root root 4096 Nov 19 12:59 tmp
drwxr-xr-x. 13 root root 4096 Nov 19 10:41 usr
drwxr-xr-x. 20 root root 4096 Nov 19 10:51 var
drwxr-xr-x. 20 root root 3300 Nov 19 11:06 dev
drwxr-xr-x. 40 root root 1280 Nov 19 11:28 run
drwxr-xr-x. 4 root root 49 Nov 19 11:05 opt
drwxr-xr-x. 3 root root 20 Nov 19 10:49 home
lrwxrwxrwx. 1 root root 9 Nov 19 10:41 lib64 -> usr/lib64
lrwxrwxrwx. 1 root root 8 Nov 19 10:41 sbin -> usr/sbin
lrwxrwxrwx. 1 root root 7 Nov 19 10:41 bin -> usr/bin
lrwxrwxrwx. 1 root root 7 Nov 19 10:41 lib -> usr/lib
drwxr-xr-x. 2 root root 6 Apr 11 2018 media
drwxr-xr-x. 2 root root 6 Apr 11 2018 mnt
drwxr-xr-x. 2 root root 6 Apr 11 2018 srv
dr-xr-xr-x. 226 root root 0 Nov 19 11:51 proc
dr-xr-xr-x. 13 root root 0 Nov 19 11:06 sys
[root@oracle /]# ls -lSr
total 32
dr-xr-xr-x. 13 root root 0 Nov 19 11:06 sys
dr-xr-xr-x. 226 root root 0 Nov 19 11:51 proc
drwxr-xr-x. 2 root root 6 Apr 11 2018 srv
drwxr-xr-x. 2 root root 6 Apr 11 2018 mnt
drwxr-xr-x. 2 root root 6 Apr 11 2018 media
lrwxrwxrwx. 1 root root 7 Nov 19 10:41 lib -> usr/lib
lrwxrwxrwx. 1 root root 7 Nov 19 10:41 bin -> usr/bin
lrwxrwxrwx. 1 root root 8 Nov 19 10:41 sbin -> usr/sbin
lrwxrwxrwx. 1 root root 9 Nov 19 10:41 lib64 -> usr/lib64
drwxr-xr-x. 3 root root 20 Nov 19 10:49 home
drwxr-xr-x. 4 root root 49 Nov 19 11:05 opt
drwxr-xr-x. 40 root root 1280 Nov 19 11:28 run
drwxr-xr-x. 20 root root 3300 Nov 19 11:06 dev
drwxr-xr-x. 20 root root 4096 Nov 19 10:51 var
drwxr-xr-x. 13 root root 4096 Nov 19 10:41 usr
drwxrwxrwt. 16 root root 4096 Nov 19 12:59 tmp
dr-xr-x---. 14 root root 4096 Nov 19 11:28 root
dr-xr-xr-x. 4 root root 4096 Nov 19 10:51 boot
drwxr-xr-x. 142 root root 8192 Nov 19 11:06 etc
-l 옵션 정보
lrwxrwxrwx. 1 root root 7 Nov 19 10:41 bin -> usr/bin
dr-xr-xr-x. 4 root root 4096 Nov 19 10:51 boot
-rw-------. 1 root root 1963 Nov 19 10:50 anaconda-ks.cfg
- 파일 정보
-: 일반파일d: 디렉토리l: 심볼릭 링크 파일(symbolic link file), 윈도우 바로가기와 비슷
- 파일 접근 권한
- 소유자, 그룹, 기타 사용자
r: 읽기 권한w: 쓰기 권한x: 실행 권한
- 하드 링크의 개수
- 파일 소유자
- 파일이 속한 그룹
- 파일의 크기(바이트)
- 최종 갱신일
mkdir
- 디렉토리를 만드는 명령어
[oracle@oracle ~]$ mkdir test1
[oracle@oracle ~]$ ls
test1
-p: 서브 디렉터리 생성 시 사용
-- 오류
[oracle@oracle ~]$ mkdir test3/test4
mkdir: cannot create directory ‘test3/test4’: No such file or directory
-- -p 옵션 사용
[oracle@oracle ~]$ mkdir -p test3/test4
[oracle@oracle ~]$ ls
test1 test3
[oracle@oracle ~]$ cd test3
[oracle@oracle test3]$ ls
test4
rmdir
- 디렉터리를 삭제하는 명령어
- 디렉터리 안에 파일 또는 디렉터리가 없을 경우 삭제 가능
[oracle@oracle ~]$ mkdir test7
[oracle@oracle ~]$ ls
test1 test3 test5 test7
[oracle@oracle ~]$ rmdir test7
[oracle@oracle ~]$ ls
test1 test3 test5
-- 디렉터리 안에 내용이 있는 경우 삭제 시 오류 발생
[oracle@oracle ~]$ rmdir test1
rmdir: failed to remove ‘test1’: Directory not empty
-- 디렉터리 안의 내용을 삭제 후 삭제
[oracle@oracle ~]$ cd test1
[oracle@oracle test1]$ ls
test2
[oracle@oracle test1]$ rmdir test2
[oracle@oracle test1]$ ls
[oracle@oracle test1]$ cd ..
[oracle@oracle ~]$ ls
test1 test3 test5
[oracle@oracle ~]$ rmdir test1
[oracle@oracle ~]$ ls
test3 test5
rm(remove)
- 파일이나 디렉터리를 삭제하는 명령어
-r: 현재 디렉터리 밑에 있는 모든 파일과 디렉터리를 삭제할 때 사용
[oracle@oracle ~]$ rm -r test3
[oracle@oracle ~]$ ls
test5
-i: 삭제할 때 물어 보는 옵션
[oracle@oracle ~]$ rm a.txt
[oracle@oracle ~]$ ls
b.txt
[oracle@oracle ~]$ rm -i b.txt
rm: remove regular empty file ‘b.txt’? n
[oracle@oracle ~]$ ls
b.txt
[oracle@oracle ~]$ rm -i b.txt
rm: remove regular empty file ‘b.txt’? y
[oracle@oracle ~]$ ls
-f: 삭제할 때 물어보지 않고 삭제
[oracle@oracle ~]$ rm -f a.txt
touch
- 파일 용량이 0인 파일을 생성하는 명령어
- 기존 파일의 수정 날짜 정보를 최신 날짜로 변경할 때 사용
[oracle@oracle ~]$ touch a.txt
[oracle@oracle ~]$ ls
a.txt
[oracle@oracle ~]$ ls -l
total 0
-rw-rw-r--. 1 oracle oracle 0 Nov 19 15:20 a.txt
-- 같은 파일은 touch하면 시간 정보가 변경됨
[oracle@oracle ~]$ touch a.txt
[oracle@oracle ~]$ ls -l
total 0
-rw-rw-r--. 1 oracle oracle 0 Nov 19 15:21 a.txt
clear
- 화면 내용을 지우는 명령어
[oracle@oracle ~]$ clear
cat
- 파일 안에 내용 보기
[oracle@oracle ~]$ cat .bashrc
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=
# User specific aliases and functions
-n: 라인 번호 출력(공백 줄 라인 번호 표기)
[oracle@oracle ~]$ cat -n .bashrc
1 # .bashrc
2
3 # Source global definitions
4 if [ -f /etc/bashrc ]; then
5 . /etc/bashrc
6 fi
7
8 # Uncomment the following line if you don't like systemctl's auto-paging feature:
9 # export SYSTEMD_PAGER=
10
11 # User specific aliases and functions
-b: 라인 번호 출력(공백 줄 라인 번호 표기 X)
[oracle@oracle ~]$ cat -b .bashrc
1 # .bashrc
2 # Source global definitions
3 if [ -f /etc/bashrc ]; then
4 . /etc/bashrc
5 fi
6 # Uncomment the following line if you don't like systemctl's auto-paging feature:
7 # export SYSTEMD_PAGER=
8 # User specific aliases and functions
nl
- 파일 안의 내용을 출력하면서 라인 번호까지 출력하는 명령어
cat -b와 동일
[oracle@oracle ~]$ nl .bashrc
1 # .bashrc
2 # Source global definitions
3 if [ -f /etc/bashrc ]; then
4 . /etc/bashrc
5 fi
6 # Uncomment the following line if you don't like systemctl's auto-paging feature:
7 # export SYSTEMD_PAGER=
8 # User specific aliases and functions
less
- 파일의 내용을 한 화면에 보여주는 명령어
q: less 명령어 종료-N: 줄 번호 출력
[oracle@oracle ~]$ less /etc/group
[oracle@oracle ~]$ less -N /etc/group


more
- 파일의 내용을 한 화면에 보여주는 명령어
enter: 한 행 아래로 이동-b: 한 행 위로 이동q: 종료=: 현재 위치의 행 번호
[oracle@oracle ~]$ more /etc/group
-- 라인 수만큼 화면에 출력
[oracle@oracle ~]$ more -10 /etc/group

head
- 파일의 앞부분 출력
- 기본값 10
[oracle@oracle ~]$ head -10 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
tail
- 파일의 뒷부분 출력
- 기본값 10
[oracle@oracle ~]$ tail -10 /etc/passwd
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
gnome-initial-setup:x:989:983::/run/gnome-initial-setup/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
oracle:x:1000:1000:oracle:/home/oracle:/bin/bash
vboxadd:x:988:1::/var/run/vboxadd:/bin/false
timedatectl
- 현재 date, timezone 확인
[oracle@oracle ~]$ timedatectl
Local time: Wed 2025-11-19 16:11:25 KST
Universal time: Wed 2025-11-19 07:11:25 UTC
RTC time: Wed 2025-11-19 07:11:25
Time zone: Asia/Seoul (KST, +0900)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
- timezone 정보
[oracle@oracle ~]$ timedatectl list-timezones
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
...
- timezone 변경
[oracle@oracle ~]$ timedatectl set-timezone "America/New_York"
==== AUTHENTICATING FOR org.freedesktop.timedate1.set-timezone ===
Authentication is required to set the system timezone.
Authenticating as: root
Password:
==== AUTHENTICATION COMPLETE ===
[oracle@oracle ~]$ timedatectl
timedatectl
Local time: Wed 2025-11-19 02:15:55 EST
Universal time: Wed 2025-11-19 07:15:55 UTC
RTC time: Wed 2025-11-19 07:15:55
Time zone: America/New_York (EST, -0500)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: no
Last DST change: DST ended at
Sun 2025-11-02 01:59:59 EDT
Sun 2025-11-02 01:00:00 EST
Next DST change: DST begins (the clock jumps one hour forward) at
Sun 2026-03-08 01:59:59 EST
Sun 2026-03-08 03:00:00 EDT
- 루트 계정은 인증 없이 timezon 변경 가능
[oracle@oracle ~]$ su -
Password:
Last login: Tue Nov 18 22:09:19 EST 2025 on pts/0
[root@oracle ~]# timedatectl set-timezone "Asia/Seoul"
[root@oracle ~]# timedatectl
timedatectl
Local time: Wed 2025-11-19 16:17:42 KST
Universal time: Wed 2025-11-19 07:17:42 UTC
RTC time: Wed 2025-11-19 07:17:43
Time zone: Asia/Seoul (KST, +0900)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
date
- 날짜 시간 정보
[root@oracle ~]# date
Wed Nov 19 16:21:10 KST 2025
rdate(remote date)
- 원격지 타임서버에서 시간 정보를 가져와 로컬 시스템의 시간과 동기화 하는 명령어
-p: 호스트 정보만 출력하고 설정은 X-s: 설정만 하고 내용은 출력 X
[root@oracle ~]# rdate -p time.bora.net
rdate: [time.bora.net] Wed Nov 19 16:44:58 2025
[root@oracle ~]# date
Wed Nov 19 16:21:10 KST 2025
[root@oracle ~]# rdate -s time.bora.net
[root@oracle ~]# date
Wed Nov 19 16:45:36 KST 2025
cal
- 달력
[root@oracle ~]# cal
November 2025
Su Mo Tu We Th Fr Sa
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
[root@oracle ~]# cal 12 2025
December 2025
Su Mo Tu We Th Fr Sa
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
[root@oracle ~]# cal 2026
2026
January February March
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 1 2 3 4 5 6 7 1 2 3 4 5 6 7
4 5 6 7 8 9 10 8 9 10 11 12 13 14 8 9 10 11 12 13 14
11 12 13 14 15 16 17 15 16 17 18 19 20 21 15 16 17 18 19 20 21
18 19 20 21 22 23 24 22 23 24 25 26 27 28 22 23 24 25 26 27 28
25 26 27 28 29 30 31 29 30 31
April May June
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 1 2 1 2 3 4 5 6
5 6 7 8 9 10 11 3 4 5 6 7 8 9 7 8 9 10 11 12 13
12 13 14 15 16 17 18 10 11 12 13 14 15 16 14 15 16 17 18 19 20
19 20 21 22 23 24 25 17 18 19 20 21 22 23 21 22 23 24 25 26 27
26 27 28 29 30 24 25 26 27 28 29 30 28 29 30
31
July August September
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 1 1 2 3 4 5
5 6 7 8 9 10 11 2 3 4 5 6 7 8 6 7 8 9 10 11 12
12 13 14 15 16 17 18 9 10 11 12 13 14 15 13 14 15 16 17 18 19
19 20 21 22 23 24 25 16 17 18 19 20 21 22 20 21 22 23 24 25 26
26 27 28 29 30 31 23 24 25 26 27 28 29 27 28 29 30
30 31
October November December
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 1 2 3 4 5 6 7 1 2 3 4 5
4 5 6 7 8 9 10 8 9 10 11 12 13 14 6 7 8 9 10 11 12
11 12 13 14 15 16 17 15 16 17 18 19 20 21 13 14 15 16 17 18 19
18 19 20 21 22 23 24 22 23 24 25 26 27 28 20 21 22 23 24 25 26
25 26 27 28 29 30 31 29 30 27 28 29 30 31
redirection
- 화면에 출력되는 결과를 파일로 저장하는 명령어
>: 파일 생성, 만약에 동일한 이름의 파일이 있는 경우 덮어 씀>>: 파일이 없으면 생성, 있으면 추가
[root@oracle ~]# ls -al / > output_ls
[root@oracle ~]# ls
anaconda-ks.cfg Documents initial-setup-ks.cfg **output_ls** Public Videos
Desktop Downloads Music Pictures Templates
[root@oracle ~]# cat output_ls
total 40
dr-xr-xr-x. 17 root root 4096 Nov 19 10:49 .
dr-xr-xr-x. 17 root root 4096 Nov 19 10:49 ..
...
-- overwrite
[root@oracle ~]# ls -alt / > output_ls
[root@oracle ~]# cat output_ls
total 40
dr-xr-x---. 14 root root 4096 Nov 19 16:52 root
drwxrwxrwt. 16 root root 4096 Nov 19 16:19 tmp
...
-- append
[root@oracle ~]# ls -alt / >> output_ls
[root@oracle ~]# cat output_ls
total 40
dr-xr-x---. 14 root root 4096 Nov 19 16:52 root
drwxrwxrwt. 16 root root 4096 Nov 19 16:19 tmp
...
total 40
dr-xr-x---. 14 root root 4096 Nov 19 16:52 root
drwxrwxrwt. 16 root root 4096 Nov 19 16:19 tmp
...
wc
- 파일 안의 라인 수, 단어 수, 글자 수 출력
-l: 라인 수-w: 단어 수-c: 글자 수
[root@oracle ~]# wc output_ls
12 30 176 output_ls
[root@oracle ~]# wc -l output_ls
12 output_ls
[root@oracle ~]# wc -w output_ls
30 output_ls
[root@oracle ~]# wc -c output_ls
176 output_ls
grep
- 파일 안에 포함된 특정 단어나 구문을 검색하는 명령어
[root@oracle ~]# timedatectl list-timezones | grep Asia
Asia/Aden
Asia/Almaty
Asia/Amman
Asia/Anadyr
...
-i: 대소문자 구분 X
[root@oracle ~]# timedatectl list-timezones | grep seoul
[root@oracle ~]# timedatectl list-timezones | grep Seoul
Asia/Seoul
[root@oracle ~]# timedatectl list-timezones | grep -i seoul
Asia/Seoul
'Courses > 아이티윌 오라클 DBA 과정' 카테고리의 다른 글
| 251121 TIL (0) | 2025.11.21 |
|---|---|
| 251120 TIL (0) | 2025.11.20 |
| 251118 TIL (0) | 2025.11.18 |
| 251117 TIL (0) | 2025.11.17 |
| 251114 TIL (0) | 2025.11.14 |