linux - 如何处理名称为标志的文件

标签 linux unix flags

我想知道如何处理名称为标志的文件,如“-a”、“-f”等。我不能将它们作为参数传递给程序,如 rmls,因为它们被解释为标志,并且执行 rm *ls * 只是运行那些带有文件名标志的程序(原因很明显) .如何在程序参数中将标志作为普通文件名传递?

最佳答案

一个常见的技巧是使用./作为前缀:

edd@max:/tmp$ touch ./-a ./-b ./-c
edd@max:/tmp$ ls -l ./-*
-rw-rw-r-- 1 edd edd 0 May 22 21:07 ./-a
-rw-rw-r-- 1 edd edd 0 May 22 21:07 ./-b
-rw-rw-r-- 1 edd edd 0 May 22 21:07 ./-c
edd@max:/tmp$ rm ./-*
edd@max:/tmp$ ls -l ./-*
ls: cannot access ./-*: No such file or directory
edd@max:/tmp$ 

关于linux - 如何处理名称为标志的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16704515/

相关文章:

Linux 找不到 metis.h

c++ - 为什么起源进程在 Qt-app 中以僵尸启动。 Linux

linux - linux/unix系统中管道符/管道符(竖线字符 "|")的可执行文件是什么

java - 如何通过Linux解析Xml文件

c# - C# 中的负标志

Powershell:基于局部变量的条件标志

visual-c++ - 在 MSVC 项目中,你推荐什么标志用于发布配置

linux - 如何在退出时删除/取消链接文件

linux - 在 docker 中使用 passwd 出现错误 "passwords do not match"

java - 在命令行 java 中突出显示文本