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

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

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

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

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

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

    可以试试 docker 。写个脚本启动一个容器。
    qw7692336
        10
    qw7692336  
    OP
       2015-12-05 16:01:58 +08:00
    @hxsf 局限于当前目录也可以接受。或者手动指定某个目录。 docker 操作有这么方便吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2974 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 13:32 · PVG 21:32 · LAX 05:32 · JFK 08:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.