Linux系统的目录绑定配置

简介: Linux系统的目录绑定配置

一.源目录与目标目录情况

1、源目录文件及inode

[root@docker data]# pwd
/data
[root@docker data]# ll
total 140648
-rw-r--r-- 1 root root       205 Dec 11 13:59 backdata.tar.gz
-rw-r--r-- 1 root root         0 Dec 11 13:54 file1
-rw-r--r-- 1 root root         0 Dec 11 13:54 file10
-rw-r--r-- 1 root root         0 Dec 11 13:54 file2
-rw-r--r-- 1 root root         0 Dec 11 13:54 file3
-rw-r--r-- 1 root root         0 Dec 11 13:54 file4
-rw-r--r-- 1 root root         0 Dec 11 13:54 file5
-rw-r--r-- 1 root root         0 Dec 11 13:54 file6
-rw-r--r-- 1 root root         0 Dec 11 13:54 file7
-rw-r--r-- 1 root root         0 Dec 11 13:54 file8
-rw-r--r-- 1 root root         0 Dec 11 13:54 file9
-rw------- 1 root root 144015872 Dec 11 14:11 web01.tar
[root@docker data]# ls -lid /data
2401630 drwxr-xr-x. 2 root root 177 Dec 11 14:11 /data

2、目标目录的文件及inode

[root@docker backup]# pwd
/backup
[root@docker backup]# ll
total 0
-rw-r--r-- 1 root root 0 Dec 17 17:00 test1
-rw-r--r-- 1 root root 0 Dec 17 17:00 test2
[root@docker backup]# ls -lid /backup/
38821596 drwxr-xr-x 2 root root 32 Dec 17 17:00 /backup/
[root@docker backup]# 

二、将两个目录进行绑定

1.moun --bind进行绑定

将test1挂载到test2上,inode号都变为test1的inode
root@docker backup]# mount --bind /data/ /backup/

2.检查绑定后的两个目录情况

[
[root@docker backup]# ls /data/
backdata.tar.gz  file1  file10  file2  file3  file4  file5  file6  file7  file8  file9  web01.tar
[root@docker backup]# ls /backup/
backdata.tar.gz  file1  file10  file2  file3  file4  file5  file6  file7  file8  file9  web01.tar
[root@docker backup]# lls -lid /data/ /backup/
bash: lls: command not found...
Similar command is: 'ls'
[root@docker backup]# ls -lid /data/ /backup/
2401630 drwxr-xr-x. 2 root root 177 Dec 11 14:11 /backup/
2401630 drwxr-xr-x. 2 root root 177 Dec 11 14:11 /data/

3.moun --bind绑定注意事项

#注意,mount --bind重启后会丢失挂载,包括/dev/shm目录重启后也会清空,要解决该问题,可以添加开机自启脚本
#添加到/etc/rc.local文件中

三、解挂载

1.对两个目录进行解挂载

[root@docker /]# umount /backup

2.查看解挂载后的情况

[root@docker ~]# ls /data
backdata.tar.gz  file1  file10  file2  file3  file4  file5  file6  file7  file8  file9  web01.tar
[root@docker ~]# ls /backup/
test1  test2
[root@docker ~]# ls -lid /data /backup/
38821596 drwxr-xr-x  2 root root  32 Dec 17 17:00 /backup/
 2401630 drwxr-xr-x. 2 root root 177 Dec 11 14:11 /data

四、应用场景

1.场景描述

在固件开发过程中常常遇到这样的情况:为测试某个新功能,必需修改某个系统文件。而这个文件在只读文件系统上(总不能为一个小小的测试就重刷固件吧),或者是虽然文件可写,但是自己对这个改动没有把握,不愿意直接修改。这时候mount --bind就是你的好帮手。 

2.测试系统文件

[root@docker ~]# mount -o ro /dev/sdb1 /soft
[root@docker ~]# cd /soft/
[root@docker soft]# touch file1
touch: cannot touch 'file1': Read-only file system
[root@docker soft]# 
[root@docker soft]# mount --bind /test/ /soft/
[root@docker soft]# cd /test
[root@docker test]# touch test{1..10}.txt
[root@docker test]# ls
test10.txt  test1.txt  test2.txt  test3.txt  test4.txt  test5.txt  test6.txt  test7.txt  test8.txt  test9.txt
[root@docker test]# ls /soft/
test10.txt  test1.txt  test2.txt  test3.txt  test4.txt  test5.txt  test6.txt  test7.txt  test8.txt  test9.txt
[root@docker test]# 
相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
2月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
104 3
|
18天前
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
151 78
|
22天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
54 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
9天前
|
Linux
linux查看目录下的文件夹命令,find查找某个目录,但是不包括这个目录本身?
通过本文的介绍,您应该对如何在 Linux 系统中查看目录下的文件夹以及使用 `find` 命令查找特定目录内容并排除该目录本身有了清晰的理解。掌握这些命令和技巧,可以大大提高日常文件管理和查找操作的效率。 在实际应用中,灵活使用这些命令和参数,可以帮助您快速定位和管理文件和目录,满足各种复杂的文件系统操作需求。
32 8
|
9天前
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
77 7
|
2月前
|
缓存 Java Linux
如何解决 Linux 系统中内存使用量耗尽的问题?
如何解决 Linux 系统中内存使用量耗尽的问题?
158 48
|
18天前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
84 13
|
2月前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
|
2月前
|
Ubuntu Linux 网络安全
linux系统ubuntu中在命令行中打开图形界面的文件夹
在Ubuntu系统中,通过命令行打开图形界面的文件夹是一个高效且实用的操作。无论是使用Nautilus、Dolphin还是Thunar,都可以根据具体桌面环境选择合适的文件管理器。通过上述命令和方法,可以简化日常工作,提高效率。同时,解决权限问题和图形界面问题也能确保操作的顺利进行。掌握这些技巧,可以使Linux操作更加便捷和灵活。
51 3
|
19天前
|
Ubuntu Linux C++
Win10系统上直接使用linux子系统教程(仅需五步!超简单,快速上手)
本文介绍了如何在Windows 10上安装并使用Linux子系统。首先,通过应用商店安装Windows Terminal和Linux系统(如Ubuntu)。接着,在控制面板中启用“适用于Linux的Windows子系统”并重启电脑。最后,在Windows Terminal中选择安装的Linux系统即可开始使用。文中还提供了注意事项和进一步配置的链接。
40 0

热门文章

最新文章