[РЕШЕНО]Жуткий вывод по команде ls -al (непонятный вывод содержимого в mc по F3)

Модератор: Модераторы разделов

dio
Сообщения: 84
ОС: Ubuntu

[РЕШЕНО]Жуткий вывод по команде ls -al

Сообщение dio »

Вроде ничего не предвещало катаклизма...зашел в систему, открыл терминал, там запустил mc. В нем перешел в рабочую директорию(внутри домашней) и там дал команду $ ls -al >out. А вот при просмотре файла out в mc (по F3) вижу жуть (см. вложение), хотя ко команде $cat out все норм, те:
cat > out

 linuxlite  ~  bash  Execise  cat out
итого 12
drwxr-xr-x 3 linuxlite linuxlite 4096 июл 8 10:00 .
drwxrwxr-x 6 linuxlite linuxlite 4096 июн 24 08:37 ..
-rw-rw-r-- 1 linuxlite linuxlite 0 июл 8 10:04 out
drwxrwxr-x 3 linuxlite linuxlite 4096 июл 8 09:57 test
 linuxlite  ~  bash  Execise  
и сам вывод в консоли команды ls -al тоже норм.
В чем проблема, кто знает? Те что это за 1-я, 2-я и последняя строки? Спасибо заранее.
PS Те я понимаю, что так mc отобразил каталоги( test и . и .. ), но почему и что это означает - не пойму никак....
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось dio 08.07.2021 12:54, всего редактировалось 1 раз.
Software is like sex: It's better when it's free.
Спасибо сказали:

Kopilov
Сообщения: 812
ОС: [K]Ubuntu, Debian

Re: Жуткий вывод по команде ls -al

Сообщение Kopilov »

dio писал:
08.07.2021 10:18
сам вывод в консоли команды ls -al тоже норм.
Этот вывод чёрно-белый или цветной?
Если цветной — по всей видимости, записались управляющие байты, отвечающие за цвет.
test, . (текущий каталог) и .. (родительский каталог) выделены цветом, out (обычный файл) не выделен
Спасибо сказали:

Аватара пользователя
/dev/random
Администратор
Сообщения: 5102
ОС: Gentoo

Re: Жуткий вывод по команде ls -al

Сообщение /dev/random »

Это escape-последовательности терминала, задающие цвета. Когда вы используете cat, они вместе с остальным текстом уходят на терминал, и терминал их интерпретирует. Когда вы просматриваете файл с помощью mc, он отображает их как есть. Для сравнения, less умеет делать и то, и другое, в зависимости от переданных опций.
Спасибо сказали:

Kopilov
Сообщения: 812
ОС: [K]Ubuntu, Debian

Re: Жуткий вывод по команде ls -al

Сообщение Kopilov »

При выводе в файл цвет обычно отключается, но не всегда.
alias ls что-нибудь выведет?
У меня alias ls='ls --color=auto', т.е. должен распознавать вывод в терминал и включать цвет только для терминала. Или у Вас настроено изначально по-другому, или сломано автоопределение вывода в терминал.
Спасибо сказали:

dio
Сообщения: 84
ОС: Ubuntu

Re: Жуткий вывод по команде ls -al

Сообщение dio »

Скорее всего, вы правы...в консоли вывод имен каталогов цветной
linuxlite  ~  bash  Execise  alias ll
alias ll='ls -al'
 linuxlite  ~  bash  Execise  alias ls
alias ls='ls --color'
 linuxlite  ~  bash  Execise  
вот что выводит.
А где посмотреть эти управляющие последовательности для цветов? Чтобы точно знать, что это они и что они из себя представляют? Есть ли какой-то список или что-то еще?
Software is like sex: It's better when it's free.
Спасибо сказали:

Kopilov
Сообщения: 812
ОС: [K]Ubuntu, Debian

Re: Жуткий вывод по команде ls -al

Сообщение Kopilov »

dio писал:
08.07.2021 10:46
alias ls='ls --color'
Вот и причина (color принудительный, auto выключен)
dio писал:
08.07.2021 10:46
А где посмотреть эти управляющие последовательности для цветов? Чтобы точно знать, что это они и что они из себя представляют? Есть ли какой-то список или что-то еще?
Отсюда
https://unix.stackexchange.com/questions/148/colorizing-your-terminal-and-shell-environment

Пример 1

Код: Выделить всё

export COLOR_NC='\e[0m' # No Color
export COLOR_BLACK='\e[0;30m'
export COLOR_GRAY='\e[1;30m'
export COLOR_RED='\e[0;31m'
export COLOR_LIGHT_RED='\e[1;31m'
export COLOR_GREEN='\e[0;32m'
export COLOR_LIGHT_GREEN='\e[1;32m'
export COLOR_BROWN='\e[0;33m'
export COLOR_YELLOW='\e[1;33m'
export COLOR_BLUE='\e[0;34m'
export COLOR_LIGHT_BLUE='\e[1;34m'
export COLOR_PURPLE='\e[0;35m'
export COLOR_LIGHT_PURPLE='\e[1;35m'
export COLOR_CYAN='\e[0;36m'
export COLOR_LIGHT_CYAN='\e[1;36m'
export COLOR_LIGHT_GRAY='\e[0;37m'
export COLOR_WHITE='\e[1;37m'
При использовании в выводе через echo надо добавить опцию -e

Пример 2

Код: Выделить всё

NORMAL=`echo -e '\033[0m'`
RED=`echo -e '\033[31m'`
GREEN=`echo -e '\033[0;32m'`
LGREEN=`echo -e '\033[1;32m'`
BLUE=`echo -e '\033[0;34m'`
LBLUE=`echo -e '\033[1;34m'`
YELLOW=`echo -e '\033[0;33m'`
Можно вставлять в любой вывод
Спасибо сказали:

dio
Сообщения: 84
ОС: Ubuntu

Re: Жуткий вывод по команде ls -al

Сообщение dio »

Спасибо, все здорово. Четко - и полно и быстро. Как тут карму вам повысить? Уже забыл все )) и поставить тему "решенной"?
Software is like sex: It's better when it's free.
Спасибо сказали:

Kopilov
Сообщения: 812
ОС: [K]Ubuntu, Debian

Re: Жуткий вывод по команде ls -al

Сообщение Kopilov »

dio писал:
08.07.2021 11:25
поставить тему "решенной"?
Отредактировать первое сообщение в теме
Спасибо сказали: