Ls
ls -F 顯示的符號是什麼意思?
我注意到,如果我在目錄上執行 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 ...
我猜這
@
意味著符號連結,這些其他指標是什麼意思(
*/=>@|
)?
ls -F
將符號附加到文件名。這些符號顯示有關文件的有用資訊。如果您希望此行為成為預設行為,請將其添加到您的 shell 配置中
alias ls='ls -F'
:
只是為了添加我如何找到此資訊。如底部所示
man ls
:完整文件位於:https ://www.gnu.org/software/coreutils/ls 或通過本地獲取:info ‘(coreutils) ls invocation’
在此之後,我們看到
‘-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