在Linux系統(tǒng)中,文件名和文件數(shù)據(jù)是分開存儲(chǔ)的
文件數(shù)據(jù)包含 元信息(即不包含文件名的文件屬性)? ?和? ? 實(shí)際數(shù)據(jù)
文件元信息存儲(chǔ)在 inode(索引節(jié)點(diǎn))里,
文件實(shí)際數(shù)據(jù)存儲(chǔ)在 block(塊)里;
文件名存儲(chǔ)在目錄塊里
查看文件的元信息? ? ?
stat? 文件名
[root@localhost ~]# stat anaconda-ks.cfg
文件:"anaconda-ks.cfg"
大?。?074 塊:8 IO 塊:4096 普通文件
設(shè)備:fd00h/64768d Inode:67144898 硬鏈接:1
權(quán)限:(0600/-rw-------) Uid:( 0/ root) Gid:( 0/ root)
環(huán)境:system_u:object_r:admin_home_t:s0
最近訪問:2024-04-12 01:44:39.005730620 +0800
最近更改:2024-04-12 01:44:14.354964618 +0800
最近改動(dòng):2024-04-12 01:44:14.354964618 +0800
創(chuàng)建時(shí)間:-
[root@localhost ~]#
改變ctime?(修改最近文件屬性時(shí)間)
[root@localhost ~]# echo 123456 >> anaconda-ks.cfg //輸入123456 到anaconda-ks.cfg 末尾
[root@localhost ~]# cat anaconda-ks.cfg
[root@localhost ~]# cat anaconda-ks.cfg
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=cn --xlayouts='cn'
# System language
lang zh_CN.UTF-8
# Network information
network --bootproto=dhcp --device=ens33 --onboot=off --ipv6=auto --no-activate
network --hostname=localhost.localdomain
# Root password
rootpw --iscrypted $6$lCNsNLYBoSLgy1xJ$fLC2eqvnd./OQYO3ueDaWdIXNaTHjWCWiVdbYXDKicx7X4O5uG3TCernPM4cmO4F2T6swRQiL.QHeb2ZjSSix0
# System services
services --enabled="chronyd"
# System timezone
timezone Asia/Shanghai --isUtc
user --name=test --password=$6$pqpVPolNrgdFy0.l$eDkOH6pHUFPKo6nLELC7oqLKyMW6VzMY5gRgTK0C.vW6S9sBu5xCvS168FgT.THqeNBoTpZYbJDWJcn.AvBUY. --iscrypted --gecos="test"
# X Window System configuration information
xconfig --startxonboot
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
# Partition clearing information
clearpart --none --initlabel
# Disk partitioning information
part pv.157 --fstype="lvmpv" --ondisk=sda --size=39935
part /boot --fstype="xfs" --ondisk=sda --size=1024
volgroup centos --pesize=4096 pv.157
logvol / --fstype="xfs" --grow --maxsize=51200 --size=1024 --name=root --vgname=centos
logvol swap --fstype="swap" --size=3968 --name=swap --vgname=centos
%packages
@^gnome-desktop-environment
@base
@core
@desktop-debugging
@development
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@networkmanager-submodules
@print-client
@x11
chrony
kexec-tools
%end
%addon com_redhat_kdump --enable --reserve-mb='auto'
%end
%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
123456
[root@localhost ~]#
?
查看文件的inode號? ??
stat? 文件名? ? ? ls -i 文件名
[root@localhost ~]# ls -l //已長格式的形式查看文件
總用量 8
-rw-------. 1 root root 2074 4月 12 01:44 anaconda-ks.cfg
-rw-r--r--. 1 root root 2122 4月 12 01:45 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 4月 12 01:45 公共
drwxr-xr-x. 2 root root 6 4月 12 01:45 模板
drwxr-xr-x. 2 root root 6 4月 12 01:45 視頻
drwxr-xr-x. 2 root root 6 4月 12 01:45 圖片
drwxr-xr-x. 2 root root 6 4月 12 01:45 文檔
drwxr-xr-x. 2 root root 6 4月 12 01:45 下載
drwxr-xr-x. 2 root root 6 4月 12 01:45 音樂
drwxr-xr-x. 2 root root 6 4月 12 01:45 桌面
[root@localhost ~]#
[root@localhost ~]# ls -l -i //以長格式的形式查看文件和inode號
總用量 8
67144898 -rw-------. 1 root root 2074 4月 12 01:44 anaconda-ks.cfg
67144914 -rw-r--r--. 1 root root 2122 4月 12 01:45 initial-setup-ks.cfg
67163511 drwxr-xr-x. 2 root root 6 4月 12 01:45 公共
34475388 drwxr-xr-x. 2 root root 6 4月 12 01:45 模板
67163512 drwxr-xr-x. 2 root root 6 4月 12 01:45 視頻
34475389 drwxr-xr-x. 2 root root 6 4月 12 01:45 圖片
102606812 drwxr-xr-x. 2 root root 6 4月 12 01:45 文檔
86015 drwxr-xr-x. 2 root root 6 4月 12 01:45 下載
86016 drwxr-xr-x. 2 root root 6 4月 12 01:45 音樂
102606811 drwxr-xr-x. 2 root root 6 4月 12 01:45 桌面
?
[root@localhost ~]# stat anaconda-ks.cfg
文件:"anaconda-ks.cfg"
大?。?074 塊:8 IO 塊:4096 普通文件
設(shè)備:fd00h/64768d Inode:67144898 硬鏈接:1
權(quán)限:(0600/-rw-------) Uid:( 0/ root) Gid:( 0/ root)
環(huán)境:system_u:object_r:admin_home_t:s0
最近訪問:2024-04-12 01:44:39.005730620 +0800
最近更改:2024-04-12 01:44:14.354964618 +0800
最近改動(dòng):2024-04-12 01:44:14.354964618 +0800
創(chuàng)建時(shí)間:-
[root@localhost ~]#
查看每個(gè)分區(qū)的inode數(shù)量
df -i
[root@localhost ~]# ls -i
85936 abc 67163512 視頻
67163545 abc.txt 34475389 圖片
67144898 anaconda-ks.cfg 102606812 文檔
67144914 initial-setup-ks.cfg 86015 下載
67163511 公共 86016 音樂
34475388 模板 102606811 桌面
[root@localhost ~]#
Linux系統(tǒng)不使用 文件名 識(shí)別文件,而使用 inode號 來識(shí)別文件,文件名只是 inode號 便于識(shí)別的別稱,文件名和inode號是一一對應(yīng)的。
用戶通過文件名訪問文件的過程:
- 先根據(jù)文件名找到對應(yīng)的inode號;
- 再通過inode號獲取inode信息;
- 再根據(jù)inode信息判斷用戶是否具有訪問權(quán)限;
- 如果有則指向?qū)嶋H教據(jù)的塊并讀取數(shù)據(jù),否則拒絕訪問。
直接查看和vim編輯器查看
- 直接?xùn)丝?、修改文件?nèi)容或者改變文件名都不會(huì)影響 inode號,
- 使用 vi 編輯器修改文件保存退出后會(huì)影響 inode號
針對無法正常刪除文件名含有特殊符號的文件時(shí),可根據(jù) inode號 來刪除文件
find? 目錄? -inum <inodeu>-delete
實(shí)驗(yàn)?
?
[root@localhost ~]# fdisk -l
磁盤 /dev/sdc:21.5 GB, 21474836480 字節(jié),41943040 個(gè)扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤 /dev/sdb:21.5 GB, 21474836480 字節(jié),41943040 個(gè)扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤 /dev/sda:42.9 GB, 42949672960 字節(jié),83886080 個(gè)扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤標(biāo)簽類型:dos
磁盤標(biāo)識(shí)符:0x0009ec77
設(shè)備 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 83886079 40893440 8e Linux LVM
磁盤 /dev/mapper/centos-root:37.7 GB, 37706792960 字節(jié),73646080 個(gè)扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤 /dev/mapper/centos-swap:4160 MB, 4160749568 字節(jié),8126464 個(gè)扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
[root@localhost ~]#
?
?
[root@localhost ~]#
[root@localhost ~]# fdisk -l
磁盤 /dev/sdc:21.5 GB, 21474836480 字節(jié),41943040 個(gè)扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤 /dev/sdb:21.5 GB, 21474836480 字節(jié),41943040 個(gè)扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤標(biāo)簽類型:dos
磁盤標(biāo)識(shí)符:0x635e871e
設(shè)備 Boot Start End Blocks Id System
/dev/sdb1 2048 41943039 20970496 83 Linux
磁盤 /dev/sda:42.9 GB, 42949672960 字節(jié),83886080 個(gè)扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤標(biāo)簽類型:dos
磁盤標(biāo)識(shí)符:0x0009ec77
設(shè)備 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 83886079 40893440 8e Linux LVM
磁盤 /dev/mapper/centos-root:37.7 GB, 37706792960 字節(jié),73646080 個(gè)扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤 /dev/mapper/centos-swap:4160 MB, 4160749568 字節(jié),8126464 個(gè)扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
[root@localhost ~]#
[root@localhost ~]# mkfs -t ext3 /dev/sdb1 //格式化/dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系統(tǒng)標(biāo)簽=
OS type: Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 inodes, 5242624 blocks
262131 blocks (5.00%) reserved for the super user
第一個(gè)數(shù)據(jù)塊=0
Maximum filesystem blocks=4294967296
160 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Allocating group tables: 完成
正在寫入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@localhost ~]
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# mkdir /xy101 //創(chuàng)建
[root@localhost ~]# mount /dev/sdb1 /xy101/ //掛載
[root@localhost ~]# df -hT //查看
文件系統(tǒng) 類型 容量 已用 可用 已用% 掛載點(diǎn)
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 13M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 36G 4.4G 31G 13% /
/dev/sda1 xfs 1014M 187M 828M 19% /boot
tmpfs tmpfs 378M 12K 378M 1% /run/user/42
tmpfs tmpfs 378M 0 378M 0% /run/user/0
/dev/sdb1 ext3 20G 45M 19G 1% /xy101
[root@localhost ~]#
[root@localhost opt]# rz -E //傳輸文件
[root@localhost opt]# ls
CentOS_7_64_位【2】.xsh rh
extundelete-0.2.4.tar.bz2
[root@localhost opt]#
[root@localhost opt]# mount /dev/sr0 /mnt //掛載到光盤
mount: /dev/sr0 寫保護(hù),將以只讀方式掛載
[root@localhost opt]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
local.repo repo.bak
[root@localhost yum.repos.d]
[root@localhost yum.repos.d]# cat local.repo
[local]
name=local
baseurl=ffile:///mnt
enabled=1
gpgcheck=0
#gpgkey=file:///mnt/RPM-GPG-KEY-Centos-7
[root@localhost yum.repos.d]#
[root@localhost ~]# yum install -y e2fsprogs-libs e2fsprogs-devel //安裝依賴包
已加載插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
軟件包 e2fsprogs-libs-1.42.9-19.el7.x86_64 已安裝并且是最新版本
正在解決依賴關(guān)系
--> 正在檢查事務(wù)
---> 軟件包 e2fsprogs-devel.x86_64.0.1.42.9-19.el7 將被 安裝
--> 正在處理依賴關(guān)系 libcom_err-devel(x86-64) = 1.42.9-19.el7,它被軟件包 e2fsprogs-devel-1.42.9-19.el7.x86_64 需要
--> 正在處理依賴關(guān)系 pkgconfig(com_err),它被軟件包 e2fsprogs-devel-1.42.9-19.el7.x86_64 需要
--> 正在檢查事務(wù)
---> 軟件包 libcom_err-devel.x86_64.0.1.42.9-19.el7 將被 安裝
--> 解決依賴關(guān)系完成
依賴關(guān)系解決
========================================================================================================================================================
Package 架構(gòu) 版本 源 大小
========================================================================================================================================================
正在安裝:
e2fsprogs-devel x86_64 1.42.9-19.el7 local 73 k
為依賴而安裝:
libcom_err-devel x86_64 1.42.9-19.el7 local 32 k
事務(wù)概要
========================================================================================================================================================
安裝 1 軟件包 (+1 依賴軟件包)
總下載量:105 k
安裝大小:179 k
Downloading packages:
--------------------------------------------------------------------------------------------------------------------------------------------------------
總計(jì) 3.0 MB/s | 105 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安裝 : libcom_err-devel-1.42.9-19.el7.x86_64 1/2
正在安裝 : e2fsprogs-devel-1.42.9-19.el7.x86_64 2/2
驗(yàn)證中 : libcom_err-devel-1.42.9-19.el7.x86_64 1/2
驗(yàn)證中 : e2fsprogs-devel-1.42.9-19.el7.x86_64 2/2
已安裝:
e2fsprogs-devel.x86_64 0:1.42.9-19.el7
作為依賴被安裝:
libcom_err-devel.x86_64 0:1.42.9-19.el7
完畢!
[root@localhost yum.repos.d]#
[root@localhost yum.repos.d]# ls
local.repo repo.bak
[root@localhost yum.repos.d]# cd /opt
[root@localhost opt]# ls
rh extundelete-0.2.4.tar.bz2
[root@localhost opt]# tar xf extundelete-0.2.4.tar.bz2
[root@localhost opt]# ls
extundelete-0.2.4 extundelete-0.2.4.tar.bz2 rh
[root@localhost opt]#
[root@localhost opt]#
[root@localhost opt]# cd extundelete-0.2.4/
[root@localhost extundelete-0.2.4]# ls
acinclude.m4 autogen.sh configure depcomp LICENSE Makefile.in README
aclocal.m4 config.h.in configure.ac install-sh Makefile.am missing src
[root@localhost extundelete-0.2.4]#
[root@localhost extundelete-0.2.4]# ./configure --prefix=/usr/local/extundelete//進(jìn)行配置指定安裝目錄
Configuring extundelete 0.2.4
Writing generated files to disk
[root@localhost extundelete-0.2.4]#
[root@localhost extundelete-0.2.4]# make && make install
make -s all-recursive
Making all in src
extundelete.cc: 在函數(shù)‘ext2_ino_t find_inode(ext2_filsys, ext2_filsys, ext2_inode*, std::string, int)’中:
extundelete.cc:1272:29: 警告:在 {} 內(nèi)將‘search_flags’從‘int’轉(zhuǎn)換為較窄的類型‘ext2_ino_t {aka unsigned int}’ [-Wnarrowing]
buf, match_name2, priv, 0};
^
Making install in src
/usr/bin/install -c extundelete '/usr/local/extundelete/bin'
[root@localhost extundelete-0.2.4]#
[root@localhost extundelete-0.2.4]# cd /usr/local/
[root@localhost local]# cd /usr/local
[root@localhost local]# ls
bin extundelete include lib64 sbin src
etc games lib libexec share
[root@localhost local]#
[root@localhost local]# cd extundelete/
[root@localhost extundelete]# ls
bin
[root@localhost extundelete]#
[root@localhost extundelete]# ls bin/
extundelete
[root@localhost extundelete]# ls
bin
[root@localhost extundelete]#
[root@localhost extundelete]# cd bin/
[root@localhost bin]# ls
extundelete
[root@localhost bin]#
[root@localhost bin]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost bin]# ln -s /usr/local/extundelete/bin/extundelete /usr/local/bin/
//創(chuàng)建軟鏈接放入PATH環(huán)境變量目錄中
[root@localhost bin]#
[root@localhost bin]# cd
[root@localhost ~]# ex
ex exec exempi exit expand export exportfs expr extundelete
?軟件已經(jīng)安裝完畢
[root@localhost ~]# df -hT
文件系統(tǒng) 類型 容量 已用 可用 已用% 掛載點(diǎn)
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 13M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 36G 4.4G 31G 13% /
/dev/sda1 xfs 1014M 187M 828M 19% /boot
tmpfs tmpfs 378M 12K 378M 1% /run/user/42
tmpfs tmpfs 378M 0 378M 0% /run/user/0
/dev/sdb1 ext3 20G 45M 19G 1% /xy101
/dev/sr0 iso9660 4.5G 4.5G 0 100% /mnt
[root@localhost ~]#
[root@localhost ~]# cd /xy101/
[root@localhost xy101]# ls
lost+found
[root@localhost xy101]# rm -rf *
[root@localhost xy101]#
[root@localhost xy101]# echo 'dh like jinmao' > dh.txt
[root@localhost xy101]# echo 'kk like dalanqiu' > kk.txt
[root@localhost xy101]# echo 'w like bb' > w.txt
[root@localhost xy101]# echo 'y like me' > y.txt
[root@localhost xy101]#
[root@localhost xy101]# ls
dh.txt kk.txt w.txt y.txt
[root@localhost xy101]# extundelete /dev/sdb1 --inode 2 //指定磁盤文件
NOTICE: Extended attributes are not restored.
WARNING: EXT3_FEATURE_INCOMPAT_RECOVER is set.
The partition should be unmounted to undelete any files without further data loss.
If the partition is not currently mounted, this message indicates
it was improperly unmounted, and you should run fsck before continuing.
If you decide to continue, extundelete may overwrite some of the deleted
files and make recovering those files impossible. You should unmount the
file system and check it with fsck before using extundelete.
Would you like to continue? (y/n)
y
Loading filesystem metadata ... 160 groups loaded.
Group: 0
Contents of inode 2:
0000 | ed 41 00 00 00 10 00 00 a5 de 27 66 76 de 27 66 | .A........'fv.'f
0010 | 76 de 27 66 00 00 00 00 00 00 02 00 08 00 00 00 | v.'f............
0020 | 00 00 00 00 05 00 00 00 03 06 00 00 00 00 00 00 | ................
0030 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0050 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0070 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0080 | 1c 00 00 00 38 e9 48 0f 38 e9 48 0f 4c fa e0 31 | ....8.H.8.H.L..1
0090 | 6a c2 27 66 00 00 00 00 00 00 00 00 00 00 00 00 | j.'f............
00a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
00b0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
00d0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
00e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
00f0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
Inode is Allocated
File mode: 16877
Low 16 bits of Owner Uid: 0
Size in bytes: 4096
Access time: 1713888933
Creation time: 1713888886
Modification time: 1713888886
Deletion Time: 0
Low 16 bits of Group Id: 0
Links count: 2
Blocks count: 8
File flags: 0
File version (for NFS): 0
File ACL: 0
Directory ACL: 0
Fragment address: 0
Direct blocks: 1539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
Indirect block: 0
Double indirect block: 0
Triple indirect block: 0
File name | Inode number | Deleted status
. 2
.. 2
dh.txt 11
kk.txt 12
w.txt 13
y.txt 14
[root@localhost xy101]#
?
[root@localhost xy101]# rm -f dh.txt w.txt y.txt //模擬誤刪dh.txt w.txt y.txt,這三個(gè)文件
[root@localhost xy101]# ls
kk.txt
[root@localhost xy101]#
[root@localhost xy101]# extundelete /dev/sdb1 --inode 2
NOTICE: Extended attributes are not restored.
WARNING: EXT3_FEATURE_INCOMPAT_RECOVER is set.
The partition should be unmounted to undelete any files without further data loss.
If the partition is not currently mounted, this message indicates
it was improperly unmounted, and you should run fsck before continuing.
If you decide to continue, extundelete may overwrite some of the deleted
files and make recovering those files impossible. You should unmount the
file system and check it with fsck before using extundelete.
Would you like to continue? (y/n)
y
Loading filesystem metadata ... 160 groups loaded.
Group: 0
Contents of inode 2:
0000 | ed 41 00 00 00 10 00 00 81 96 28 66 34 96 28 66 | .A........(f4.(f
0010 | 34 96 28 66 00 00 00 00 00 00 02 00 08 00 00 00 | 4.(f............
0020 | 00 00 00 00 08 00 00 00 03 06 00 00 00 00 00 00 | ................
0030 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0050 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0070 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0080 | 1c 00 00 00 60 67 81 c3 60 67 81 c3 ec 1c 66 cd | ....`g..`g....f.
0090 | 6a c2 27 66 00 00 00 00 00 00 00 00 00 00 00 00 | j.'f............
00a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
00b0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
00d0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
00e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
00f0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
Inode is Allocated
File mode: 16877
Low 16 bits of Owner Uid: 0
Size in bytes: 4096
Access time: 1713936001
Creation time: 1713935924
Modification time: 1713935924
Deletion Time: 0
Low 16 bits of Group Id: 0
Links count: 2
Blocks count: 8
File flags: 0
File version (for NFS): 0
File ACL: 0
Directory ACL: 0
Fragment address: 0
Direct blocks: 1539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
Indirect block: 0
Double indirect block: 0
Triple indirect block: 0
File name | Inode number | Deleted status
. 2
.. 2
dh.txt 11 Deleted
kk.txt 12
w.txt 13 Deleted
y.txt 14 Deleted
[root@localhost xy101]#
?
root@localhost ~]# umount /dev/sdb1 //如果磁盤被誤刪,第一件事就是解掛,不要讓磁盤進(jìn)行數(shù)據(jù)寫入
[root@localhost ~]# extundelete /dev/sdb1 --restore-all
NOTICE: Extended attributes are not restored.
Loading filesystem metadata ... 160 groups loaded.
Loading journal descriptors ... 56 descriptors loaded.
Searching for recoverable inodes in directory / ...
3 recoverable inodes found.
Looking through the directory structure for deleted files ...
0 recoverable inodes still lost.
[root@localhost ~]#
[root@localhost ~]# ls
abc abc.txt anaconda-ks.cfg initial-setup-ks.cfg RECOVERED_FILES 公共 模板 視頻 圖片 文檔 下載 音樂 桌面
[root@localhost ~]#
[root@localhost ~]# cd RECOVERED_FILES
[root@localhost RECOVERED_FILES]# ls //可以看見被刪除文件
dh.txt w.txt y.txt
[root@localhost RECOVERED_FILES]#
?
[root@localhost RECOVERED_FILES]# cat *
dh like jinmao
w like bb
y like me
[root@localhost RECOVERED_FILES]#
Linux日志
內(nèi)核及系統(tǒng)日志
#內(nèi)核及公共消息日志 | /var/log/messages | 記錄Linux內(nèi)核消息及各種應(yīng)用程序的公共日志信息,包括啟動(dòng)、IO錯(cuò)誤、網(wǎng)絡(luò)錯(cuò)誤、程序故障等。對于未使用獨(dú)立日志文件的應(yīng)用程序或服務(wù),一般都可以從該日志文件中獲得相關(guān)的事件記錄信息。 |
#計(jì)劃任務(wù)日志 | /var/log/cron | 記錄crond計(jì)劃任務(wù)產(chǎn)生的事件信息 |
#系統(tǒng)引導(dǎo)日志 | /var/log/dmesg | 記錄Linux系統(tǒng)在引導(dǎo)過程中的各種事件信息 |
#郵件系統(tǒng)日志 | /var/log/maillog | 記錄進(jìn)入或發(fā)出系統(tǒng)的電子郵件活動(dòng) |
用戶登錄日志
/var/log/secure | 記錄用戶認(rèn)證相關(guān)的安全事件信息 |
/var/log/lastlog | 記錄每個(gè)用戶最近的登錄事件。二進(jìn)制格式 |
/var/log/wtmp | 記錄每個(gè)用戶登錄、注銷及系統(tǒng)啟動(dòng)和停機(jī)事件。二進(jìn)制格式 |
/var/run/btmp | 記錄失敗的、錯(cuò)誤的登錄嘗試及驗(yàn)證事件。二進(jìn)制格式 |
vim /etc/rsyslog.conf?? ??? ?#查看rsyslog.conf配置文件,規(guī)則配置格式:【設(shè)備.級別?? ?動(dòng)作】?? ?
*.info;mail.none;authpriv.none;cron.none ? ? ? ? /var/log/messages*.info?? ??? ?#表示info等級及以上的所有等級的信息都寫到對應(yīng)的日志文件里
mail.none?? ? ? ? ? ? ? ? ?#表示某事件的信息不寫到日志文件里(這里比如是郵件)
設(shè)備字段說明:
auth? ? ? ? ? ? ? ? ? ? 用戶認(rèn)證時(shí)產(chǎn)生的日志
authpriv? ? ? ? ? ? ? ssh、ftp等登錄信息的驗(yàn)證信息
daemon?? ??? ??? ??? 一些守護(hù)進(jìn)程產(chǎn)生的日志
ftp? ? ? ? ? ? ? ? ? ? ? ?FTP產(chǎn)生的日志
lpr? ? ? ? ? ? ? ? ? ? ? ?打印相關(guān)活動(dòng)
mark? ? ? ? ? ? ? ? ? ?rsyslog服務(wù)內(nèi)部的信息,時(shí)間標(biāo)識(shí)
news? ? ? ? ? ? ? ? ? 網(wǎng)絡(luò)新聞傳輸協(xié)議(nntp)產(chǎn)生的消息。
syslog?? ??? ??? ??? ?系統(tǒng)日志
uucp? ? ? ? ? ? ? ? ? ?Unix-to-Unix Copy 兩個(gè)unix之間的相關(guān)通信
console?? ??? ??? ??? ?針對系統(tǒng)控制臺(tái)的消息。
cron? ? ? ? ? ? ? ? ? ?系統(tǒng)執(zhí)行定時(shí)任務(wù)產(chǎn)生的日志。
kern? ? ? ? ? ? ? ? ? ? 系統(tǒng)內(nèi)核日志
local0~local7?? ??? ?自定義程序使用
mail? ? ? ? ? ? ? ? ? ? ?郵件日志
user? ? ? ? ? ? ? ? ? ? 用戶進(jìn)程
程序日志?
由應(yīng)用程序配置文件自行定義的
數(shù)字等級越小,日志級別越高,日志事件越重要 ??
0 | EMERG(緊急) | 會(huì)導(dǎo)致主機(jī)系統(tǒng)不可用的情況。如系統(tǒng)崩潰 |
1 | ?ALERT(警告) | 必須馬上采取措施解決的問題。如數(shù)據(jù)庫被破壞 |
2 | CRIT(嚴(yán)重) | 比較嚴(yán)重的情況。如硬盤錯(cuò)誤,可能會(huì)阻礙程序的部分功能 |
3 | ERR(錯(cuò)誤) | 運(yùn)行出現(xiàn)錯(cuò)誤。不是非常緊急,盡快修復(fù)的 |
4 | WARNING(提醒) | ?可能影響系統(tǒng)功能,需要提醒用戶的重要事件。不是錯(cuò)誤,如磁盤用了85%等 |
5 | NOTICE(注意) | 不會(huì)影響正常功能,但是需要注意的事件。無需處理 |
6 | ?INFO(信息) | 一般信息。正常的系統(tǒng)信息 |
7 | DEBUG(調(diào)試) |
程序或系統(tǒng)調(diào)試信息等。包含詳細(xì)開發(fā)的信息,調(diào)試程序時(shí)使用 |
?none | 沒有優(yōu)先級,不記錄任何日志消息。 |
日志級別:debug,? info, notice,? ?warn, error, crit, alert, emerg ? ? none
? ? ? ? ? ? ? ? ? ? ? ? 7 ? ? 6? ? ? ? ? 5? ? ? ? ? ?4? ? ? ?3 ? ? ?2 ? ? 1? ? ? ? ?0 ? ? ? ? ? ? ??
?舉例:??
mail.info ?/var/log/maillog :比指定級別更高的日志級別,包括指定級別自身,保存到/var/log/maillog中
mail.=info ?/var/log/maillog :明確指定日志級別為info,保存至/var/log/maillog
mail.!info ?/var/log/maillog :除了指定的日志級別(info)所有日志級別信息,保存至/var/log/maillog
*.info ? ? ?/var/log/maillog :所有facility的info級別,保存至/var/log/maillog
mail.* ? ? /var/log/maillog :mail的所有日志級別信息,都保存至/var/log/maillog
mail.notice;news.info ?/var/log/maillog :mail的notice以上記得日志級別和news的info以上的級別保存至/var/log/maillog
mail,news.crit ?-/var/log/maillog :mail和news的crit以上的日志級別保存/var/log/maillog中;“-”代表異步模式?
Linux系統(tǒng)日志管理服務(wù) ?rsyslog
配置文件 ? ?/etc/rsyslog.conf
集中式收集管理日志方案 ?
rsyslog ? ? shell/python腳本 ? ? ELK(elasticsearch+logstash+kibana) ? ? ?Loki+promtail+grafana
?Linux系統(tǒng)日志管理
Linux系統(tǒng)日志管理? ?journalctl? ? ? ? ?#查看所有日志(默認(rèn)情況下,只保存本次啟動(dòng)的日志)文章來源:http://www.zghlxwxcb.cn/news/detail-857040.html
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? -r? ? ? ? ? ? ? ? ? ? ? ? ? ??#-r表示倒序,從尾部看
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?-u 服務(wù)名? ? ? ? ? ? ??#查看某個(gè)服務(wù)的日志
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?-k? ? ? ? ? ? ? ? ? ? ? ? ???#查看內(nèi)核日志(不顯示應(yīng)用日志)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?-b -0/-1? ? ? ? ? ? ? ? ?#查看系統(tǒng)本次啟動(dòng)的日志
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?-f? ? ? ? ? ? ? ? ? ? ? ? ? ??#顯示尾部指定行數(shù)的日志
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? _PID=<進(jìn)程PID>? ?#查看指定進(jìn)程的日志
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?_UID=<賬戶UID>? ?#查看指定用戶的日志文章來源地址http://www.zghlxwxcb.cn/news/detail-857040.html
到了這里,關(guān)于Linux 深入理解Linux文件系統(tǒng)與日志分析的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!