V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
工单节点使用指南
• 请用平和的语言准确描述你所遇到的问题
• 厂商的技术支持和你一样也是有喜怒哀乐的普通人类,尊重是相互的
• 如果是关于 V2EX 本身的问题反馈,请使用 反馈 节点
ucun
V2EX  ›  全球工单系统

aria2 在 WSL 下令人窒息的操作

  •  
  •   ucun · 2018-05-18 10:34:19 +08:00 · 7417 次点击
    这是一个创建于 1546 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近大家都在吐槽某雷,推荐 aria2.

    • 我也听从大家的建议在 WSL 下安装了 aria2。至于为什么不直接安装在 win10 里或者不整虚拟机 linux 下安装? 高兴呗~
    • 安装好后,我按aria2c.com配置好 aria2. 搜了个教育资源测试了一下,速度还行。

    speed

    • 但在我访问文件的时候出现意外了。。。

    wtf

    • 看了下目录,下面确实有个 ~

    list powerful

    • 用 Everything 搜了一下 downloads.总算可以打开好好学习了。

    folder

    • 令人窒息的点在哪儿????

    • aria2 T_M_D 在配置文件同目录下新建了一个 ~ 的目录,然后在下面建了下一个 downloads 的目录!!

    第 1 条附言  ·  2018-05-19 10:04:56 +08:00
    看来还是有些 V 友没 GET 到窒息在哪儿。。。

    撸一撸

    1 aria2 配置文件设置下载目录 ~/downloads。 根据惯例,我们是希望下载文件放在用户家目录的 downloads 下.

    而 aria2 窒息的操作出现了,T 会在配置文件同目录新建 ~/downloads !!

    2 下载完成后,用户一般会直接在命令行输入 cd ~/downloads 访问下载的文件对不对?

    让你想不到的是,这儿没有。。。 哈哈

    ==========================

    解决方案 有 V 友已经提出来了,就是通过绝对路径和带 .的相对路径访问。 还有一个方法就是转义~后访问,就像

    \~/downloads 这样访问
    29 条回复    2018-05-20 09:10:40 +08:00
    whileFalse
        1
    whileFalse  
       2018-05-18 10:46:39 +08:00
    你可千万小心别用命令行删除它。
    xgfan
        2
    xgfan  
       2018-05-18 10:48:45 +08:00
    没毛病,多的~文件夹删掉就好。
    cd ~/.aria2/ && rm -rf ~
    hjc4869
        3
    hjc4869  
       2018-05-18 10:49:47 +08:00   ❤️ 6
    楼主应该了解一下~是谁解释的
    zzj0311
        4
    zzj0311  
       2018-05-18 10:50:59 +08:00 via Android   ❤️ 1
    有 Windows 的版本不用。。
    ucun
        5
    ucun  
    OP
       2018-05-18 11:19:52 +08:00   ❤️ 1
    ipwx
        6
    ipwx  
       2018-05-18 11:24:01 +08:00   ❤️ 3
    你在 Ubuntu 下面也是同样的效果。

    ~ 是 shell 解释的,你在任何一个编程语言里面直接写 open("~/...") 都会定位到 ~ 文件夹。除非你特别处理了,比如 Python 有 os.path.expanduser("~/...") 就能解释 ~ 了。

    所以在任何配置文件里面都不要写 ~。在写 shell 脚本的时候也要千万注意不要把 ~ 放到单引号里面,因为 shell 不会解释单引号里面的东西。
    smilekung
        7
    smilekung  
       2018-05-18 12:12:38 +08:00   ❤️ 1
    想起上个月同事在项目目录下建了一个 “~” 目录,然后我就 rm -rf ~ 给她删了
    tempdban
        8
    tempdban  
       2018-05-18 12:41:27 +08:00 via Android
    教程里明晃晃的一个~
    想笑
    imn1
        9
    imn1  
       2018-05-18 12:57:23 +08:00
    我一直没看明白,这个问题缘由,跟 aria2/wsl 有什么关系
    Tyanboot
        10
    Tyanboot  
       2018-05-18 13:06:14 +08:00
    要删'~'的话, 需要用相对路径或者绝对路径删.

    比如 rm -r ./~ 或者 rm -r ~/.aria2/~
    FabricPath
        11
    FabricPath  
       2018-05-18 17:06:50 +08:00
    @smilekung 我试了一下,删掉了自己的 home
    smilekung
        12
    smilekung  
       2018-05-18 17:20:37 +08:00 via Android
    @FabricPath 我也是删掉了 home 😂
    Abblee
        13
    Abblee  
       2018-05-18 17:21:35 +08:00 via iPhone
    你们说的教育资源到底是啥?编程学习资料吗?
    yuchenr
        14
    yuchenr  
       2018-05-18 17:59:19 +08:00
    涨姿势了,
    我好奇的是,为啥不用 windows 版呢?
    aria2+ariang,或者再用过 caddy 做 http 服务。如果要注册服务就用 nssm。
    wly19960911
        15
    wly19960911  
       2018-05-18 19:00:48 +08:00
    建议下载地址改一下,改成 mnt 下面挂在的各种盘,鉴于我只有一个 C 盘,我把 aria2 的下载路径该成了用户文件夹下的 downloads 文件夹,因为某些路径需要 UAC 权限才行,但是用户文件夹没有,我用的很方便
    wly19960911
        16
    wly19960911  
       2018-05-18 19:02:20 +08:00
    比如 /mnt/c/Users/xxx/Downloads/aira2,现在调教好了加上脚本启动和 1803 的后台运行,我感觉 WSL 很省心
    BOYPT
        17
    BOYPT  
       2018-05-18 19:12:59 +08:00
    所以是你们不知道 shell 下~代表用户目录?
    Miary
        18
    Miary  
       2018-05-18 20:11:15 +08:00 via Android
    皮?
    ucun
        19
    ucun  
    OP
       2018-05-18 20:13:47 +08:00
    @yuchenr #14 下面 16 楼 @wly19960911 的回答可以代表我的想法

    1. 不想任务栏多一个软件图标
    2.还没想好
    lrh3321
        20
    lrh3321  
       2018-05-19 09:06:11 +08:00 via Android
    用 windows 的 api 把窗口干掉,让它默默在后台跑就行了。
    ucun
        21
    ucun  
    OP
       2018-05-19 09:53:49 +08:00
    @lrh3321 #20 干嘛不直接一个命令行启动,然后 X 掉 shell 窗口。
    wwqgtxx
        22
    wwqgtxx  
       2018-05-19 10:32:12 +08:00
    @ucun 然后 windows 下默认会直接把程序停掉
    ucun
        23
    ucun  
    OP
       2018-05-19 10:43:57 +08:00
    @wwqgtxx #22 你用的哪个版本? 1803 不会。
    xjbeta
        24
    xjbeta  
       2018-05-19 11:41:07 +08:00
    macOS 下 配置文件也是不认"~" 的 所以我一般用${HOME}
    realpg
        25
    realpg  
       2018-05-19 12:09:38 +08:00
    楼主的问题在于楼主不知道~是咋回事
    yuchenr
        26
    yuchenr  
       2018-05-19 13:31:44 +08:00
    @ucun nssm 注册为服务就好了
    wwqgtxx
        27
    wwqgtxx  
       2018-05-19 14:07:38 +08:00 via iPhone
    @ucun wsl 下我没试过,但是在 cmd 下会的,1709 版本呀
    TMily
        28
    TMily  
       2018-05-19 19:11:00 +08:00
    @wwqgtxx WSL 早就支持后台任务了 关闭 Shell 不会导致后台程序关闭
    BingoXuan
        29
    BingoXuan  
       2018-05-20 09:10:40 +08:00 via Android
    ~虽然代表 home 目录,但不同操作系统或者其他一些差异问题,还是建议使用${HOME}。路径问题处理是需要慎重的,有时候无法确定真实路径到底是怎样的。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4465 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 02:05 · PVG 10:05 · LAX 19:05 · JFK 22:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.