在Linux系统中,需通过find命令结合ls -l或-ls参数实现长列表显示(完整文件属性)。以下是具体方法及扩展说明:

1. 使用 find 命令的 -exec 参数调用 ls -l
通过-exec对搜索结果逐个执行ls -l。示例:
bash
find /path -name "*.conf" -exec ls -l {} \;
2. 使用 find 的 -ls 参数直接输出长格式
更高效的内置长列表模式(类似ls -dils):
bash
find /path -name "*.log" -ls
3. 结合 xargs 批量处理
提升大文件数量下的执行效率:
bash
find /path -type f -print0 | xargs -0 ls -l
| 参数 | 功能 | 应用场景 |
|---|---|---|
| -exec ls -l {} \; | 对每个结果调用 ls -l | 精确控制输出格式 |
| -ls | 内置长格式显示 | 高效输出(inode/权限等) |
| xargs ls -l | 批量传递参数 | 海量文件查询优化 |
扩展:ls -l 字段解析
| 字段示例 | 含义 |
|---|---|
| -rw-r--r-- | 文件权限(所有者/组/其他) |
| 3 | 硬链接数 |
| user | 所有者 |
| 4096 | 文件大小(bytes) |
| Jan 15 14:22 | 最后修改时间 |
4. 组合筛选条件示例
查找7天内修改过的大于1MB的配置文件:
bash
find /etc -name "*.conf" -size +1M -mtime -7 -ls
注意事项:
- 使用-iname进行不区分大小写匹配
- -type f限定普通文件,排除目录
- 添加-h参数可人类友好显示大小(需配合 ls -lh)
若需要更细颗粒度的文件属性查看,可考虑使用stat命令替代 ls -l,获取包括访问时间、变更时间等元数据。

查看详情

查看详情