首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
V2EX  ›  问与答

有没有软件可以做到,让软件对文件的修改只在当前终端有效?

  •  
  •   qw7692336 · 2015-12-05 03:08:07 +08:00 · 1080 次点击
    这是一个创建于 1440 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如说我开了两个终端 A 和 B ,做 A 当中 mkdir memdir ,在 A 当中 ls 可以看得到 memdir ,在 B 中 ls 则看不到。

    10 回复  |  直到 2015-12-05 16:01:58 +08:00
        1
    msg7086   2015-12-05 03:52:59 +08:00
    修改是作用在文件系统上的,和终端没有关系。
    如果你想要隔离应用,可以考虑容器或者监狱。
        2
    qw7692336   2015-12-05 03:53:51 +08:00
    @msg7086 我的意思就是有没有一种用容器实现的方法啊
        3
    ryd994   2015-12-05 04:45:19 +08:00 via Android
    @qw7692336 那你一开始就在两个根下面开容器不就行了
    你到底要实现什么功能
        4
    qw7692336   2015-12-05 04:50:28 +08:00
    @ryd994 就是为了测试一些东西方便。比如说测试一个删除文件的 shell 脚本。
        5
    msg7086   2015-12-05 05:11:47 +08:00
    btrfs 的话可以用神奇的 subvolume 配合 docker/LXC/nspawn 创建一个容器。
    如果不会折腾的话,开个虚拟机用 Snapshot 功能也是可以的。
        6
    qw7692336   2015-12-05 05:13:23 +08:00
    @msg7086 我就是为了方便,看看有没有什么现成的方便的工具,还要我开虚拟机。。。那就算了,还不如 git 管理
        7
    ryd994   2015-12-05 05:59:54 +08:00
    突然想到,你可以用 aufs 啊。 bashrc 里每次启动新建一个 aufs 作为当前目录。源目录挂成只读,可写挂到临时新建的文件夹。退出的时候不要 exit 而是运行一个脚本先清空临时文件夹。
        8
    qw7692336   2015-12-05 06:07:33 +08:00
    @ryd994 其实也不一定非要自动完成,手动操作也可以。只是想要一个便捷一点的方式,可以快速恢复之前的状态。其实 git 也可以做到,只不过不方便,还有只对某个文件夹内有效而已。如果没有现成的这种工具就算了。
        9
    hxsf   2015-12-05 11:07:53 +08:00
    看楼主的意思,这个不仅仅局限于当前目录了吧。

    应该类似,终端 A 的操作全部在一个沙盒里。和外面环境隔离。

    可以试试 docker 。写个脚本启动一个容器。
        10
    qw7692336   2015-12-05 16:01:58 +08:00
    @hxsf 局限于当前目录也可以接受。或者手动指定某个目录。 docker 操作有这么方便吗?
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   936 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 20:20 · PVG 04:20 · LAX 12:20 · JFK 15:20
    ♥ Do have faith in what you're doing.