Day13课堂笔记——软硬连接

重点:

1、软硬连接区别。

2、文件删除原理。

1)掌握Linux文件属性的各个列的含义(ls -lhi结果)及对应知识概念。

2)磁盘空间不足故障的多重判断和解决(面试常考)。

3)请描述软链接和硬链接的特点及区别(面试常考)。

4)请描述Linux系统文件删除的原理(面试常考)

1.老男孩思想

1.1 优秀的运维习惯

(1)内容尽量复制,以减少错误。

(2)操作中备份,操作后检查。

(3)使用中记忆。

(4)眼睛里一定不要放过有输出的英文。

(5)永远不要重启linux。

2.selinux


2.1 什么是selinux?

selinux是一套安全规则,让linux系统更安全的一套规则。

但是这个跪着太严格了,一般情况下都会关闭selinux。

自己开启防火墙,用其他手段来实现同样的安全目的。

2.2 怎么关掉selinux?

查看方法:

[root@oldboyedu ~]# getenforce

Enforcing

临时关掉:

[root@oldboyedu ~]# setenforce

usage:  setenforce [ Enforcing | Permissive | 1 | 0 ]

[root@oldboyedu ~]# setenforce 0

[root@oldboyedu ~]# getenforce

Permissive

永久关闭:

vim /etc/selinux/config

[root@oldboyedu ~]# grep dis /etc/selinux/config

#    disabled - No SELinux policy is loaded.

SELINUX=disabled

备注:一般工作中是临时关闭再永久关闭(这样不用重庆就可以有永久关闭selinux).

3.防火墙

linux里的防火墙(c6 iptables、c7 firewalld)

作用:防护计算机,防止被入侵。

systemctl status firewalld.service

开启firewalld(C6 service iptables start 或者/etc/init.d/iptables start)

[root@oldboyedu ~]# systemctl start firewalld.service

[root@oldboyedu ~]# systemctl status firewalld.service

● firewalld.service - firewalld - dynamic firewall daemon

  Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)

  Active: active (running) since Sun 2020-10-04 20:48:49 CST; 1s ago

    Docs: man:firewalld(1)

Main PID: 7003 (firewalld)

  CGroup: /system.slice/firewalld.service

          └─7003 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

Oct 04 20:48:48 oldboyedu systemd[1]: Starting firewalld - dynamic firewall daemon...

Oct 04 20:48:49 oldboyedu systemd[1]: Started firewalld - dynamic firewall daemon.

让firewalld开机自启动

[root@oldboyedu ~]# systemctl enable firewalld.service

Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.

Created symlink from /etc/systemd/system/multi-user.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.

C6用法:chkconfig iptables off

C7就是一个命令systemctl

备注:自学systemctl和chkconfig

4.硬链接

语法:ln 源文件 硬链接文件

4.1什么是硬链接?

就是具有相同indoe节点号的文件互为硬链接,相当于一个文件的两个入口。

4.2 硬链接的作用

备份、防止误删

[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

4.3目录硬链接

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

root@oldboyedu /data]# ln oldboy oldgirl

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

老男孩的思考:

/etc/目录,对应一个分区

/home目录,还可能对应一个分区。

ln /etc/ /home/oldboy

5.软链接

5.1什么是软链接?

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

实践:

文件

[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

目录:是工作中的重点

[root@oldboyedu /data]# mkdir oldboy

[root@oldboyedu /data]# touch oldboy/test.txt

[root@oldboyedu /data]# ln -s oldboy  oldboy_soft_link_dir

[root@oldboyedu /data]# ls oldboy_soft_link_dir/

test.txt

[root@oldboyedu /data]# ls oldboy

test.txt

5.2 工作中为什么会使用软链接。

第一个用途:

安装软件:/application/nginx-1.10

过半年:/application/nginx-1.20

导致一个问题,工作中,开发等引用/application/nginx-1.10路径。

安装软件:/application/nginx-1.10===>/application/nginx(让开发用)

过半年:  /application/nginx-1.20===>/application/nginx(让开发用)

第二个用途:

/etc/对应的分区要满了,没法放很多文件,但是程序还想通过/etc/目录访问文件。

此时,我们可以把文件放入/opt/oldboy下,然后做一个到/etc/oldboy的软链接。

[root@oldboyedu /data]# mkdir /opt/oldboy

[root@oldboyedu /data]# touch /opt/oldboy/{1..3}.txt

[root@oldboyedu /data]# ln -s /opt/oldboy/ /etc/oldboy

[root@oldboyedu /data]# ls /etc/oldboy

1.txt  2.txt  3.txt

[root@oldboyedu /data]# ll /opt/oldboy

total 0

-rw-r--r--. 1 root root 0 Oct  4 22:02 1.txt

-rw-r--r--. 1 root root 0 Oct  4 22:02 2.txt

-rw-r--r--. 1 root root 0 Oct  4 22:02 3.txt

6.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为0.i_count是进程调用文件的数量(引用计数),所有进程调用都要停止取消。

补充课外:

光一秒30w公里

月地距离    38万公里

日地距离    1.5亿公里 8分钟

太阳系大小 

第二近的恒星 4光年

地球 46亿年了。42亿前。

太阳处于中年 寿命70亿年。大到太阳吞噬地球。

银河系大小 10万光年

宇宙大小  可探测到的直径1000亿光年

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                                        #<==检查挂载结果。

实践:

[root@oldboyedu /data]# cd /app/logs/

[root@oldboyedu /app/logs]# touch nginx.log

[root@oldboyedu /app/logs]# tail -f nginx.log

[root@oldboyedu /app/logs]# cat /etc/services >>nginx.log

cat: write error: No space left on device

[root@oldboyedu /app/logs]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda3        19G  1.9G  18G  10% /

devtmpfs        980M  80K  980M  1% /dev

tmpfs          991M    0  991M  0% /dev/shm

tmpfs          991M  9.5M  981M  1% /run

tmpfs          991M    0  991M  0% /sys/fs/cgroup

/dev/sda1      253M  136M  118M  54% /boot

tmpfs          199M    0  199M  0% /run/user/0

/dev/loop0      73K  71K    0 100% /app/logs

明明删除了,结果还是100%。

[root@oldboyedu /app/logs]# rm -f nginx.log

[root@oldboyedu /app/logs]# lsof|grep nginx

tail      7927        root    3r      REG                7,0    57344        12 /app/logs/nginx.log (deleted)

[root@oldboyedu /app/logs]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda3        19G  1.9G  18G  10% /

devtmpfs        980M  80K  980M  1% /dev

tmpfs          991M    0  991M  0% /dev/shm

tmpfs          991M  9.5M  981M  1% /run

tmpfs          991M    0  991M  0% /sys/fs/cgroup

/dev/sda1      253M  136M  118M  54% /boot

tmpfs          199M    0  199M  0% /run/user/0

/dev/loop0      73K  71K    0 100% /app/logs

重来:

模拟进程读文件:

[root@oldboyedu /app/logs]# touch nginx.log

[root@oldboyedu /app/logs]# tail -f nginx.log

ln nginx.log nginx_hard.log

当前:

i_link=2

i_count=1

模拟把文件变大,让分区满

[root@oldboyedu /app/logs]# cat /etc/services >>nginx.log

cat: write error: No space left on device

[root@oldboyedu /app/logs]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda3        19G  1.9G  18G  10% /

devtmpfs        980M  80K  980M  1% /dev

tmpfs          991M    0  991M  0% /dev/shm

tmpfs          991M  9.5M  981M  1% /run

tmpfs          991M    0  991M  0% /sys/fs/cgroup

/dev/sda1      253M  136M  118M  54% /boot

tmpfs          199M    0  199M  0% /run/user/0

/dev/loop0      73K  71K    0 100% /app/logs

分区满了:清理,删除。

删除源文件

[root@oldboyedu /app/logs]# rm -f nginx.log

结果:

i_link=1

i_count=1

ctrl+c 中断 进程调用文件

结果:

i_link=1

i_count=0

删除硬链接文件

[root@oldboyedu /app/logs]# rm -f nginx_hard.log

结果:

i_link=0

i_count=0

[root@oldboyedu /app/logs]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda3        19G  1.9G  18G  10% /

devtmpfs        980M  80K  980M  1% /dev

tmpfs          991M    0  991M  0% /dev/shm

tmpfs          991M  9.5M  981M  1% /run

tmpfs          991M    0  991M  0% /sys/fs/cgroup

/dev/sda1      253M  136M  118M  54% /boot

tmpfs          199M    0  199M  0% /run/user/0

/dev/loop0      73K  14K  54K  21% /app/logs

7.通配符

7.1 什么是通配符:

键盘上的特殊符号,用这些符号来代替一些功能,例如,用于*来表示所有

7.2通配符的应用范围

通配符适用范围是命令行中【普通命令】或脚本编程中。

7.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



补:mv移动原理


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343