Oh-My-Zsh - Почему мои цвета ls для каталогов изменились после копирования на usb?

1610
Elliot Tregoning

Я прошу прощения, если это кажется глупым вопросом, но я не могу найти ответ на него где-либо.

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

Я использую oh-my-zsh в iTerm2 с темой по умолчанию, работающей под управлением OSX Sierra. Я добавил картинки, чтобы вы могли видеть, о чем я говорю. По какой-то причине он делает это только на 1 проекте, и я не могу понять, почему.

Нормальные цвета LS:

enter image description here

«Выделенные» имена каталогов:

EDIT - добавлен ls -laвывод, file *вывод и echo $LSCOLORSвывод

ls -la выход:

echo $LSCOLORS вывод (одинаково для обоих):

file * вывод (одинаково для обоих):

1
Было бы полезно увидеть `ls -l` и` file * `обоих каталогов и увидеть, как они различаются. Также было бы приятно увидеть вывод «echo $ LSCOLORS». Spiff 6 лет назад 0
@Spiff - я отредактировал исходное сообщение с этими выводами, однако я использовал `ls -la` вместо` ls -l`, потому что вывод для `ls -l` был таким же, он был просто в списке. Elliot Tregoning 6 лет назад 0

1 ответ на вопрос

1
Kamil Maciorowski

Это из-за rwxrwxrwxразрешений, установленных для каждого каталога и каждого файла в вашей копии. Это может быть потому, что:

  • файловая система на вашем USB не поддерживает права доступа и владения в Unix;
  • или он был установлен таким образом, что отменяет это;
  • или вы скопировали свои файлы и каталоги так, чтобы не сохранять разрешения (исследования cp -a …).

Сравните с этим вопросом и комментариями там. Особенно:

Если вы сохраните файлы в архиве, вы можете сохранить все метаданные файловой системы ext4. Вам не нужно ничего терять.

Это говорит о ext4(и вы, вероятно, используете какую-то другую файловую систему), но ситуация похожа. Я думаю, что tarball, созданный из оригинальных файлов / каталогов, будет лучшим решением.

rwxrwxrwxозначает, что каждый пользователь может связываться с этими файлами и каталогами, так что это очень важно в многопользовательской среде. Кроме того, некоторые программы (например ssh) могут отказываться работать, если некоторые их файлы доступны другим пользователям.

Я пытаюсь сделать как можно больше, используя терминал, но на этот раз я просто перетащил его из его каталога на usb с помощью поиска. Итак, вы говорите, что использование -a сохранит права доступа? Сначала я попытаюсь сделать это, и если это не сработает, я просто сделаю тарболл. Благодарю. Elliot Tregoning 6 лет назад 0