Description
What is the meaning of "*" at the end of a file (generally software package) being appended when "ls -lF" is executed under shell mode
Symptoms
Users may notice an asterisk (*) appended to the end of a file name when viewing files in a directory using the
ls -lF
command.
This asterisk typically indicates that the file is executable, which may lead to concerns about whether the file should be executable or if this could cause any issues.
Users might be uncertain about the implications of the asterisk and whether it affects the file's functionality or integrity, especially in the context of software packages.
Solution
Usually asterisk (*) at the end of any file means it is an executable file so shouldn't likely cause issue as long as the checksum matches to the original Software package file
For example, from shell,
% touch test1.txt
% ls -lF test1.txt
-rw-r--r--
1 user staff 0 Jul 7 19:31 test1.txt >>>> this is not an executable file just has permission to read and write
% chmod 755 test1.txt
% ls -lF test1.txt
-rwxr-xr-x
1 user staff 0 Jul 7 19:31 test1.txt* >>> asterisk is appended since permission has been changed thereby making it an executable file
you can also use ls -l alone to check and not use -F option
% ls -l test1.txt >>>the "-F" option will list the type of file it is
-rwxr-xr-x 1 user staff 0 Jul 7 19:31 test1.txt
According to man page:
-F Display a slash (‘/’) immediately after each pathname that is a directory, an asterisk (‘*’) after each that is executable, an at sign (‘@’) after each symbolic link, an equals sign (‘=’) after each socket, a percent sign (‘%’) after each whiteout, and a vertical bar (‘|’) after each that is a FIFO.
Doing chmod 644 <file-name> from shell mode will remove the "x" from the file modifying the permission that will make the * disappear or in other word this file executable permission will be removed
Modification History
2024-08-08 : Article Created
"*" is being appended to file name when copying JunOS iso to router.