我注意到,如果我在目录上运行 ls -F,某些条目后面会有 * 或 @。
spuder@ubuntu:~$ ls -F /sbin
acpi_available* getpcaps* lvmconf* ntfscp* start-stop-daemon*
agetty* getty* lvmdiskscan@ ntfslabel* status@
alsa* halt@ lvmdump* ntfsresize* stop@
alsactl* hdparm* lvmsadc@
spuder@ubuntu:~$ ls -F ~
daq-0.6.1/ examples.desktop noname-cache.lib snort-2.9.1/ Templates/
Desktop/ jpgraph-1.27.1/ noname.sch snortfiles/ Ubuntu One/
Documents/
根据 ls 手册页
spuder@ubuntu:~$ man ls
...
-F, --classify
append indicator (one of */=>@|) to entries
...
我猜这@
意味着符号链接,
这些其他指标意味着什么(*/=>@|
)?
答案1
答案2
只是添加我如何找到此信息。如底部所示man ls
:
完整文档位于:https://www.gnu.org/software/coreutils/ls 或通过以下方式在本地获取:info '(coreutils) ls incalling'
接下来,我们看到
'-F' '--classify' '--indicator-style=classify' 向每个文件名附加一个字符,指示文件类型。另外,对于可执行的常规文件,请附加“*”。文件类型指示符为“/”(表示目录)、“@”(符号链接)、“|”对于 FIFO,“=”用于套接字,“>”用于门,对于常规文件则没有任何内容。除非指定了 --dereference-command-line (-H)、--dereference (-L) 或 --dereference-command-line-symlink-to-dir 选项,否则不要遵循命令行上列出的符号链接。
在https://www.gnu.org/software/coreutils/manual/coreutils.html#General-output-formatting