如何使用各种 Linux 命令(如,,,,... cat
)以及名为 as 符号的文件等等?ls
touch
more
less
-
/
--
谢谢!
答案1
斜线/
不能曾经出现在文件名中,因为它是路径分隔符。
当文件名以破折号开头时,程序通常会尝试将其解释为一个选项,有两种方法可以避免这种情况:
使用特殊
--
选项这意味着“此后的所有内容都只是名称,而不是选项”。例如,如果您有名为-rf
和 的文件--hello--
,则可以使用:rm -- -rf --hello--
或者更简单地说,命名不是以破折号开头,方法是指定它们的完整路径。例如,您可以指定它们位于
.
(当前目录),最后得到:rm ./-rf ./--hello--
或者您可以使用完整路径:
rm /home/Krishath/-rf /home/Krishath/--hello--
另一种情况是名称中间有特殊符号(-
不是特殊;$
会是特殊)。
第一的尝试使用
\
。例如,如果您有一个名为的文件wei"rd$na'me
,请使用:cat we\"ird\$na\'me
这适用于所有内容,包括空格,当您只需处理一两个符号时,这是最简单的方法。
另一种方法是用引号括起来。遗憾的是,在命令行 shell 中使用引号有点令人困惑——有时两者都
'name'
有效"name"
,有时只能使用其中一种。(例如,特殊符号
|
或<
可以用双引号引起来,但$
或`
不能。另一方面,单引号可以用于所有内容除了当文件名本身包含单引号时。)但是,如果文件名只是有空格,那么引号肯定会更容易:
mv "Some long file name.txt" ~/trash
答案2
要分隔选项列表,请使用--
ie 键入以下命令:
ls -l -- *.txt
http://www.cyberciti.biz/faq/linuxunix-move-file-starting-with-a-dash/