You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Bash/Linux新手求助:SSH连树莓派时重定向程序输出及查路径

问题解答

嗨,作为刚接触Bash/Linux的初学者,遇到这些问题很正常,我来一步步帮你解决:

1. 将程序输出写入指定文件的命令

你可以用输出重定向命令来实现,这是Bash里非常常用的操作:

  • 如果要覆盖目标文件的内容(每次运行都生成新内容),用单大于号 >
    # 假设你的可执行程序名为my_program,要写入的文件是output.txt
    ./my_program > output.txt
    
  • 如果要在目标文件末尾追加内容(保留之前的输出),用双大于号 >>
    ./my_program >> output.txt
    
  • 如果程序有错误输出(比如编译警告、运行报错),想把标准输出和错误输出都写入同一个文件,可以用:
    # 两种写法都可以
    ./my_program > output.txt 2>&1
    # 或者更简洁的写法
    ./my_program &> output.txt
    

2. 查找树莓派上文件的路径

因为你是通过SSH连接树莓派,所有文件都在Pi的系统里,有几种实用方法可以找路径:

  • 知道文件名的情况下,用find命令全局搜索(会遍历整个系统,速度可能慢一点,但能找到所有匹配的文件):
    # 把your_filename换成你的实际文件名,加引号避免空格问题
    find / -name "your_filename" 2>/dev/null
    
    这里的2>/dev/null是为了过滤掉那些你没有权限访问的目录的错误提示,让输出更干净。
  • 如果文件在当前工作目录附近,先查看当前所在路径:
    pwd
    
    然后用ls命令列出当前目录的文件,加上-l可以看到详细信息:
    ls -l
    
  • 如果你用VS Code远程连接树莓派,更简单:在VS Code的资源管理器里找到目标文件,右键点击它,选择「复制路径」,就能直接得到文件的完整路径。

3. 复制粘贴的可行性

当然可以直接复制粘贴,分两种场景操作:

  • 在SSH终端里:大多数现代终端(比如Windows Terminal、Mac的iTerm2、Linux的GNOME Terminal)都支持复制粘贴,快捷键一般是Ctrl+Shift+C(复制)和Ctrl+Shift+V(粘贴),也可以用右键菜单来操作。
  • 在VS Code远程窗口里:和操作本地文件完全一样,不管是复制文件内容,还是直接复制移动文件,都可以用常规的复制粘贴快捷键(Ctrl+C/Ctrl+V)或者右键菜单完成,VS Code会自动帮你同步到树莓派上。

内容的提问来源于stack exchange,提问作者WhiteWaterRafting

火山引擎 最新活动