linux - 为什么 ls -1/tmp/dir//and ls -1/tmp/dir/* 不显示相同的结果

标签 linux bash shell ubuntu

ls -1/tmp/dir/返回:

file1.txt
file2.txt

ls -1/tmp/dir/* 返回:
/tmp/dir/file1.txt
/tmp/dir/file2.txt

为什么会有这种差异?

最佳答案

如果 ls 的参数表示一个目录,它显示目录中没有路径组件的文件。如果参数是带有路径组件的文件,则显示路径组件。

ls -1 /tmp/dir ls 只看到目录。因此只有文件。
ls -1 /tmp/dir/*由 shell 扩展为 ls -1 /tmp/dir/file1.txt /tmp/dir/file2.txt ,因此 ls看到两个带有路径组件的文件。

关于linux - 为什么 ls -1/tmp/dir//and ls -1/tmp/dir/* 不显示相同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61746419/

相关文章:

linux - 使用 Ubuntu 每秒多次写入将数据附加到 1 GB 文件,没有性能问题。可能的?

bash - 在 upstart .conf 脚本中运行 bash 脚本

bash - shell脚本解析日志文件

java - 如何设置Java线程的cpu核心亲和性?

linux - awk 如何提取其他字段 "if duplicates in fields"仅当先前字段相同且大于零时

string - Bash:从字符串中提取(百分比)可变长度数

scripting - 脚本在今天适合什么地方

linux - 顺序执行后台进程unix

创建一个 GUI 来绘制 Linux 中的 CPU 使用率

c - Linux 上的 SDL 是否支持多个游戏 handle /操纵杆?