What do the symbols displayed by ls -F mean?












58















I noticed that if I run ls -F on a directory, some of the entries have a * or a @ after them.



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/


According to the ls man pages



spuder@ubuntu:~$ man ls
...
-F, --classify
append indicator (one of */=>@|) to entries
...


I'm guessing that @ means symbolic link,



What do these other indicators mean ( */=>@| ) ?










share|improve this question




















  • 2





    Have you thought of looking at the man page?

    – mdpc
    Jul 9 '13 at 17:20






  • 20





    He has. In fact, he posted an excerpt from the manpage. The full ls documentation, including information about the symbols displayed by ls -F, is in a Texinfo manual. (info ls).

    – user26112
    Jul 9 '13 at 17:33








  • 1





    On a side note, since Texinfo manuals generally feel strange and foreign, it's common to keep around functions like these: infos () { info --vi-keys --subnodes -o - "$@" | less; }.

    – user26112
    Jul 9 '13 at 17:37








  • 1





    @EvanTeitelman This is great information, I will keep info foo --vi-keys in mind. Unfortunately the syntax you mentioned does not work for me (infos () { info --vi-keys...}

    – spuder
    Jul 9 '13 at 17:44








  • 1





    @spuder: It's a function; you have to call it. infos ls. The $@ part passes all of the function's arguments to info. You can put this function in your ~/.bashrc file for later use.

    – user26112
    Jul 9 '13 at 17:56


















58















I noticed that if I run ls -F on a directory, some of the entries have a * or a @ after them.



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/


According to the ls man pages



spuder@ubuntu:~$ man ls
...
-F, --classify
append indicator (one of */=>@|) to entries
...


I'm guessing that @ means symbolic link,



What do these other indicators mean ( */=>@| ) ?










share|improve this question




















  • 2





    Have you thought of looking at the man page?

    – mdpc
    Jul 9 '13 at 17:20






  • 20





    He has. In fact, he posted an excerpt from the manpage. The full ls documentation, including information about the symbols displayed by ls -F, is in a Texinfo manual. (info ls).

    – user26112
    Jul 9 '13 at 17:33








  • 1





    On a side note, since Texinfo manuals generally feel strange and foreign, it's common to keep around functions like these: infos () { info --vi-keys --subnodes -o - "$@" | less; }.

    – user26112
    Jul 9 '13 at 17:37








  • 1





    @EvanTeitelman This is great information, I will keep info foo --vi-keys in mind. Unfortunately the syntax you mentioned does not work for me (infos () { info --vi-keys...}

    – spuder
    Jul 9 '13 at 17:44








  • 1





    @spuder: It's a function; you have to call it. infos ls. The $@ part passes all of the function's arguments to info. You can put this function in your ~/.bashrc file for later use.

    – user26112
    Jul 9 '13 at 17:56
















58












58








58


26






I noticed that if I run ls -F on a directory, some of the entries have a * or a @ after them.



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/


According to the ls man pages



spuder@ubuntu:~$ man ls
...
-F, --classify
append indicator (one of */=>@|) to entries
...


I'm guessing that @ means symbolic link,



What do these other indicators mean ( */=>@| ) ?










share|improve this question
















I noticed that if I run ls -F on a directory, some of the entries have a * or a @ after them.



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/


According to the ls man pages



spuder@ubuntu:~$ man ls
...
-F, --classify
append indicator (one of */=>@|) to entries
...


I'm guessing that @ means symbolic link,



What do these other indicators mean ( */=>@| ) ?







ls






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jul 9 '13 at 17:39







user26112

















asked Jul 9 '13 at 16:30









spuderspuder

6,6712571106




6,6712571106








  • 2





    Have you thought of looking at the man page?

    – mdpc
    Jul 9 '13 at 17:20






  • 20





    He has. In fact, he posted an excerpt from the manpage. The full ls documentation, including information about the symbols displayed by ls -F, is in a Texinfo manual. (info ls).

    – user26112
    Jul 9 '13 at 17:33








  • 1





    On a side note, since Texinfo manuals generally feel strange and foreign, it's common to keep around functions like these: infos () { info --vi-keys --subnodes -o - "$@" | less; }.

    – user26112
    Jul 9 '13 at 17:37








  • 1





    @EvanTeitelman This is great information, I will keep info foo --vi-keys in mind. Unfortunately the syntax you mentioned does not work for me (infos () { info --vi-keys...}

    – spuder
    Jul 9 '13 at 17:44








  • 1





    @spuder: It's a function; you have to call it. infos ls. The $@ part passes all of the function's arguments to info. You can put this function in your ~/.bashrc file for later use.

    – user26112
    Jul 9 '13 at 17:56
















  • 2





    Have you thought of looking at the man page?

    – mdpc
    Jul 9 '13 at 17:20






  • 20





    He has. In fact, he posted an excerpt from the manpage. The full ls documentation, including information about the symbols displayed by ls -F, is in a Texinfo manual. (info ls).

    – user26112
    Jul 9 '13 at 17:33








  • 1





    On a side note, since Texinfo manuals generally feel strange and foreign, it's common to keep around functions like these: infos () { info --vi-keys --subnodes -o - "$@" | less; }.

    – user26112
    Jul 9 '13 at 17:37








  • 1





    @EvanTeitelman This is great information, I will keep info foo --vi-keys in mind. Unfortunately the syntax you mentioned does not work for me (infos () { info --vi-keys...}

    – spuder
    Jul 9 '13 at 17:44








  • 1





    @spuder: It's a function; you have to call it. infos ls. The $@ part passes all of the function's arguments to info. You can put this function in your ~/.bashrc file for later use.

    – user26112
    Jul 9 '13 at 17:56










2




2





Have you thought of looking at the man page?

– mdpc
Jul 9 '13 at 17:20





Have you thought of looking at the man page?

– mdpc
Jul 9 '13 at 17:20




20




20





He has. In fact, he posted an excerpt from the manpage. The full ls documentation, including information about the symbols displayed by ls -F, is in a Texinfo manual. (info ls).

– user26112
Jul 9 '13 at 17:33







He has. In fact, he posted an excerpt from the manpage. The full ls documentation, including information about the symbols displayed by ls -F, is in a Texinfo manual. (info ls).

– user26112
Jul 9 '13 at 17:33






1




1





On a side note, since Texinfo manuals generally feel strange and foreign, it's common to keep around functions like these: infos () { info --vi-keys --subnodes -o - "$@" | less; }.

– user26112
Jul 9 '13 at 17:37







On a side note, since Texinfo manuals generally feel strange and foreign, it's common to keep around functions like these: infos () { info --vi-keys --subnodes -o - "$@" | less; }.

– user26112
Jul 9 '13 at 17:37






1




1





@EvanTeitelman This is great information, I will keep info foo --vi-keys in mind. Unfortunately the syntax you mentioned does not work for me (infos () { info --vi-keys...}

– spuder
Jul 9 '13 at 17:44







@EvanTeitelman This is great information, I will keep info foo --vi-keys in mind. Unfortunately the syntax you mentioned does not work for me (infos () { info --vi-keys...}

– spuder
Jul 9 '13 at 17:44






1




1





@spuder: It's a function; you have to call it. infos ls. The $@ part passes all of the function's arguments to info. You can put this function in your ~/.bashrc file for later use.

– user26112
Jul 9 '13 at 17:56







@spuder: It's a function; you have to call it. infos ls. The $@ part passes all of the function's arguments to info. You can put this function in your ~/.bashrc file for later use.

– user26112
Jul 9 '13 at 17:56












2 Answers
2






active

oldest

votes


















59














ls -F appends symbols to filenames. These symbols show useful information about files.





  • @ means symbolic link (or that the file has extended attributes).


  • * means executable.


  • = means socket.


  • | means named pipe.


  • > means door.


  • / means directory.


If you want this behavior to be the default, add this to your shell configuration: alias ls='ls -F'.






share|improve this answer





















  • 9





    do not realias commands, it can break badly written scripts. I have aliased l to have -F and colour, and ll to also have -l

    – ctrl-alt-delor
    Jun 30 '16 at 11:03











  • On Android I get a completely two column output. I get the filename or directory name and BEFORE the name there is a minus if it is file, or a "d" if it is a directory, or a "ld" if it is a link. It is a disaster that Linuxes are so inconsistent!

    – Elmue
    Jun 1 '18 at 16:31





















0














Just to add how I found this info. As indicated at the bottom of man ls:




Full documentation at: https://www.gnu.org/software/coreutils/ls
or available locally via: info '(coreutils) ls invocation'




Following this, we see




‘-F’ ‘--classify’ ‘--indicator-style=classify’ Append a character to
each file name indicating the file type. Also, for regular files that
are executable, append ‘*’. The file type indicators are ‘/’ for
directories, ‘@’ for symbolic links, ‘|’ for FIFOs, ‘=’ for sockets,
‘>’ for doors, and nothing for regular files. Do not follow symbolic
links listed on the command line unless the --dereference-command-line
(-H), --dereference (-L), or --dereference-command-line-symlink-to-dir
options are specified.




on https://www.gnu.org/software/coreutils/manual/coreutils.html#ls-invocation






share|improve this answer























    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "106"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f82357%2fwhat-do-the-symbols-displayed-by-ls-f-mean%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    59














    ls -F appends symbols to filenames. These symbols show useful information about files.





    • @ means symbolic link (or that the file has extended attributes).


    • * means executable.


    • = means socket.


    • | means named pipe.


    • > means door.


    • / means directory.


    If you want this behavior to be the default, add this to your shell configuration: alias ls='ls -F'.






    share|improve this answer





















    • 9





      do not realias commands, it can break badly written scripts. I have aliased l to have -F and colour, and ll to also have -l

      – ctrl-alt-delor
      Jun 30 '16 at 11:03











    • On Android I get a completely two column output. I get the filename or directory name and BEFORE the name there is a minus if it is file, or a "d" if it is a directory, or a "ld" if it is a link. It is a disaster that Linuxes are so inconsistent!

      – Elmue
      Jun 1 '18 at 16:31


















    59














    ls -F appends symbols to filenames. These symbols show useful information about files.





    • @ means symbolic link (or that the file has extended attributes).


    • * means executable.


    • = means socket.


    • | means named pipe.


    • > means door.


    • / means directory.


    If you want this behavior to be the default, add this to your shell configuration: alias ls='ls -F'.






    share|improve this answer





















    • 9





      do not realias commands, it can break badly written scripts. I have aliased l to have -F and colour, and ll to also have -l

      – ctrl-alt-delor
      Jun 30 '16 at 11:03











    • On Android I get a completely two column output. I get the filename or directory name and BEFORE the name there is a minus if it is file, or a "d" if it is a directory, or a "ld" if it is a link. It is a disaster that Linuxes are so inconsistent!

      – Elmue
      Jun 1 '18 at 16:31
















    59












    59








    59







    ls -F appends symbols to filenames. These symbols show useful information about files.





    • @ means symbolic link (or that the file has extended attributes).


    • * means executable.


    • = means socket.


    • | means named pipe.


    • > means door.


    • / means directory.


    If you want this behavior to be the default, add this to your shell configuration: alias ls='ls -F'.






    share|improve this answer















    ls -F appends symbols to filenames. These symbols show useful information about files.





    • @ means symbolic link (or that the file has extended attributes).


    • * means executable.


    • = means socket.


    • | means named pipe.


    • > means door.


    • / means directory.


    If you want this behavior to be the default, add this to your shell configuration: alias ls='ls -F'.







    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited Apr 13 '17 at 12:37









    Community

    1




    1










    answered Jul 9 '13 at 16:34







    user26112















    • 9





      do not realias commands, it can break badly written scripts. I have aliased l to have -F and colour, and ll to also have -l

      – ctrl-alt-delor
      Jun 30 '16 at 11:03











    • On Android I get a completely two column output. I get the filename or directory name and BEFORE the name there is a minus if it is file, or a "d" if it is a directory, or a "ld" if it is a link. It is a disaster that Linuxes are so inconsistent!

      – Elmue
      Jun 1 '18 at 16:31
















    • 9





      do not realias commands, it can break badly written scripts. I have aliased l to have -F and colour, and ll to also have -l

      – ctrl-alt-delor
      Jun 30 '16 at 11:03











    • On Android I get a completely two column output. I get the filename or directory name and BEFORE the name there is a minus if it is file, or a "d" if it is a directory, or a "ld" if it is a link. It is a disaster that Linuxes are so inconsistent!

      – Elmue
      Jun 1 '18 at 16:31










    9




    9





    do not realias commands, it can break badly written scripts. I have aliased l to have -F and colour, and ll to also have -l

    – ctrl-alt-delor
    Jun 30 '16 at 11:03





    do not realias commands, it can break badly written scripts. I have aliased l to have -F and colour, and ll to also have -l

    – ctrl-alt-delor
    Jun 30 '16 at 11:03













    On Android I get a completely two column output. I get the filename or directory name and BEFORE the name there is a minus if it is file, or a "d" if it is a directory, or a "ld" if it is a link. It is a disaster that Linuxes are so inconsistent!

    – Elmue
    Jun 1 '18 at 16:31







    On Android I get a completely two column output. I get the filename or directory name and BEFORE the name there is a minus if it is file, or a "d" if it is a directory, or a "ld" if it is a link. It is a disaster that Linuxes are so inconsistent!

    – Elmue
    Jun 1 '18 at 16:31















    0














    Just to add how I found this info. As indicated at the bottom of man ls:




    Full documentation at: https://www.gnu.org/software/coreutils/ls
    or available locally via: info '(coreutils) ls invocation'




    Following this, we see




    ‘-F’ ‘--classify’ ‘--indicator-style=classify’ Append a character to
    each file name indicating the file type. Also, for regular files that
    are executable, append ‘*’. The file type indicators are ‘/’ for
    directories, ‘@’ for symbolic links, ‘|’ for FIFOs, ‘=’ for sockets,
    ‘>’ for doors, and nothing for regular files. Do not follow symbolic
    links listed on the command line unless the --dereference-command-line
    (-H), --dereference (-L), or --dereference-command-line-symlink-to-dir
    options are specified.




    on https://www.gnu.org/software/coreutils/manual/coreutils.html#ls-invocation






    share|improve this answer




























      0














      Just to add how I found this info. As indicated at the bottom of man ls:




      Full documentation at: https://www.gnu.org/software/coreutils/ls
      or available locally via: info '(coreutils) ls invocation'




      Following this, we see




      ‘-F’ ‘--classify’ ‘--indicator-style=classify’ Append a character to
      each file name indicating the file type. Also, for regular files that
      are executable, append ‘*’. The file type indicators are ‘/’ for
      directories, ‘@’ for symbolic links, ‘|’ for FIFOs, ‘=’ for sockets,
      ‘>’ for doors, and nothing for regular files. Do not follow symbolic
      links listed on the command line unless the --dereference-command-line
      (-H), --dereference (-L), or --dereference-command-line-symlink-to-dir
      options are specified.




      on https://www.gnu.org/software/coreutils/manual/coreutils.html#ls-invocation






      share|improve this answer


























        0












        0








        0







        Just to add how I found this info. As indicated at the bottom of man ls:




        Full documentation at: https://www.gnu.org/software/coreutils/ls
        or available locally via: info '(coreutils) ls invocation'




        Following this, we see




        ‘-F’ ‘--classify’ ‘--indicator-style=classify’ Append a character to
        each file name indicating the file type. Also, for regular files that
        are executable, append ‘*’. The file type indicators are ‘/’ for
        directories, ‘@’ for symbolic links, ‘|’ for FIFOs, ‘=’ for sockets,
        ‘>’ for doors, and nothing for regular files. Do not follow symbolic
        links listed on the command line unless the --dereference-command-line
        (-H), --dereference (-L), or --dereference-command-line-symlink-to-dir
        options are specified.




        on https://www.gnu.org/software/coreutils/manual/coreutils.html#ls-invocation






        share|improve this answer













        Just to add how I found this info. As indicated at the bottom of man ls:




        Full documentation at: https://www.gnu.org/software/coreutils/ls
        or available locally via: info '(coreutils) ls invocation'




        Following this, we see




        ‘-F’ ‘--classify’ ‘--indicator-style=classify’ Append a character to
        each file name indicating the file type. Also, for regular files that
        are executable, append ‘*’. The file type indicators are ‘/’ for
        directories, ‘@’ for symbolic links, ‘|’ for FIFOs, ‘=’ for sockets,
        ‘>’ for doors, and nothing for regular files. Do not follow symbolic
        links listed on the command line unless the --dereference-command-line
        (-H), --dereference (-L), or --dereference-command-line-symlink-to-dir
        options are specified.




        on https://www.gnu.org/software/coreutils/manual/coreutils.html#ls-invocation







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered 7 hours ago









        flow2kflow2k

        19712




        19712






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Unix & Linux Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f82357%2fwhat-do-the-symbols-displayed-by-ls-f-mean%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Loup dans la culture

            How to solve the problem of ntp “Unable to contact time server” from KDE?

            Connection limited (no internet access)