본문 바로가기

CentOS/Study

[리눅스]12.04 교육 정리

반응형

1교시 09:30 ~ 10:30>
운영체제 종류와 정보 확인>
[root@server1 ~]# uname -a
Linux server1.example.com 4.18.0-305.3.1.el8.x86_64 #1 SMP Tue Jun 1 16:14:33 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
커널이름       호스트이름                커널 릴리즈                                              머신하드웨어  CPU    플랫폼    OS
                          주버전.부버전.fix버전-업데이트
  
커널릴리즈 확인>
[root@server1 ~]# uname -r
4.18.0-305.3.1.el8.x86_64

시스템 정보 확인>
[root@server1 ~]# hostnamectl
   Static hostname: server1.example.com
         Icon name: computer-vm
           Chassis: vm
        Machine ID: a4cd615ff8a842d3ba022df52777436b
           Boot ID: c5e4c68c31ed40e18c210b75be8785de
    Virtualization: vmware
  Operating System: CentOS Linux 8
       CPE OS Name: cpe:/o:centos:centos:8
            Kernel: Linux 4.18.0-305.3.1.el8.x86_64
      Architecture: x86-64

릴리즈 정보 확인>
[root@server1 ~]# cat /etc/redhat-release
CentOS Linux release 8.4.2105

시간 관련 명령어>
date
1. 시간 확인 명령어
2. 시간 설정 명령어[현재는 사용하지 않음]
3. 출력 포맷을 변경하여 파일명에 시간을 붙이는 용도로 사용.

[root@server1 ~]# date
Sat Dec  4 10:07:03 KST 2021

vm에서는 시간정보가 거의 일치한다.
linux를 설치하게 되면 자동으로 설치
open vmware tools 설치하게

vmware tools>
host - guest 시간을 동기화

시간 변경 확인>
[root@server1 ~]# date 08161300 // 월 일 시 분
Mon Aug 16 13:00:00 KST 2021

[root@server1 ~]# date 081613002009     // 월 일 시 분 년도
Sun Aug 16 13:00:00 KST 2009

rdate 원격지 시간 정보 설정 / 네트워크 상태를 전혀 고려하지 않음 / 빠르게 설정
ntp   원격지 시간 정보 설정 / 네트워크 상태에 따라 변화한 시간 정보 값을 같이 계산하기 때문에 정확한 시간을 설정 / 바로 변경되지 않고 일정 시간

1. date 명령어로 먼저 변경할 시간에 근접하게 시간 설정
2. ntp 서비스 기동

로그 파일 생성>
[root@server1 test]# touch file_`date +%m%d`.log
[root@server1 test]# ll
total 0
-rw-r--r--. 1 root root 0 Dec  4 10:34 file_1204.log

시간 정보 돌리기>
1. chrony 패키지 확인
[root@server1 ~]# rpm -qa | grep chrony

2. chrony.conf 파일 내용 추가
[root@server1 ~]# echo -e "server time.bora.net iburst
server send.mx.cdnetworks.com iburst
" >> /etc/chrony.conf

3. 서비스 재시작
[root@server1 ~]# systemctl restart chronyd

4. 시간 확인
[root@server1 ~]# date

2교시 10:40 ~ 11:40>
현재 작업중인 디렉토리 확인>
[root@server1 test]# pwd
/root/test

작업 디렉토리 변경>
[team01@server1 ~]$ cd /test
[team01@server1 test]$ pwd
/test
[team01@server1 test]$ cd
[team01@server1 ~]$ pwd
/home/team01

1. 현재 내가 작업하고 있는 위치 pwd
2. 이동하는 위치 ?
  2-1. 절대경로 이동 cd /~
  2-2. 상대경로 이동 cd test
  
/root : root 홈디렉토리
/     : 최상위 디렉토리

절대경로 : 항상 시작점 동일
[root@server1 /]# pwd
/
[root@server1 /]# cd /bin
[root@server1 bin]# pwd
/bin
최상위 디렉토리 부터 내가 이동하려는 디렉토리까지 모든 위치를 입력을 하면 된다.

상대경로 : 현재 위치에서 위/아래로 이동하여 디렉토리를 변경하는 방법
[root@server1 /]# pwd
/
[root@server1 /]# cd bin
[root@server1 bin]# pwd
/bin

. 과 .. 의 차이>
.   : 현재 디렉토리를 표시
[root@server1 network-scripts]# cd .
[root@server1 network-scripts]# pwd
/etc/sysconfig/network-scripts
..  : 상위 디렉토리를 표시
[root@server1 network-scripts]# cd ..
[root@server1 sysconfig]# pwd
/etc/sysconfig

실행 파일 실행할떄>
./
[root@server1 cron.daily]# ./man-db.cron

3교시 11:50 ~ 12:50>
디렉토리 확인>
파일이름 / 디렉토리 이름 / inode 정보 확인
[root@server1 test]# ls -l file1
-rw-r--r--. 1 root root 0 Dec  4 12:06 file1

ls 옵션>
-a : 모든 파일 표시, 여기에는 숨김 파일(점(.)으로 시작하는 파일)도 표시한다.
-l : 디렉토리가 지정되는 경우 디렉토리의 내용을 자세히 보여준다. 또한 파일의 내용 이 지정되는 경우 파일의 속성 정보를 자세히 보여준다. 파일 종류, 링크 수, 소유자명, 그룹명, 파일 크기, 최종 수정일 및 용량, 파일명 표시한다.
-R : 해당 디렉토리와 서브디렉토리의 모든 내용을 표시
-F : 디렉토리인 경우에는 디렉토리 "/"표시를 하고 실행 파일인 경우는 뒤에 "*"표시를 한다.
-i : 해당 파일의 inode 번호를 표시한다.
-n : 파일의 소유자와 그룹을 숫자로( UID : GID )표시한다.
-d : 찾고자 하는 디렉토리에 관한 정보만을 표시한다.

4교시 11:50 ~ 13:30>
디렉토리 생성>
[root@server1 test]# mkdir -p dir2/dir3/dir4 // p : 부모디렉토리 생성
[root@server1 test]# tree /test
/test
├── dir1
└── dir2
    └── dir3
        └── dir4

디렉토리 삭제>
[root@server1 test]# rm -rf dir1 // 한개 삭제(안에 내용 잇어도 삭제)
[root@server1 test]# rmdir -p dir2/dir3/dir4 // 안에 디렉토리 삭제

touch>
1. 빈 파일 생성
2. 파일의 시간 변경
  2-1. 현재 시간으로 변경
  [root@server1 test]# cp -p /etc/passwd file2
  [root@server1 test]# ls -l
  total 4
  -rw-r--r--. 1 root root    0 Dec  4 12:51 file1
  -rw-r--r--. 1 root root 2597 Nov 27 16:53 file2
  [root@server1 test]# touch file2
  [root@server1 test]# ls -l
  total 4
  -rw-r--r--. 1 root root    0 Dec  4 12:51 file1
  -rw-r--r--. 1 root root 2597 Dec  4 12:52 file2
  2-2. 시간 지정 변경
  [root@server1 test]# cp -p /etc/passwd file4
  [root@server1 test]# ls -l
  total 12
  -rw-r--r--. 1 root root    0 Dec  4 12:51 file1
  -rw-r--r--. 1 root root 2597 Dec  4 12:52 file2
  -rw-r--r--. 1 root root 2597 Nov 27 16:53 file4
  [root@server1 test]# touch -t 08081230 file4
  [root@server1 test]# ls -l
  total 12
  -rw-r--r--. 1 root root    0 Dec  4 12:51 file1
  -rw-r--r--. 1 root root 2597 Dec  4 12:52 file2
  -rw-r--r--. 1 root root 2597 Aug  8 12:30 file4
  
cp>
파일 : cp 원본 대상
디렉토리 : cp -r 원본 대상
[root@server1 test]# touch file1
[root@server1 test]# ls -li
total 0
1411711 -rw-r--r--. 1 root root 0 Dec  4 12:56 file1
[root@server1 test]# cp file1 flie2
[root@server1 test]# ls -li
total 0
1411711 -rw-r--r--. 1 root root 0 Dec  4 12:56 file1
2139973 -rw-r--r--. 1 root root 0 Dec  4 12:56 flie2
[root@server1 test]#

[root@server1 test]# mkdir dir1
[root@server1 test]# ls -li
total 0
36649349 drwxr-xr-x. 2 root root 6 Dec  4 12:58 dir1
 1411711 -rw-r--r--. 1 root root 0 Dec  4 12:56 file1
 2139973 -rw-r--r--. 1 root root 0 Dec  4 12:56 flie2
[root@server1 test]# cp -r dir1 dir2
[root@server1 test]# ls -li
total 0
36649349 drwxr-xr-x. 2 root root 6 Dec  4 12:58 dir1
69901834 drwxr-xr-x. 2 root root 6 Dec  4 12:58 dir2
 1411711 -rw-r--r--. 1 root root 0 Dec  4 12:56 file1
 2139973 -rw-r--r--. 1 root root 0 Dec  4 12:56 flie2
[root@server1 test]#

mv> 이동 / 이름변경(단일 파일)
Term1 작업용
[root@server1 test]# touch file1
[root@server1 test]# mkdir dir1
[root@server1 test]# touch dir1/file2
[root@server1 test]# mv file1 file3
[root@server1 test]# mv file3 dir1
[root@server1 test]# mv dir1 dir2
[root@server1 test]# cp -r dir2 dir1
[root@server1 test]# mv dir1 dir2

Term2 모니터링용
[root@server1 test]# watch -n 1 tree /test

5교시 14:30 ~ 15:30>
rm> 삭제
rm 삭제할 대상

rm -i < 한번 확인
rm -r < 디렉토리 삭제

cat> 파일 결합 / 파일 내용 확인
-n : 줄번호를 공백을 포함하여 화면 왼쪽에 나타냄
[root@server1 test]# cat -n /etc/passwd
     1  root:x:0:0:root:/root:/bin/bash
     2  bin:x:1:1:bin:/bin:/sbin/nologin
     3  daemon:x:2:2:daemon:/sbin:/sbin/nologin
     4  adm:x:3:4:adm:/var/adm:/sbin/nologin
     5  lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
     6  sync:x:5:0:sync:/sbin:/bin/sync
     7  shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
     8  halt:x:7:0:halt:/sbin:/sbin/halt
     9  mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    10  operator:x:11:0:operator:/root:/sbin/nologin
    11  games:x:12:100:games:/usr/games:/sbin/nologin
    12  ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    13  nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
    14  dbus:x:81:81:System message bus:/:/sbin/nologin
    15  systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
    16  systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin
    17  tss:x:59:59:Account used for TPM access:/dev/null:/sbin/nologin
    18  polkitd:x:998:996:User for polkitd:/:/sbin/nologin
    19  geoclue:x:997:995:User for geoclue:/var/lib/geoclue:/sbin/nologin
    20  rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
    21  pipewire:x:996:992:PipeWire System Daemon:/var/run/pipewire:/sbin/nologin
    22  pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
    23  libstoragemgmt:x:995:989:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
    24  qemu:x:107:107:qemu user:/:/sbin/nologin
    25  usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
    26  unbound:x:994:988:Unbound DNS resolver:/etc/unbound:/sbin/nologin
    27  gluster:x:993:987:GlusterFS daemons:/run/gluster:/sbin/nologin
    28  rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
    29  avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
    30  saslauth:x:992:76:Saslauthd user:/run/saslauthd:/sbin/nologin
    31  dnsmasq:x:985:985:Dnsmasq DHCP and DNS server:/var/lib/dnsmasq:/sbin/nologin
    32  radvd:x:75:75:radvd user:/:/sbin/nologin
    33  sssd:x:984:984:User for sssd:/:/sbin/nologin
    34  cockpit-ws:x:983:982:User for cockpit web service:/nonexisting:/sbin/nologin
    35  cockpit-wsinstance:x:982:981:User for cockpit-ws instances:/nonexisting:/sbin/nologin
    36  chrony:x:981:980::/var/lib/chrony:/sbin/nologin
    37  colord:x:980:979:User for colord:/var/lib/colord:/sbin/nologin
    38  rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
    39  setroubleshoot:x:979:978::/var/lib/setroubleshoot:/sbin/nologin
    40  flatpak:x:978:977:User for flatpak system helper:/:/sbin/nologin
    41  gdm:x:42:42::/var/lib/gdm:/sbin/nologin
    42  clevis:x:977:976:Clevis Decryption Framework unprivileged user:/var/cache/clevis:/sbin/nologin
    43  gnome-initial-setup:x:976:975::/run/gnome-initial-setup/:/sbin/nologin
    44  sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    45  tcpdump:x:72:72::/:/sbin/nologin
    46  team01:x:1000:1000:team01:/home/team01:/bin/bash
    47  fedora:x:1001:1001::/home/fedora:/bin/bash
[root@server1 test]#

[root@server1 test]# cat /etc/passwd | grep team01
team01:x:1000:1000:team01:/home/team01:/bin/bash

[root@server1 test]# cat file1 file2 > file3
[root@server1 test]# cat file3
1111
2222

파일의 내용을 확인 하는 경우에도 file 명령어로 형식을 먼저 확인
[root@server1 test]# file *
file1: ASCII text
file2: ASCII text
file3: ASCII text
file4: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=056dda3f1b77919163a7de5563a2b9d9d245554c, stripped

cat 단점은 출력물이 긴 경우에는 한번에 지나간다.

more>
[root@server1 test]# more /etc/services

전체내용을 출력하고 마지막만 확인 가능
[root@server1 test]# cat /etc/services

첫 페이지에서 화면상에 출력 할 수 있는 만큼 출력하고 상태
[root@server1 test]# more /etc/services

haed> 파일의 시작 부분을 학인 / 기본 10줄

tail> 파일의 끝 부분을 확인 / 파일에 추가되는 데이터를 확인[모니터링] / 기본 10줄
[root@server1 test]# useradd user01
[root@server1 test]# tail -1 /etc/passwd
user01:x:1002:1002::/home/user01:/bin/bash

일정부분 잘라내기>
[root@server1 test]# cat file20 | head -20 | tail -10
    11  games:x:12:100:games:/usr/games:/sbin/nologin
    12  ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    13  nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
    14  dbus:x:81:81:System message bus:/:/sbin/nologin
    15  systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
    16  systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin
    17  tss:x:59:59:Account used for TPM access:/dev/null:/sbin/nologin
    18  polkitd:x:998:996:User for polkitd:/:/sbin/nologin
    19  geoclue:x:997:995:User for geoclue:/var/lib/geoclue:/sbin/nologin
    20  rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin

6교시 15:40 ~ 16:40>
wc>
[root@server1 test]# wc -l /etc/passwd
48 /etc/passwd

[root@server1 test]# rpm -qa | wc -l
1370

[root@server1 test]# ps -ef | wc -l
213

[root@server1 test]# ls -lR /etc | grep ^d | wc -l
396

[root@server1 test]# cat /etc/passwd | wc -l
48

[root@server1 test]# ls -l /home | wc -l
4

su> 계정 전환
[root@server1 test]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@server1 test]# su fedora
[fedora@server1 test]$ echo $PATH
/home/fedora/.local/bin:/home/fedora/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[fedora@server1 test]$

[root@server1 test]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@server1 test]# su - fedora
[fedora@server1 ~]$ echo $PATH
/home/fedora/.local/bin:/home/fedora/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
[fedora@server1 ~]$

관리자 -> 일반 / 비밀번호 필요 없음
일반 -> 일반 / 비밀번호 필요
일반 -> 관리자 / 비밀번호 필요

- : 환경 변수를 재적용

id> 현재 내가 접속한 계정의 기본 정보
[fedora@server1 ~]$ id
uid=1001(fedora) gid=1001(fedora) groups=1001(fedora) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[fedora@server1 ~]$ id -g
1001
[fedora@server1 ~]$ id -u
1001
[fedora@server1 ~]$ id -un
fedora
[fedora@server1 ~]$

groups> 

lastlog> 사용자의 마지막 로그인 정보만을 출력

last> 서버를 이용하는 각 계정사용자들의 로그인 정보
[fedora@server1 log]$ last -f wtmp
root     pts/2        192.168.10.1     Sat Dec  4 13:12   still logged in
team01   pts/1        192.168.10.1     Sat Dec  4 11:56   still logged in
root     pts/0        192.168.10.1     Sat Dec  4 10:51    gone - no logout
root     tty1                          Sat Dec  4 10:51    gone - no logout
reboot   system boot  4.18.0-305.3.1.e Sat Dec  4 10:51   still running
root     pts/0        192.168.10.1     Sun Aug 16 13:16 - 10:44 (4492+21:28)
root     pts/1        192.168.10.1     Sat Dec  4 10:13 - 13:15 (-4492+20:57)
root     pts/0        192.168.10.1     Sat Dec  4 09:50 - 13:13 (-4492+20:36)
root     tty1                          Sat Dec  4 09:49 - 10:44  (00:54)
reboot   system boot  4.18.0-305.3.1.e Sat Dec  4 09:49 - 10:44  (00:54)
root     tty2         tty2             Sun Nov 28 19:47 - down   (00:12)
root     tty1                          Sun Nov 28 19:46 - 19:47  (00:00)
reboot   system boot  4.18.0-305.3.1.e Sun Nov 28 19:46 - 20:00  (00:13)
root     web console  ::ffff:192.168.1 Sat Nov 27 19:17 - 19:17  (00:00)
root     pts/0        192.168.10.1     Sat Nov 27 19:06 - 19:27  (00:21)
root     tty1                          Sat Nov 27 19:06 - 19:14  (00:08)
reboot   system boot  4.18.0-305.3.1.e Sat Nov 27 19:05 - 19:27  (00:21)
root     pts/0        192.168.10.1     Sat Nov 27 17:38 - 17:57  (00:19)
root     pts/0        192.168.10.1     Sat Nov 27 17:04 - 17:37  (00:33)
root     pts/0        192.168.10.1     Sat Nov 27 16:46 - 17:03  (00:17)
root     tty1                          Sat Nov 27 16:46 - 17:57  (01:11)
reboot   system boot  4.18.0-305.3.1.e Sat Nov 27 16:46 - 17:57  (01:11)
root     tty2         tty2             Sat Nov 27 16:21 - down   (00:24)
root     tty1                          Sat Nov 27 16:20 - 16:21  (00:00)
root     web console  ::ffff:192.168.1 Sat Nov 27 16:01 - 16:02  (00:00)
root     pts/0        192.168.10.1     Sat Nov 27 15:58 - 16:45  (00:47)
root     tty1                          Sat Nov 27 15:56 - 16:20  (00:24)
reboot   system boot  4.18.0-305.3.1.e Sat Nov 27 15:56 - 16:45  (00:49)
root     tty2         tty2             Sat Nov 27 15:55 - down   (00:00)
root     tty2         tty2             Sat Nov 27 15:46 - 15:55  (00:08)
root     pts/1        192.168.10.1     Sat Nov 27 15:44 - 15:55  (00:10)
root     pts/0        192.168.10.1     Sat Nov 27 15:43 - 15:56  (00:12)
root     pts/0        192.168.10.1     Sat Nov 27 15:42 - 15:43  (00:00)
reboot   system boot  4.18.0-305.3.1.e Sat Nov 27 15:30 - 15:56  (00:25)
root     pts/1        192.168.10.1     Sat Nov 27 14:40 - 15:02  (00:21)
root     pts/1        192.168.10.1     Sat Nov 27 13:02 - 14:38  (01:36)
root     tty4         tty4             Sat Nov 27 12:57 - down   (02:05)
root     tty3         tty3             Sat Nov 27 12:55 - 12:55  (00:00)
root     tty2         tty2             Sat Nov 27 12:52 - 12:54  (00:01)
reboot   system boot  4.18.0-305.3.1.e Sat Nov 27 12:47 - 15:02  (02:15)
reboot   system boot  4.18.0-305.3.1.e Sat Nov 27 12:34 - 12:46  (00:12)

wtmp begins Sat Nov 27 12:34:32 2021

lastb> 접속 실패 로그를 출력
[fedora@server1 log]$ lastb -f btmp-20211204
lastb: cannot open btmp-20211204: Permission denied

who> 접속자 / 장치를 이용하는지 / 언제 로그인 / 어디서 로그인 확인
[fedora@server1 log]$ who
root     tty1         2021-12-04 10:51
root     pts/0        2021-12-04 10:51 (192.168.10.1)
team01   pts/1        2021-12-04 11:56 (192.168.10.1)
root     pts/2        2021-12-04 13:12 (192.168.10.1)

[fedora@server1 log]$ who m i
root     pts/0        2021-12-04 10:51 (192.168.10.1)

[fedora@server1 log]$ whoami
fedora

w> 시스템에 login한 사용자가 어떤 명령어를 실행하는지 확인
[root@server1 test]# w
 16:14:46 up  5:19,  4 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1     -                10:51    5:01m  0.05s  0.05s -bash
root     pts/0    192.168.10.1     10:51    2.00s  2.15s  0.00s w
team01   pts/1    192.168.10.1     11:56    6.00s  0.12s  0.03s vim /etc/passwd
root     pts/2    192.168.10.1     13:12    1:48   0.19s  0.19s -bash

[root@server1 test]# watch -n 1 'w'

7교시 16:50 ~ 17:50>
파일의 종류>
일반 파일(Egular File)
디렉토리 파일(Directory File)
링크 파일(Link File)

문자 : 파일 종류>
 - : 일반 파일(Egular File)
 d : 디렉토리 파일(Directory File)
 b : 블록 디바이스 파일 (Block Device File, (예) /dev/sha, /dev/hda, /dev/fd0)
 c : 문자 디바이스 파일 (Character Device File, 입출력 장치)
 l : 심볼릭 링크(Symbolic Link File)
 
파일에서 특수문자로 파일명을 생성하면 안되는 이유는 특수문자들이 쉘(bash)에서 특정한 기능을 수행하기 때문에 사용하게 되면 쉘은 특수문자를 특수한 기능으로 실행하려 하기 때문에 충돌이 일어난다.

inode> 파일에 대한 정보를 담고 있는 부분
[root@server1 test]# df -i
Filesystem            Inodes  IUsed    IFree IUse% Mounted on
devtmpfs              491936    408   491528    1% /dev
tmpfs                 499520      1   499519    1% /dev/shm
tmpfs                 499520    801   498719    1% /run
tmpfs                 499520     17   499503    1% /sys/fs/cgroup
/dev/mapper/cl-root 33488896 124052 33364844    1% /
/dev/mapper/cl-home 16349184     37 16349147    1% /home
/dev/sda1             524288    308   523980    1% /boot
tmpfs                 499520      9   499511    1% /run/user/0
tmpfs                 499520     12   499508    1% /run/user/1000

- 파일의 종류(File Type)
- 파일의 퍼미션모드(File Permission Mode)
- 파일의 소유자, 그룹(File Ownership, Groupship)
- 파일의 링크수(Hard Link Count)
- 파일의 마지막 접근 시간(Access Time), 수정시간(Modification Time)
- 파일의 크기(Bytes, 할당된 또는 사용중인 데이터블럭의 수)
- 두가지 형태의 포인터(Direct Pointers and Indirect Pointers)

[root@server1 test]# ls -li
total 0
1411711 -rw-r--r--. 1 root root 0 Dec  4 17:06 file1
[root@server1 test]# find . -inum 1411711
./file1

Hard Link File> 원본파일의 경로를 저장하고 있는 파일 / 파일시스템이 다르면 생성이 되지 않음
[root@server1 test]# ln file1 file2
[root@server1 test]# ls -li file1 file2
1411711 -rw-r--r--. 2 root root 0 Dec  4 17:06 file1
1411711 -rw-r--r--. 2 root root 0 Dec  4 17:06 file2

Soft Link File> 원본파일이 지워지게 되면 링크 파일에 영향을 미침
[root@server1 test]# ln -s file2 file3
[root@server1 test]# ls -li file2 file3
1411711 -rw-r--r--. 2 root root 0 Dec  4 17:06 file2
1142142 lrwxrwxrwx. 1 root root 5 Dec  4 17:15 file3 -> file2

8교시 18:00 ~ 18:30>
하드 링크 : inode 를 동일하게 사용하고 데이터 블럭을 공유 / 같은 파일시스템 내에서만 생성 가능
소프트 링크 : 원본이 수정되도 용량이 늘어나지도 않고 줄어들지도 않는다. / 절대 경로로 생성 한다.
[root@server1 test]# ln -s /test/file1 file2
[root@server1 test]# ls -l
total 4
-rw-r--r--. 1 root root  4 Dec  4 17:52 file1
lrwxrwxrwx. 1 root root 11 Dec  4 17:54 file2 -> /test/file1

[root@server1 test]# ln -s /test/file1 /home/file2
[root@server1 test]# cd /home
[root@server1 home]# ls -l
total 0
drwx------. 4 fedora fedora 113 Nov 27 17:03 fedora
lrwxrwxrwx. 1 root   root    11 Dec  4 17:55 file2 -> /test/file1
drwx------. 5 team01 team01 145 Dec  4 11:56 team01
drwx------. 3 user01 user01  78 Dec  4 15:05 user01
[root@server1 home]# cat file2
444
[root@server1 home]#

디스크 확인>
[root@server1 dev]# ls -l | grep disk
drwxr-xr-x. 6 root root         120 Dec  4 10:51 disk
brw-rw----. 1 root disk    253,   0 Dec  4 10:51 dm-0
brw-rw----. 1 root disk    253,   1 Dec  4 10:51 dm-1
brw-rw----. 1 root disk    253,   2 Dec  4 10:51 dm-2
crw-rw----. 1 root disk     10, 237 Dec  4 10:51 loop-control
brw-rw----. 1 root disk      8,   0 Dec  4 10:51 sda
brw-rw----. 1 root disk      8,   1 Dec  4 10:51 sda1
brw-rw----. 1 root disk      8,   2 Dec  4 10:51 sda2
crw-rw----. 1 root disk     21,   0 Dec  4 10:51 sg0

[root@server1 dev]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0  100G  0 disk
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0   99G  0 part
  ├─cl-root 253:0    0 63.9G  0 lvm  /
  ├─cl-swap 253:1    0    4G  0 lvm  [SWAP]
  └─cl-home 253:2    0 31.2G  0 lvm  /home
sr0          11:0    1 1024M  0 rom

[root@server1 dev]# ls -l | grep tty
crw-rw-rw-. 1 root tty       5,   2 Dec  4 18:06 ptmx
crw-rw-rw-. 1 root tty       5,   0 Dec  4 10:51 tty
crw--w----. 1 root tty       4,   0 Dec  4 10:51 tty0
crw--w----. 1 root tty       4,   1 Dec  4 11:12 tty1
crw--w----. 1 root tty       4,  10 Dec  4 10:51 tty10
crw--w----. 1 root tty       4,  11 Dec  4 10:51 tty11
crw--w----. 1 root tty       4,  12 Dec  4 10:51 tty12
crw--w----. 1 root tty       4,  13 Dec  4 10:51 tty13
crw--w----. 1 root tty       4,  14 Dec  4 10:51 tty14
crw--w----. 1 root tty       4,  15 Dec  4 10:51 tty15
crw--w----. 1 root tty       4,  16 Dec  4 10:51 tty16
crw--w----. 1 root tty       4,  17 Dec  4 10:51 tty17
crw--w----. 1 root tty       4,  18 Dec  4 10:51 tty18
crw--w----. 1 root tty       4,  19 Dec  4 10:51 tty19
crw--w----. 1 root tty       4,   2 Dec  4 10:51 tty2
crw--w----. 1 root tty       4,  20 Dec  4 10:51 tty20
crw--w----. 1 root tty       4,  21 Dec  4 10:51 tty21
crw--w----. 1 root tty       4,  22 Dec  4 10:51 tty22
crw--w----. 1 root tty       4,  23 Dec  4 10:51 tty23
crw--w----. 1 root tty       4,  24 Dec  4 10:51 tty24
crw--w----. 1 root tty       4,  25 Dec  4 10:51 tty25
crw--w----. 1 root tty       4,  26 Dec  4 10:51 tty26
crw--w----. 1 root tty       4,  27 Dec  4 10:51 tty27
crw--w----. 1 root tty       4,  28 Dec  4 10:51 tty28
crw--w----. 1 root tty       4,  29 Dec  4 10:51 tty29
crw--w----. 1 root tty       4,   3 Dec  4 10:51 tty3
crw--w----. 1 root tty       4,  30 Dec  4 10:51 tty30
crw--w----. 1 root tty       4,  31 Dec  4 10:51 tty31
crw--w----. 1 root tty       4,  32 Dec  4 10:51 tty32
crw--w----. 1 root tty       4,  33 Dec  4 10:51 tty33
crw--w----. 1 root tty       4,  34 Dec  4 10:51 tty34
crw--w----. 1 root tty       4,  35 Dec  4 10:51 tty35
crw--w----. 1 root tty       4,  36 Dec  4 10:51 tty36
crw--w----. 1 root tty       4,  37 Dec  4 10:51 tty37
crw--w----. 1 root tty       4,  38 Dec  4 10:51 tty38
crw--w----. 1 root tty       4,  39 Dec  4 10:51 tty39
crw--w----. 1 root tty       4,   4 Dec  4 10:51 tty4
crw--w----. 1 root tty       4,  40 Dec  4 10:51 tty40
crw--w----. 1 root tty       4,  41 Dec  4 10:51 tty41
crw--w----. 1 root tty       4,  42 Dec  4 10:51 tty42
crw--w----. 1 root tty       4,  43 Dec  4 10:51 tty43
crw--w----. 1 root tty       4,  44 Dec  4 10:51 tty44
crw--w----. 1 root tty       4,  45 Dec  4 10:51 tty45
crw--w----. 1 root tty       4,  46 Dec  4 10:51 tty46
crw--w----. 1 root tty       4,  47 Dec  4 10:51 tty47
crw--w----. 1 root tty       4,  48 Dec  4 10:51 tty48
crw--w----. 1 root tty       4,  49 Dec  4 10:51 tty49
crw--w----. 1 root tty       4,   5 Dec  4 10:51 tty5
crw--w----. 1 root tty       4,  50 Dec  4 10:51 tty50
crw--w----. 1 root tty       4,  51 Dec  4 10:51 tty51
crw--w----. 1 root tty       4,  52 Dec  4 10:51 tty52
crw--w----. 1 root tty       4,  53 Dec  4 10:51 tty53
crw--w----. 1 root tty       4,  54 Dec  4 10:51 tty54
crw--w----. 1 root tty       4,  55 Dec  4 10:51 tty55
crw--w----. 1 root tty       4,  56 Dec  4 10:51 tty56
crw--w----. 1 root tty       4,  57 Dec  4 10:51 tty57
crw--w----. 1 root tty       4,  58 Dec  4 10:51 tty58
crw--w----. 1 root tty       4,  59 Dec  4 10:51 tty59
crw--w----. 1 root tty       4,   6 Dec  4 10:51 tty6
crw--w----. 1 root tty       4,  60 Dec  4 10:51 tty60
crw--w----. 1 root tty       4,  61 Dec  4 10:51 tty61
crw--w----. 1 root tty       4,  62 Dec  4 10:51 tty62
crw--w----. 1 root tty       4,  63 Dec  4 10:51 tty63
crw--w----. 1 root tty       4,   7 Dec  4 10:51 tty7
crw--w----. 1 root tty       4,   8 Dec  4 10:51 tty8
crw--w----. 1 root tty       4,   9 Dec  4 10:51 tty9
crw-rw----. 1 root dialout   4,  64 Dec  4 10:51 ttyS0
crw-rw----. 1 root dialout   4,  65 Dec  4 10:51 ttyS1
crw-rw----. 1 root dialout   4,  66 Dec  4 10:51 ttyS2
crw-rw----. 1 root dialout   4,  67 Dec  4 10:51 ttyS3
crw-rw----. 1 root tty       7,   0 Dec  4 10:51 vcs
crw-rw----. 1 root tty       7,   1 Dec  4 10:51 vcs1
crw-rw----. 1 root tty       7,   2 Dec  4 10:51 vcs2
crw-rw----. 1 root tty       7,   3 Dec  4 10:51 vcs3
crw-rw----. 1 root tty       7,   4 Dec  4 10:51 vcs4
crw-rw----. 1 root tty       7,   5 Dec  4 10:51 vcs5
crw-rw----. 1 root tty       7,   6 Dec  4 10:51 vcs6
crw-rw----. 1 root tty       7, 128 Dec  4 10:51 vcsa
crw-rw----. 1 root tty       7, 129 Dec  4 10:51 vcsa1
crw-rw----. 1 root tty       7, 130 Dec  4 10:51 vcsa2
crw-rw----. 1 root tty       7, 131 Dec  4 10:51 vcsa3
crw-rw----. 1 root tty       7, 132 Dec  4 10:51 vcsa4
crw-rw----. 1 root tty       7, 133 Dec  4 10:51 vcsa5
crw-rw----. 1 root tty       7, 134 Dec  4 10:51 vcsa6

 

https://youtu.be/Olfw3aVznz8

 

https://youtu.be/bV8hni-f2eU

 

https://youtu.be/iFjb1QzBY-U

 

https://youtu.be/sBLR-n609kg

 

반응형