Существует много сложных ответов выше, это кажется более простым и более быстрым, чем все они:
find . -maxdepth 1 | sort -f | uniq -di
Если Вы хотите найти названия дубликата файла в подкаталогах затем, необходимо сравнить просто имя файла, не целый путь:
find . -maxdepth 2 -printf "%f\n" | sort -f | uniq -di
Править: Shawn J. Goff указал, что это перестанет работать, если у Вас будут имена файлов с символами новой строки. При использовании утилит GNU можно заставить их работать также:
find . -maxdepth 1 -print0 | sort -fz | uniq -diz
-print0
(для находки) и -z
опция (для вида и uniq) заставляет их работать над NUL-завершенными строками вместо завершенных строк новой строки. Так как имена файлов не могут содержать NUL, это работает на все имена файлов.
Кроме окраски файлов на основе их типа (бирюзовый для звуковых файлов, яркого красного для Архивов и сжатых файлов, и фиолетовый для изображений и видео), ls
также файлы цветов и каталоги на основе их атрибутов:
o+w, +t
).o+w, -t
).Stephano Palazzo в Просит, чтобы Ubuntu сделала это очень поучительное изображение по различным цветам атрибута:
Как terdon указанный, настройки цветов могут быть изменены через dircolors
. Со списком различных настроек окраски можно получить доступ dircolors --print-database
.
Каждая строка вывода, такой как BLK 40;33;01
, имеет форму:
[TARGET] [TEXT_STYLE];[FOREGROUND_COLOR];[BACKGROUND_COLOR]
TARGET
указывает на цель для окрашивающего правила
TEXT_STYLE
указывает на стиль текста:
00
= ни один01
= полужирный04
= подчеркивание05
= мигание07
= реверс, 08
= скрытыйFOREGROUND_COLOR
указывает на основной цвет:
30
= черный31
= красный32
= зеленый33
= желтый34
= синий,35
= пурпурный36
= голубой37
= белыйBACKGROUND_COLOR
указывает на цвета фона:
40
= черный41
= красный42
= зеленый43
= желтый44
= синий,45
= пурпурный46
= голубой47
= белыйПоля могут быть опущены, начав справа, так например, .tar 01;31
означает полужирный и красный.
XTerm и большинство других современных эмуляторов терминала поддерживают 256 цветов.
Код основного цвета с 256 цветами XTerm имеет форму:
38;5;[FOREGROUND_COLOR]
Цветовой код с 256 цветовыми фонами XTerm имеет форму:
48;5;[BACKGROUND_COLOR]
где оба FOREGROUND_COLOR
и BACKGROUND_COLOR
число диапазон 0-255. Полный список цветовых кодов для 16 и 256 цветовых режимов показывают в ниже снимка экрана:
Цвета ls
может представить полномочия, значения по умолчанию для некоторых систем должен показать каталоги, где у всех есть полномочия записи с зеленым фоном:
Можно изменить цвета путем редактирования Вашего $LS_COLORS
переменное использование dircolors
(от man ls
):
Using color to distinguish file types is disabled both by default and
with --color=never. With --color=auto, ls emits color codes only when
standard output is connected to a terminal. The LS_COLORS environment
variable can change the settings. Use the dircolors command to set it.
Синтаксис является по общему признанию довольно раздражающим здесь, но можно изменить этот цвет путем создания файла с цветами, которые Вы хотите и сохранение его как ~/.dircolors
:
dircolors -p > ~/.dircolors
Та команда распечатает значения по умолчанию в ~/.dircolors
. Необходимо будет затем отредактировать тот файл и изменить эту строку:
OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky
Например, для создания этого черным текстом на красном фоне (см. здесь для списка цветовых кодов):
OTHER_WRITABLE 30;41 # dir that is other-writable (o+w) and not sticky
У Вас не должно быть всех значений по умолчанию, можно также просто создать файл с одной строкой, переопределив просто ту, которую Вы хотите изменить. Так или иначе, после того как Вы создали файл, загрузите его:
eval "$(dircolors ~/.dircolors)";
И здесь это в действии:
Чтобы иметь, которые происходят автоматически, добавьте eval
команда выше к Вашему ~/.bashrc
файл.
eval "$(dircolors ~/dircolors)";
вместо более прямого пути такой как dircolors ~/dircolors
?
– StackExchange for All
22.10.2015, 18:27
У меня был тот же вопрос, Ответ Тердона - это приятно, но я думаю, что между Дирнамом и Дирмалью есть путаница между Дирнамом и дирижалами?
В любом случае, после некоторых дальнейших исследований я могу изменить цвета, так что я Распределение моего решения здесь. Это может быть полезно для кого-то в течение одного дня!
Итак, 3 простых шагов:
Во-первых, как сказал Terdon, скопируйте цвета по умолчанию в файл
dircolors -p > ~/.dircolors
, затем измените этот файл. Вы можете найти некоторые значения для цветов внутри, но я нашел больше здесь :)
и, наконец, добавьте следующую строку в свой ~ / .bashrc
файл для цветов, чтобы быть Автоматически загружены при открытии терминала:
eval 'dircolors ~/.dircolors' > /dev/null
VOILà :)
Хотя все технические ответы верны, я бы счел это немного неформальным предупреждением, что вы немного щедро раздавали права или копируете крест + крест ... (чаще всего мы все делаем, чтобы получить что-то изначально работает, а?)
Как сделать его синим на черном, ...?
Хорошее «средство защиты от зелени», чтобы вернуть права, которые вы, скорее всего, хотите, это утверждение:
chmod -R a-x,o-w,+X thatGreenFolderWithSubfolders/
Лучше всего понял, что это так, если вы понимаете назначение верхнего регистра + X «специальное выполнение», т.е. см. Википедию
Это действительно полезно только при использовании с '+' и обычно в сочетании с -R вариант для предоставления группе или другого доступа к большому дереву каталогов без установки разрешения на выполнение для обычных файлов (таких как текстовые файлы), что обычно происходит, если вы просто использовали " chmod -R a + rx ...
Ну, это означает, что у этой папки есть разрешения, если вы запустите это:
сhmod og-w AU_LI
удаляет bgcolor:)
Вы можете изменить оттенок зеленого в Putty, чтобы сделать текст читабельным.
Откройте Putty и перейдите в Window\Colours, выберите «Зеленый ANSI», установите его на более темный зеленый (R :0 G :70 B :0 ).
Для быстрого решения проблемы:
LS_COLORS+=':ow=01;33'
~/.bashrc
, ~/.profile
и т. д. ), чтобы сделать это постоянным. Заменить 33
на 34
вместо blue
на nobg
. Еще проще сделать это nofg
наnobg
:
LS_COLORS+=:ow=
Чтобы сделать ваше изменение постоянным, добавьте его в свой.profile:
echo "export LS_COLORS+=':ow=01;33'" >> ~/.profile
Для просмотра правил LS_COLORS
:
echo "$LS_COLORS" | sed 's/:/\n/g' | grep -v '\*.'
sed
помещает каждое правило в одну строку, а grep
удаляет правила, начинающиеся с*.'.
Чтобы изучить цвета ls
на вашем терминале, рассмотрите возможность использования
C="$LS_COLORS"
function sc () {
echo "$LS_COLORS" | sed 's/:/\n/g' | grep -v '\*.'
}
function t () {
ls /mnt # Or the path to your example directory.
}
Тогда
LS_COLORS="$C:ow=38;5;250;48;5;025";t
Как указано в другом ответе (, ответ Томаса Наймана ), 38;5;
является префиксом для переднего плана x -термин 256 -цветов, а 48;5;
для фона x -термин 256 -цвета. Однако 256 -цветов поддерживаются не всеми терминалами.
См. также-Что означают разные цвета в ls?-на AskUbuntu.
Сделать все каталоги одного нормального цвета. Скопируйте/вставьте это в конец файла~/.bashrc
export LS_COLORS+=':tw=01;34:ow=01;34:st=01;34'
Запустите новый терминал, чтобы увидеть изменения
38;5;
запускает xterm код основного цвета с 256 цветами.48;5;
запускает xterm цветовой код с 256 цветовыми фонами. Голубой в моем выводе dircolors38;5;51
нет36
хотя результатом является то же. поблагодарите Вас – stevesliva 07.02.2018, 16:50