比如说我开了两个终端 A 和 B ,做 A 当中 mkdir memdir ,在 A 当中 ls 可以看得到 memdir ,在 B 中 ls 则看不到。
1
msg7086 2015-12-05 03:52:59 +08:00
修改是作用在文件系统上的,和终端没有关系。
如果你想要隔离应用,可以考虑容器或者监狱。 |
5
msg7086 2015-12-05 05:11:47 +08:00
btrfs 的话可以用神奇的 subvolume 配合 docker/LXC/nspawn 创建一个容器。
如果不会折腾的话,开个虚拟机用 Snapshot 功能也是可以的。 |
6
qw7692336 OP @msg7086 我就是为了方便,看看有没有什么现成的方便的工具,还要我开虚拟机。。。那就算了,还不如 git 管理
|
7
ryd994 2015-12-05 05:59:54 +08:00
突然想到,你可以用 aufs 啊。 bashrc 里每次启动新建一个 aufs 作为当前目录。源目录挂成只读,可写挂到临时新建的文件夹。退出的时候不要 exit 而是运行一个脚本先清空临时文件夹。
|
8
qw7692336 OP @ryd994 其实也不一定非要自动完成,手动操作也可以。只是想要一个便捷一点的方式,可以快速恢复之前的状态。其实 git 也可以做到,只不过不方便,还有只对某个文件夹内有效而已。如果没有现成的这种工具就算了。
|
9
hxsf 2015-12-05 11:07:53 +08:00
看楼主的意思,这个不仅仅局限于当前目录了吧。
应该类似,终端 A 的操作全部在一个沙盒里。和外面环境隔离。 可以试试 docker 。写个脚本启动一个容器。 |