1、什么是硬鏈接
具有相同Inode節(jié)點(diǎn)號的文件互為硬鏈接,一個(gè)文件的兩個(gè)入口
[root@oldboyedu ~]# ls -ldi test test/.
16964029 drwxr-xr-x. 2 root root 4096 Oct? 1 14:07 test
16964029 drwxr-xr-x. 2 root root 4096 Oct? 1 14:07 test/.
[root@oldboyedu /data]# ls -ldi oldboy
33631853 drwxr-xr-x. 5 root root 45 Oct? 4 21:03 oldboy
[root@oldboyedu /data]# ls -ldi oldboy oldboy/. oldboy/test{1..3}/..
33631853 drwxr-xr-x. 5 root root 45 Oct? 4 21:03 oldboy
33631853 drwxr-xr-x. 5 root root 45 Oct? 4 21:03 oldboy/.
33631853 drwxr-xr-x. 5 root root 45 Oct? 4 21:03 oldboy/test1/..
33631853 drwxr-xr-x. 5 root root 45 Oct? 4 21:03 oldboy/test2/..
33631853 drwxr-xr-x. 5 root root 45 Oct? 4 21:03 oldboy/test3/..
2命贴、硬鏈接原理
3、測試
創(chuàng)建硬鏈接:In 源文件 硬鏈接文件
a文件硬鏈接
[root@oldboyedu /data]# echo "I am oldboy." >oldboy.txt
[root@oldboyedu /data]# cat oldboy.txt
I am oldboy.
[root@oldboyedu /data]# ln oldboy.t
oldboy.tar.gz? oldboy.txt? ?
[root@oldboyedu /data]# ln oldboy.txt oldboy_hard_link
[root@oldboyedu /data]# ls -lirt
total 20
33631860 -rw-r--r--. 1 root root? 0 Oct? 1 00:19 5.txt
33631855 -rw-r--r--. 1 root root? 0 Oct? 1 00:19 4.txt
33631847 -rw-r--r--. 1 root root? 0 Oct? 1 00:19 3.txt
33631845 -rw-r--r--. 1 root root? 0 Oct? 1 00:19 2.txt
33631841 -rw-r--r--. 1 root root? 0 Oct? 1 00:19 1.txt
33656236 -rw-r--r--. 1 root root? 18 Oct? 1 09:01 paichu.txt
33631869 -rw-r--r--. 1 root root 187 Oct? 1 09:01 oldboy.tar.gz
33656257 -rwxr-xr-x. 1 root root? 14 Oct? 1 11:07 test.txt
33631853 drwxr-xr-x. 5 root root? 45 Oct? 4 21:03 oldboy
33656238 -rw-r--r--. 2 root root? 13 Oct? 4 21:10 oldboy.txt
33656238 -rw-r--r--. 2 root root? 13 Oct? 4 21:10 oldboy_hard_link
作用:1秆吵,備份样傍、防止誤刪
[root@oldboyedu /data]# ln /etc/hostname /opt/hostname
[root@oldboyedu /data]# cat /opt/hostname
oldboyedu
[root@oldboyedu /data]# rm -f /etc/hostname
[root@oldboyedu /data]# cat /etc/hostname
cat: /etc/hostname: No such file or directory
[root@oldboyedu /data]# cat /opt/hostname
oldboyedu
[root@oldboyedu /data]# ln /opt/hostname /etc/hostname
[root@oldboyedu /data]# cat /etc/hostname
oldboyedu
b,目錄硬鏈接
不支持人工創(chuàng)建目錄硬鏈接
[root@oldboyedu /data]# ln oldboy oldgirl
ln: ‘oldboy’: hard link not allowed for directory
軟鏈接:本質(zhì)是快捷方式镜遣,指向源文件實(shí)體己肮,本身和源文件是不同的文件
實(shí)踐,文件
[root@oldboyedu /data]# !echo
echo "I am oldboy." >oldboy.txt
[root@oldboyedu /data]# cat oldboy.txt
I am oldboy.
[root@oldboyedu /data]# ln -s oldboy.txt? oldboy_soft_link
Linux文件刪除原理:
1悲关、靜態(tài)文件:沒有進(jìn)程或程序正在訪問的文件谎僻。
所有的硬鏈接數(shù)為0(i_link),即所有硬鏈接都被干掉了寓辱,包括自身艘绍。
硬鏈接的數(shù)量的代表變量符號i_link
rm -f oldboy.txt oldboy_hard_link
執(zhí)行完 其實(shí)文件也沒刪,關(guān)機(jī)停止運(yùn)行秫筏。
a.系統(tǒng)定時(shí)清理沒有文件名的inode诱鞠。
b.磁盤檢查會清理。
c.增加新文件時(shí)優(yōu)先占用沒有文件名的inode这敬。
恢復(fù)的工具:debugfs,ext3grep等等航夺。
2、動態(tài)文件:有程序或進(jìn)程訪問的文件
刪除原理:
a.所有硬鏈接刪除崔涂。i_link為0.
b..i_count是進(jìn)程調(diào)用文件的數(shù)量(引用計(jì)數(shù))阳掐。所有進(jìn)程調(diào)用都要停止取消。i_count為0
3冷蚂、實(shí)踐文件刪除原理
環(huán)境準(zhǔn)備缭保,命令集合如下:
mkdir -p /app/logs? ? ? ? ? ? ? ? ? ? ? ? ? #<==創(chuàng)建用于掛載的目錄。
dd if=/dev/zero of=/dev/sdc bs=8K? count=10? #<==創(chuàng)建指定大小的文件帝雇。
mkfs.ext4 /dev/sdc? ? ? ? ? ? ? ? ? ? ? ? ? #<==格式化涮俄。
mount -o loop /dev/sdc /app/logs? ? ? ? ? ? #<==掛載。
df -h? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #<==檢查掛載結(jié)果尸闸。
通配符知識:
1彻亲、基本含義
通配符簡單說就是鍵盤上的一些特殊字符孕锄,可以實(shí)現(xiàn)某些特殊的功能,
例如苞尝,可以用*代表所有畸肆,來模糊搜索系統(tǒng)中的文件。
2宙址、范圍:通配符試用范圍是命令行中【普通命令】或腳本編程中
3轴脐、第一組 模糊匹配:
準(zhǔn)備:
[root@oldboyedu /data]# touch a.txt b.txt aa.txt test.txt
[root@oldboyedu /data]# ls
aa.txt? a.txt? b.txt? test.txt
[root@oldboyedu /data]# a="oldboy"
[root@oldboyedu /data]# echo '$a'
$a
[root@oldboyedu /data]# echo "$a"
oldboy
[root@oldboyedu /data]# echo $a
oldboy
[root@oldboyedu /data]# echo "$a is a teaher."
oldboy is a teaher.
[root@oldboyedu /data]# echo $a is a teacher.
oldboy is a teacher.
[root@oldboyedu /data]# echo date
date
[root@oldboyedu /data]# echo `date`
Sun Oct 4 23:54:38 CST 2020
[root@oldboyedu /data]# 希望系統(tǒng)把字符串當(dāng)做命令就用反引號