Qual é o significado de '*' (estrela, asterisco) nos resultados da listagem de arquivos?

31

Eu notei que alguns dos meus arquivos têm um asterisco no final.

O asterisco no final tem algum significado particular? Eu acho que eles são mais executáveis e exibidos em verde pelo comando ls .

Você verá que ./bkmp* e ./bkmp0* têm um asterisco no final. Eles são scripts bash executáveis.

Aqui está minha saída:

drwxr-xr-x 7 username username  4096 Oct  2 18:28 ./
drwxr-xr-x 8 root     root      4096 Oct  2 09:25 ../
-rw-r--r-- 1 username username  3724 Sep 22 03:06 .bashrc
-rwxr--r-- 1 username username   319 Sep 22 03:42 .bkmp*
-rwxr--r-- 1 username username   324 Sep 29 23:30 .bkmp0*
drwx------ 2 username username  4096 Sep 17 13:52 .cache/
-rw-r--r-- 1 username username   675 Sep 17 13:37 .profile
drwx------ 2 username username  4096 Sep 22 10:10 .ssh/
drwx------ 2 username username  4096 Sep 24 19:49 .ssh.local/
drwxr-xr-x 2 username username  4096 Sep 22 04:10 archives/
drwxr-xr-x 3 username username  4096 Sep 24 19:51 home/
-rw-r--r-- 1 username username 27511 Sep 24 19:51 username_backup.20120924_1908.tar.gz
    
por vfclists 02.10.2012 / 19:15

4 respostas

36

Se você está usando apenas ls sem argumentos, parece que você está usando um alias para ls . Para obter o mesmo resultado, preciso usar ls -lF . Na% man_de% manpage:

-F, --classify
          append indicator (one of */=>@|) to entries

-l     use a long listing format

Os símbolos significam o seguinte:

/: directories
@: symbolic links
|: FIFOs
=: sockets
*: executable files

Para testar se você está usando um alias, use ls . Mine (que é o padrão do Ubuntu) diz:

$ alias ls
alias ls='ls --color=auto'

Mais informações sobre o uso de aliases podem ser encontradas aqui .

    
por reverendj1 02.10.2012 / 19:51
5

Esses arquivos são realmente executáveis. É porque você tem (ou seu .bashrc file) especificou a opção -F . Infelizmente a manpage não é muito clara sobre isso:

-F, --classify
    append indicator (one of */=>@|) to entries

Mas, até onde eu saiba, * é para executáveis, / para diretórios, = para sockets, > para portas, @ para links simbólicos, | para FIFOs e nada para regular arquivos.

Além disso, a cor verde é porque você tem (ou o seu .bashrc file) especificou a opção --color .

    
por Silke 02.10.2012 / 19:53
2

Parece que o seu ls está configurado para denotar arquivos executáveis.

link

Talvez seu ls tenha um alias com algo extra. verifique

alias ls
    
por Nate 02.10.2012 / 19:49
0

Estou pensando como eles são executáveis e eles começam a funcionar se você iniciar o seu sistema. algo como scripts de inicialização.

    
por rɑːdʒɑ 02.10.2012 / 19:51

Tags