1

Каждый файл или ссылка в моем CentOS /usr/bin имеет звездочку в конце. Ни один из них не делает на моем локальном сервере osX. Что это значит? Я искал в Google и здесь, в частности, без удачи.

-rwxr-xr-x 1 root root 107104 Nov 11 2010 zipcloak* -rwxr-xr-x 1 root root 2953 Oct 10 2008 zipgrep* -rwxr-xr-x 1 root root 159928 Nov 11 2010 zipinfo* -rwxr-xr-x 1 root root 98584 Nov 11 2010 zipnote* -rwxr-xr-x 1 root root 102680 Nov 11 2010 zipsplit* -rwxr-xr-x 1 root root 1731 May 27 2013 zless* -rwxr-xr-x 1 root root 2605 May 27 2013 zmore* -rwxr-xr-x 1 root root 5246 May 27 2013 znew*

2 ответа2

2

Это индикатор, показывающий, что файлы являются исполняемыми. Из документации для ls, раздел "Общее форматирование вывода" (info coreutils 'general output formatting'):

‘-F’
‘--classify’
‘--indicator-style=classify’
    Append a character to each file name indicating the file type.
    Also, for regular files that are executable, append ‘*’.

Ваша система, вероятно, имеет псевдоним для ls который расширен до ls -F .

У ls из Mac OS X также есть эта опция, но вы должны использовать ее явно, т.е. запустить ls -F .

-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.
2

GNU ls предлагает опцию -F которая приводит к добавлению в имена файлов определенных символов, указывающих тип файла:

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

где * обозначает исполняемый файл, / обозначает каталог, = обозначает сокет и т. д. Скорее всего, команда листинга, которую вы используете в вашем CentOS-боксе, имеет псевдоним что-то вроде /bin/ls -lF . Если вы введете /bin/ls -l /usr/bin в вашем CentOS-окне, то * исчезнет.

Попробуйте набрать ls -lF на вашем OSX-сервере и посмотрите, работает ли это. Обратите внимание, что ls который поставляется с OSX, не является GNU ls ; это OpenBSD ls , который может не поддерживать -F (я не уверен). Введите man ls на OSX, чтобы увидеть, какие опции он поддерживает. (Вы также можете установить GNU fileutils на OSX, используя macports .)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .