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秒。