课堂笔记(三月十八日)

1、什么是硬链接

具有相同Inode节点号的文件互为硬链接,一个文件的两个入口

[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、硬链接原理

课堂笔记(三月十八日)_第1张图片

3、测试

创建硬链接: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,目录硬链接

不支持人工创建目录硬链接

[root@oldboyedu /data]# ln oldboy oldgirl

ln: ‘oldboy’: hard link not allowed for directory

软链接:本质是快捷方式,指向源文件实体,本身和源文件是不同的文件

实践,文件

[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、静态文件:没有进程或程序正在访问的文件。

所有的硬链接数为0(i_link),即所有硬链接都被干掉了,包括自身。

硬链接的数量的代表变量符号i_link

rm -f oldboy.txt oldboy_hard_link

执行完 其实文件也没删,关机停止运行。

a.系统定时清理没有文件名的inode。

b.磁盘检查会清理。

c.增加新文件时优先占用没有文件名的inode。

恢复的工具:debugfs,ext3grep等等。

2、动态文件:有程序或进程访问的文件

删除原理:

a.所有硬链接删除。i_link为0.

b..i_count是进程调用文件的数量(引用计数)。所有进程调用都要停止取消。i_count为0

3、实践文件删除原理

环境准备,命令集合如下:

mkdir -p /app/logs                          #<==创建用于挂载的目录。

dd if=/dev/zero of=/dev/sdc bs=8K  count=10  #<==创建指定大小的文件。

mkfs.ext4 /dev/sdc                          #<==格式化。

mount -o loop /dev/sdc /app/logs            #<==挂载。

df -h                                        #<==检查挂载结果。

通配符知识:

1、基本含义

通配符简单说就是键盘上的一些特殊字符,可以实现某些特殊的功能,

例如,可以用*代表所有,来模糊搜索系统中的文件。

2、范围:通配符试用范围是命令行中【普通命令】或脚本编程中

3、第一组 模糊匹配:

准备:

[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]# 希望系统把字符串当做命令就用反引号

你可能感兴趣的:(课堂笔记(三月十八日))