Useful command - Tools

Useful command for useful tools/softwares

Posted by Seasons on June 9, 2022

Useful commends - Tools

Proxy

Clash

前提条件:

  • 你拥有 sudo 权限。
  • Clash 已通过 systemd 服务(名为 clash.service)管理。
  • Clash 的安装目录为 /opt/clash
  • 你知道你的 Clash 订阅链接(URL)。

场景一:更新/更换 config.yaml 配置文件

此操作适用于你的订阅链接更新、你想切换到不同的配置文件或当前配置文件损坏需要替换的情况。

  1. (可选但推荐)备份当前配置文件: 为了防止新的配置文件无效导致 Clash 无法启动,建议先备份当前的配置。
    1
    2
    
    cd /opt/clash
    sudo cp config.yaml config.yaml.bak_$(date +%Y%m%d_%H%M%S)
    

    这会在 /opt/clash 目录下创建一个带有时间戳的备份文件。

  2. 获取新的配置文件: 通常是通过你的订阅链接下载。请将下面的 '在此处粘贴你的新订阅链接' 替换为你的实际链接,并务必使用单引号将链接括起来,以防止 URL 中的特殊字符引起问题。
    1
    
    sudo wget -O /opt/clash/config.yaml '在此处粘贴你的新订阅链接'
    
    • 注意: -O /opt/clash/config.yaml 会直接覆盖现有的 config.yaml 文件。
    • 下载完成后,可以简单检查一下文件是否下载成功且内容看起来正常:sudo head /opt/clash/config.yaml
  3. 重启 Clash 服务以应用新配置: 这是必须的步骤,否则 Clash 仍然使用旧的配置运行。
    1
    
    sudo systemctl restart clash.service
    
  4. 验证服务状态和功能
    • 检查服务是否成功启动:
      1
      
      sudo systemctl status clash.service
      

      确保状态显示为 active (running),并留意日志中是否有明显的错误信息。

    • 实时查看日志(可选,用于排错):
      1
      
      sudo journalctl -u clash.service -f
      

      Ctrl+C 退出查看。

    • 测试代理是否工作(在新终端或配置了代理的终端):
      1
      2
      3
      
      export http_proxy="http://127.0.0.1:7890"
      export https_proxy="http://127.0.0.1:7890"
      curl -v https://www.google.com # 或其他需要代理访问的网站
      

      如果访问成功,说明新配置已生效且代理可用。

    • 检查 Web UI(如果配置了): 访问 http://<你的服务器IP或127.0.0.1>:9090

如果重启失败或代理无效怎么办?

  • 仔细检查 sudo journalctl -u clash.service -n 50 (查看最近 50 行日志) 或 sudo journalctl -u clash.service -f 的错误信息,常见的有:
    • 配置文件格式错误 (YAML 语法问题)。
    • DNS 配置错误导致无法解析节点。
    • 端口冲突。
  • 如果确认是新配置文件的问题,可以尝试恢复备份:
    1
    2
    
    sudo cp /opt/clash/config.yaml.bak_xxxx /opt/clash/config.yaml # 替换 xxxx 为实际备份文件名
    sudo systemctl restart clash.service
    

场景二:彻底重装 Clash

此操作适用于 Clash 出现严重问题无法修复、需要升级 Clash 主程序版本,或者想进行一次完全干净的安装。

⚠️ 警告: 此过程将删除所有 Clash 相关文件,包括配置文件。请务必提前备份你的 Clash 订阅链接!

  1. 备份重要信息
    • 必须: 复制并保存好你的 Clash 订阅链接 (URL)。
    • (可选)备份旧配置文件供参考:
      1
      
      sudo cp /opt/clash/config.yaml ~/clash_config_old_backup.yaml
      
  2. 停止并禁用 Clash 服务
    1
    2
    
    sudo systemctl stop clash.service
    sudo systemctl disable clash.service
    
  3. 删除旧文件
    • 删除 Clash 安装目录:
      1
      2
      
      # !!!请极其小心使用 rm -rf 命令 !!!
      sudo rm -rf /opt/clash
      
    • 删除 systemd 服务文件:
      1
      
      sudo rm /etc/systemd/system/clash.service
      
  4. 重新加载 systemd 配置
    1
    
    sudo systemctl daemon-reload
    
  5. 确定系统架构
    1
    
    uname -m
    

    记下输出(如 x86_64 对应 amd64aarch64 对应 arm64)。

  6. 下载最新的 Clash (Meta) 可执行文件
    • 前往 Clash Meta Releases 页面:https://github.com/MetaCubeX/Clash.Meta/releases
    • 找到最新版本,下载对应你架构的 Linux 压缩包(如 clash.meta-linux-amd64-vX.Y.Z.gz)。复制其下载链接。
    • 在终端下载并解压(替换链接和文件名):
      1
      2
      
      wget <粘贴下载链接>
      gzip -d clash.meta-linux-*.gz
      
  7. 创建目录并移动文件
    1
    2
    3
    
    sudo mkdir /opt/clash
    sudo mv clash.meta-linux-* /opt/clash/clash # 重命名为 clash
    sudo chmod +x /opt/clash/clash # 添加执行权限
    
  8. (可选但推荐)下载 GeoIP 数据库
    1
    
    sudo wget -O /opt/clash/Country.mmdb https://github.com/Dreamacro/maxmind-geoip/releases/latest/download/Country.mmdb
    
  9. 获取配置文件: 使用你备份的订阅链接下载:
    1
    
    sudo wget -O /opt/clash/config.yaml '在此处粘贴你的订阅链接'
    
    • 重要: 检查下载的文件是否正常:sudo head /opt/clash/config.yaml。如果订阅链接失效或下载的文件有问题,你需要寻找可用的链接或使用基础模板手动配置。
  10. 创建 systemd 服务文件
    1
    
    sudo nano /etc/systemd/system/clash.service
    

    粘贴以下修正后的内容(确保 User=root 后面没有注释):

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    [Unit]
    Description=Clash daemon Service
    After=network.target NetworkManager.service systemd-networkd.service iwd.service
        
    [Service]
    Type=simple
    User=root
    CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW
    AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW
    Restart=always
    RestartSec=5s
    ExecStart=/opt/clash/clash -d /opt/clash/
        
    [Install]
    WantedBy=multi-user.target
    

    保存并退出 (Ctrl+O, Enter, Ctrl+X)。

  11. 启动并启用服务
    1
    2
    3
    4
    
    sudo systemctl daemon-reload
    sudo systemctl start clash.service
    sudo systemctl status clash.service # 确认 active (running)
    sudo systemctl enable clash.service # 设置开机自启
    
  12. 验证: 参考 场景一 中的步骤 4 进行验证(检查日志、测试代理、检查 UI)。

常用排错命令:

  • 查看服务状态和最近日志:sudo systemctl status clash.service
  • 实时跟踪日志:sudo journalctl -u clash.service -f
  • 查看最近 100 行日志:sudo journalctl -u clash.service -n 100 --no-pager
  • 测试配置文件语法(Clash Premium 内核可能自带,Meta 内核需要手动执行):/opt/clash/clash -t -d /opt/clash/ (如果提示错误,配置文件有问题)
  • 检查端口监听:sudo ss -tlpn | grep clashsudo netstat -tlpn | grep clash

希望这份文档对你有帮助!

Pycharm安装

https://www.exception.site/essay/how-to-free-use-pycharm-2020