假设我想使用 scp 运行程序或通过网络传输文件,我创建一个屏幕并在屏幕上运行这些命令,并使用 * 表示我希望该命令应用于该文件夹中的所有文件。该命令是否仅适用于执行命令时存在的文件,还是适用于执行命令后我稍后移动/复制到同一文件夹中的文件?
答案1
我猜他创建了一个屏幕会话,并启动了一个长时间运行的命令,如 scp 或 ftp,将文件夹中的一堆文件传输出去。在上传或下载过程中,他将更多文件添加到源文件夹/服务器。
Bash(您可能用来运行命令的 shell)将仅对执行命令时存在的文件执行该命令,因为该*
字符被视为模式并由与该模式匹配的文件名替换。
看man bash
路径名扩展
单词拆分后,除非设置了 -f 选项,否则 bash 会扫描每个单词以查找字符 *、? 和 [。如果出现其中一个字符,则该单词被视为模式,并替换为与该模式匹配的按字母顺序排序的文件名列表。
答案2
我也不知道您所说的创建屏幕是什么意思,但它只会应用于您执行命令时存在的文件。