Как я делаю ls символы подчеркивания вида сначала?

дайте установку через терминал попытка:

  1. открытый терминал

  2. выполните команду: склонные sudo - получают браузер хрома установки

альтернативно можно добавить репозиторий хрома через командную строку к источникам как это и установить его оттуда:

  1. открытый терминал

  2. sudo add-apt-repository ppa:chromium-daily/stable

  3. склонные sudo - получают обновление

  4. склонные sudo - получают браузер хрома установки

20
01.06.2012, 20:19
4 ответа

Если Вы не можете добраться ls для сортировки пути, Вы хотите, пробуете расширение оболочки.

Можно использовать шаблоны имени файла для выполнения ls со списком файлов, что оболочка, уже отсортированная, обходя метод это ls использование.

ls -lf _* [!_]*

Принятие Вас имеет файлы

_a a _b b _c c

это похоже на выполнение

ls -lf _a _b _c a b c

Объяснение:

_* сопоставление с образцом оболочки любое имя файла, начинающееся с подчеркивания, расширенного в алфавитном порядке.

[!_]* соответствия любое имя файла, не начинающееся с подчеркивания, расширенного в алфавитном порядке.

-f говорит ls к не вид, потому что оболочка уже сделала.

Больше информации: колотите расширение имени файла

Если будут каталоги в текущем каталоге, то Вы захотите выполнить команду как это для предотвращения ls список файлов в каталогах:

ls -lfd _* [!_]*
5
27.01.2020, 19:44
  • 1
    Между прочим, DOS/Windows/OSX действительно не помещают символы нижнего подчеркивания ни перед чем больше: они сортируют нечувствительно к регистру с подчеркиванием, помещенным перед буквами, но некоторые другие знаки пунктуации идут прежде или после подчеркивания. Используя _ к make-файлам кажутся первыми, определенный для ОС взлом; и версия Unix этого взлома состоит в том, чтобы запустить имя файла с прописной буквы: конвенция Unix по умолчанию состоит в том, чтобы использовать только строчные буквы в именах файлов. –  Gilles 'SO- stop being evil' 02.06.2012, 16:53
  • 2
    Или нули; например. 00README. –  mattdm 02.06.2012, 17:56
  • 3
    @Gilles +1 для лучшей практики Unix использования ограничений на важных файлах для создания их ls сначала. В конце дня, если это - конвенция, вероятно, лучше, чтобы я просто принял это, вместо того, чтобы пытаться вынудить Unix вести себя способ, которым другие Ose делают так, я могу использовать конвенции, которые были разработаны для Mac или Windows. Спасибо за большую подсказку. –  Tom Auger 02.06.2012, 22:46
  • 4
    @TomAuger -f говорит ls чтобы не сделать его собственную сортировку, таким образом, это отображает свои аргументы в порядке, они передаются. Результат каждого подстановочное расширение оболочки _* и [!_]* лексикографически отсортированный список. –  Gilles 'SO- stop being evil' 02.06.2012, 22:51
  • 5
    @TomAuger аргументы ls отсортированы (в двух группах: те запускающиеся с _, затем другие), когда они сгенерированы оболочкой. Выполненный echo ls -lf _* [!_]* видеть, что происходит. -f флаг говорит ls не сделать любую сортировку. –  Gilles 'SO- stop being evil' 04.06.2012, 21:02

Если Вы не хотите смешать нижний регистр и верхний регистр, установите свою локаль на C, который берет символы в их числовом порядке. _ падения между верхним регистром и нижним регистром.

$ LC_COLLATE=C ls    
BAR  FOO  _score  _under  hello  world
$ LC_COLLATE=en_US ls                    
BAR  FOO  hello  _score  _under  world

Настройки локали LC_MESSAGES (язык сообщений об ошибках), LC_CTYPE (наборы символов) и LC_TIME (формат даты и времени), очень полезны. LC_COLLATE и LC_NUMERIC обычно больше проблемы, чем они стоят, я не рекомендую установить их. Надлежащая лексикографическая сортировка более сложна, чем LC_COLLATE как предполагается, указывает, и это может вызвать все виды странных поведений при использовании диапазонов символов в регулярных выражениях. LC_NUMERIC является главным образом косметическим, кроме тех случаев, когда что-то идет ужасно неправильно, потому что некоторая программа произвела число с десятичным разделителем кроме ..

16
27.01.2020, 19:44
  • 1
    +1. Так с помощью этой формы, Вы временно устанавливаете переменную среды LC_COLLATE только для того одного экземпляра ls? Это правильно? –  Tom Auger 02.06.2012, 16:40
  • 2
    Какой-либо способ заставить символы нижнего подчеркивания появиться ПЕРЕД прописными буквами? –  Tom Auger 02.06.2012, 16:42
  • 3
    @TomAuger Да, VAR=value cmd наборы VAR кому: value только в среде cmd и не касается значения (или отсутствие значения) в оболочке, куда Вы выполняете его. Чтобы заставить подчеркивание появиться перед верхним регистром, необходимо было бы определить собственные настройки локали. Это возможно, но неудобно использовать, потому что, по крайней мере, в соответствии с Linux, стандартная библиотека только ищет определения локали в /usr/lib/locale — существует нет ~/.locale или переменная среды, куда Вы могли поместить Ваш en_tom установка. –  Gilles 'SO- stop being evil' 02.06.2012, 16:49
  • 4
    @TomAuger, Если это только о ls команда, пойдите с предложением Mikel. –  Gilles 'SO- stop being evil' 02.06.2012, 16:50

К сожалению, Linux использует glibc для своей информации о локали, не ICU, таким образом, нет никакого способа непосредственно применить это к Linux, не расходуя большое усилие или модифицируя ICU в glibc или добавляя информацию о локали в glibc.

2
27.01.2020, 19:44

Добавление -f переключатель (никакая сортировка) заставил его показать что путь ко мне.

man ls

[root@dusknoir ~/java/test]# ls -fl
total 0
-rw-r--r--  1 root  wheel  0 Jun  1 13:27 _1
-rw-r--r--  1 root  wheel  0 Jun  1 13:27 _2
-rw-r--r--  1 root  wheel  0 Jun  1 13:27 _3
-rw-r--r--  1 root  wheel  0 Jun  1 13:27 1
-rw-r--r--  1 root  wheel  0 Jun  1 13:27 2
-rw-r--r--  1 root  wheel  0 Jun  1 13:27 3
-4
27.01.2020, 19:44
  • 1
    Только потому, что это - то, как они хранятся в файловой системе. –  Ignacio Vazquez-Abrams 01.06.2012, 20:33
  • 2
    Извините, но этот ответ прост неправильный. Тест: touch 3 1 _1 _3 2 _2 && ls -fl выводы 2 . 1 3 _2 _3 .. _1 –  Marco 01.06.2012, 20:46

Теги

Похожие вопросы