251119 TIL

2025. 11. 19. 18:27Courses/아이티윌 오라클 DBA 과정

설치 및 초기설정

VirtualBox

https://www.virtualbox.org/

 

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
  1. 파일 정보
    • - : 일반파일
    • d : 디렉토리
    • l : 심볼릭 링크 파일(symbolic link file), 윈도우 바로가기와 비슷
  2. 파일 접근 권한
    • 소유자, 그룹, 기타 사용자
    • r : 읽기 권한
    • w : 쓰기 권한
    • x : 실행 권한
  3. 하드 링크의 개수
  4. 파일 소유자
  5. 파일이 속한 그룹
  6. 파일의 크기(바이트)
  7. 최종 갱신일

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