linux软链接和硬链接

Linux中的软链接和硬链接

软链接就相当于是Windows操作系统中的快捷方式。Windows中的快捷方式和真实的文件其实是两个不同的文件

但是Windows中的快捷方式文件指定了真实的文件的路径。在操作软连接就相当于是操作真实的文件。

如何创建软链接

ln -s lg gg

link -soft :创建一个软链接

给lg的文件创建一个gg快捷方式,以后操作gg就相当于是操作lg文件。

lg是目标文件,而gg是快捷方式文件,gg属于软链接;

当删除了目标文件之后,那么对应的软链接也就失效了。

inode号

index node,在Linux中,所有的文件都有一个索引号节点号。

作用:

在Linux中,区分文件并不是靠文件名来进行区分的,而是靠iNode号来进行区分的。

每个文件都有自己的INode号,不会重复。

查看文件的索引节点号

ls -i filename

那么再次回到上面讲到的,软链接和真实目标文件是两个不同的文件。

这里可以通过ls -i 软链接 真实目标文件,来看下对应的文件的索引节点号。

[root@liguang home]# ls -il b.txt c.txt
1182361 -rw-r--r-- 1 root root 0 Jun 14 21:31 b.txt
1182365 lrwxrwxrwx 1 root root 5 Jun 14 22:08 c.txt -> b.txt

真实目标文件的索引节点号是1182361 ,快捷方式索引节点号是1182365

如何创建硬链接

ln 目标文件 硬链接名

相对于软链接来说,少了一个-s,表示创建的是一个硬链接。

创建好了硬链接之后,发现对应的索引节点号是一样的。

[root@liguang home]# ls -li c.txt d.txt
1182361 -rw-r--r-- 2 root root 0 Jun 14 22:13 c.txt
1182361 -rw-r--r-- 2 root root 0 Jun 14 22:13 d.txt

说明硬链接和目标文件都是一个文件。

操作硬链接和操作目标文件都会影响到彼此。【但是删除不会】

而且硬链接和目标文件在进行修改操作的时候,里面的东西是一样的,有一个动态同步的效果的。

我是这样子来进行理解的,两个引用指向了同一个地址,删除了一个,只是相当于删除了引用,而真实的没有。另外一个指向的文件还可以真实使用。

不能认为是单纯的赋值。

硬链接相当于备份,不过和备份不同的是,你修改硬链接的文件,源文件也会跟着修改,但你删除其中一个,另一个不受影响。

设计目的

软链接中如果把真实目标文件给删除了,那么软链接就无法使用了。

如果是硬链接,那么如果删除目标文件,而硬链接还会存在。【文件比较重要的时候做一个备份

常用命令

切换用户

su 用户名称

从超管切换到普通用户,不需要输入密码;

从普通用户切换到超管,需要输入密码;

查看时间

date

查看进程

通过命令查看下详细信息

PPID启动了PID,可以理解成父进程启动了子进程,这里会来显示对应的id信息。

TIME表示当时启动这个进程耗费的CPU的时间。

CMD进程所对应的文件。

如果查看利用CPU的效率比较高的进程,可以将其禁止掉。

禁止进程:对应的是Windows中的结束进程。

kill 进程号

如果禁止不了这个进程,可以强行禁止

kill -9 进程号id

root 11599 11067 0 18:59 pts/1 00:00:20 java -jar springboot-aliyun-0.0.1-SNAPSHOT.jar
root 11976 11782 0 22:32 pts/2 00:00:00 grep --color=auto jar
[root@liguang home]# kill -9 11599

java -jar springboot-aliyun-0.0.1-SNAPSHOT.jar启动了这个进程,进程号是11599,父进程是11067,是由root用户启动的。

启动时间是在18:59分,当时启动占用CPU20秒。

posted @ 2022-06-15 22:17  写的代码很烂  阅读(132)  评论(0编辑  收藏  举报