Я не понимаю, почему каталог dir1 не отображается с тем же цветом. Хотя это может показаться неважным, мне кажется, что это является нарушением так часто упоминаемого принципа независимости в вычислительной технике (у меня есть профессора, которые упоминают его во время каждой лекции).
Я знаю, что «ls» является аргументом «sudo», но не должен ли «sudo» просто изменить привилегии и НЕ мешать каким-либо образом инструкции, которую он получает в качестве аргумента?
Это несоответствие происходит из простого варианта ls
и ничего больше.
На самом деле ваш ls
имеет псевдоним ls --color=auto
. Чтобы увидеть это попробуйте в терминале,
type ls
Вот почему у вас есть цветные выходы. Но когда вы используете sudo ls
, он использует /bin/ls
, у которого нет опции цвета. Таким образом, он не показывает цветные результаты.
Если вы попробуете /bin/ls
, у вас также будет меньше цвета. Или попробуйте sudo ls --color=auto
, который должен дать вам цвет.
Я считаю , это потому, что ваш пользователь octavian
и повышение прав этого пользователя происходит в двух разных оболочках.
Ubuntu по умолчанию использует bash
в качестве оболочки для пользователей. Когда вы запускаете команды через sudo
, оболочка меняется на sh
.
Вот скриншот, демонстрирующий различные оболочки.
При первом запуске ls
вы можете видеть, что я в оболочке bash. Вы можете сказать, потому что подсказка отмечает мое имя пользователя, имя хоста и текущий каталог.
Когда я переключаюсь на sh
, приглашение меняется, так как это совершенно другая оболочка с различными функциями.
Существуют тонны различных оболочек, все с различными функциями, приглашениями и опциями настройки. Одна из наиболее настраиваемых оболочек - zsh
.