如何用单行命令将桌面ls结果及统计数保存至指定位置?
解决方法
一、单行命令保存桌面文件/文件夹列表(含总数)到桌面TXT
你之前的命令无效,问题出在重定向语法错误(>后只能指定一个输出文件,不能额外加foldername),且未明确指定桌面路径(若当前目录不是桌面,文件会存到当前目录)。以下分两种场景给出正确命令:
1. 仅保存文件/文件夹总数
如果只需要统计桌面文件/文件夹的数量并保存:
ls ~/Desktop | wc -l > ~/Desktop/desktop_intel.txt
~/Desktop是桌面的绝对路径,确保无论当前目录在哪,都能正确读取桌面内容并将结果保存到桌面wc -l统计ls输出的行数,即文件/文件夹总数
2. 保存完整列表+末尾显示总数
如果需要同时列出所有文件/文件夹,再在末尾标注总数:
(ls ~/Desktop; echo "文件/文件夹总数: $(ls ~/Desktop | wc -l)") > ~/Desktop/desktop_intel.txt
- 用括号
()将两个命令组合成子shell,确保输出连续 $(ls ~/Desktop | wc -l)是命令替换,先统计总数再嵌入到echo的输出中
二、保存结果到U盘等外部存储设备
步骤1:找到U盘的挂载路径
先通过以下命令查看系统中挂载的外部设备:
df -h
在输出中找到你的U盘(通常路径为/media/你的用户名/U盘名称或/mnt/xxx),比如/media/andre/MyUSB
步骤2:修改命令输出路径
将之前命令中的桌面路径替换为U盘的挂载路径即可:
- 仅保存总数:
ls ~/Desktop | wc -l > /media/andre/MyUSB/desktop_intel.txt
- 保存列表+总数:
(ls ~/Desktop; echo "文件/文件夹总数: $(ls ~/Desktop | wc -l)") > /media/andre/MyUSB/desktop_intel.txt
内容的提问来源于stack exchange,提问作者Andre Freitas
相关产品推荐
相关产品推荐

