1. 使用 ls 命令(最常用)
基本列表
ls -l > file_list.txt
包含隐藏文件
ls -la > file_list.txt
按修改时间排序
ls -lt > file_list.txt
按文件大小排序(从大到小)
ls -lS > file_list.txt
递归列出子目录
ls -lR > file_list.txt
2. 使用 tree 命令(树状结构)
安装 tree(如果未安装)
sudo apt update && sudo apt install tree
基本树状结构
tree > file_list.txt
包含隐藏文件
tree -a > file_list.txt
显示文件权限和大小
tree -pugs > file_list.txt
只显示目录结构
tree -d > file_list.txt
指定深度
tree -L 2 > file_list.txt
3. 使用 find 命令(更详细的信息)
基本列表
find . -type f > file_list.txt
包含文件详细信息
find . -type f -ls > file_list.txt
按文件类型筛选
find . -name "*.txt" > txt_files.txt
find . -name "*.mp3" > mp3_files.txt
包含相对路径
find . -type f -printf "%P\n" > file_list.txt
4. 使用 du 命令(包含文件大小)
显示文件大小
du -ah > file_list.txt
按大小排序
du -ah | sort -hr > sorted_file_list.txt
只显示特定深度的文件
du -h --max-depth=1 > file_list.txt
5. 综合脚本(推荐)
创建一个包含详细信息的文件列表:
创建详细文件列表脚本
cat > export_file_list.sh << 'EOF'
#!/bin/bash
echo "文件目录列表 - 生成时间: $(date)" > file_list_detailed.txt
echo "======================================" >> file_list_detailed.txt
echo "" >> file_list_detailed.txt
文件统计
echo "文件统计:" >> file_list_detailed.txt
find . -type f | wc -l | xargs echo "总文件数: " >> file_list_detailed.txt
find . -type d | wc -l | xargs echo "总目录数: " >> file_list_detailed.txt
echo "" >> file_list_detailed.txt
详细文件列表
echo "详细文件列表:" >> file_list_detailed.txt
ls -laht --full-time > file_list_detailed.txt
echo "文件列表已导出到: file_list_detailed.txt"
EOF
赋予执行权限并运行
chmod +x export_file_list.sh
./export_file_list.sh
6. 特定目录导出
导出指定目录
ls -la /path/to/directory > directory_list.txt
导出家目录
ls -la ~/ > home_directory_list.txt
导出当前目录的MP3文件
find . -name "*.mp3" -type f > mp3_list.txt
7. 格式化输出
自定义格式(文件名、大小、修改时间)
ls -lh | awk '{print $9 "\t" $5 "\t" $6 " " $7 " " $8}' > formatted_list.txt
只显示文件名(每行一个)
ls -1 > simple_list.txt
选择适合你需求的方法,最常用的是 ls -la > file_list.txt 或 tree > file_list.txt。
评论