Linux服务器其中一个磁盘满了怎么办?在不做磁盘扩容的情况下,一个软连接就搞定。
适用环境要求:
Linux系统及服务器、有管理员权限、存在多余空间的磁盘例如下图中"/home"在磁盘sda5中与"/"不属于同一块磁盘;
1.首先转移正在使用的将要满的磁盘中文件夹,我们环境中的是"/home/aaa",移动到"/"根目录中(先确保根目录中不存在这个文件夹);
命令:"mv /home/aaa /aaa"
2.做ln -s 命令创建软连接(这里不做ln -s的解释,有兴趣可以去各大搜索引擎查找相关资料);
命令:"ln -s /aaa /home/aaa"
3.进入根目录并将"aaa"文件夹更改权限(有人会关注到加了一个“-R”,属于迭代的意思,为这个文件夹下所有子文件及文件夹写入这个权限);
命令"cd /;chmod -R 777 aaa"
需要注意的是:如果存在多个用户需要针对不同用户权限视情况而定,如果此文件夹或文件正在被人使用,那么需要停掉所有使用者权限方可进行操作转移步骤1(切忌)。
软链接:
软链接:为某一个文件在另外一个位置建立一个同不的链接。
好处:仅仅是个链接,不占用空间,使用还是照常使用
实际生产环境中,使用第三方的工具,可能这个工具的库很大,很占用磁盘空间,想把它搬个位置,但是搬了位置那这个工具岂不是找不到这个目录下的文件了,然后修改第三方工具显然不现实,那么软链接的作用就来了,把文件搬去其他地方,在原来的位置创建软连接
linux软链接的创建、删除和更新
创建软链接
ln -s [源文件或目录] [目标文件或目录]
例如:
当前路径创建test 引向/var/www/test 文件夹
ln –s /var/www/test test
创建/var/test 引向/var/www/test 文件夹
ln –s /var/www/test /var/test
删除软链接
和删除普通的文件是一眼的,删除都是使用rm来进行操作
rm –rf 软链接名称(请注意不要在后面加”/”,rm –rf 后面加不加”/” 的区别,可自行去百度下啊)
切记不要自动补全删除,如果是rm -rf test/ 那么原目录下的文件都会被删除!!!
例如:
删除test
rm –rf test
修改软链接
如果想要用一个新的连接目录来覆盖旧的连接目录,需要加上 -n 和 -f选项, -n用于将连接目录看作一个普通的文件,-f用于删除旧的连接目录
ln –snf [新的源文件或目录] [目标文件或目录]
-s --symbolic比较容易,有-s时表示创建软连接,没有-s时,表示创建硬链接
-f --force 强行删除任何已存在的目标文件
-n --no-dereference 把符号连接的目的目录视为一般文件
这将会修改原有的链接地址为新的地址
例如:
创建一个软链接
ln –s /var/www/test /var/test
修改指向的新路径
ln –snf /var/www/test1 /var/test
硬连接:
硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
引用地址:
https://www.cnblogs.com/jackruicao/p/10318866.html
https://blog.csdn.net/qq_42069216/article/details/104552244
https://blog.csdn.net/m290345792/article/details/78518360
https://www.cnblogs.com/gaoBlog/p/12264197.html