Лучший способ выучить unix - это иметь реальную работу с ним. Я бы сказал, что стоит столкнуться с различиями между примерами для Linux в вашей книге и версиями стандартных инструментов для Mac, просто чтобы иметь возможность работать с собственными файлами и данными в вашей обычной рабочей среде (OS X).
Знакомство с различиями также будет ценным опытом обучения, даже если иногда это будет разочаровывать.
Наличие виртуальной машины Linux также полезно для практики (особенно для потенциально опасных команд), но ничто не сравнится с реальным использованием для обучения.
Я заметил, что если использовать:
ls --color=tty
в каталоге /mnt/c вы получите эти сообщения об ошибках:
ls: cannot read symbolic link 'Documents and Settings': Permission denied
ls: cannot access 'hiberfil.sys': Permission denied
ls: cannot access 'pagefile.sys': Permission denied
ls: cannot access 'swapfile.sys': Permission denied
, но если вы используете просто /bin/ls
без каких-либо аргументов, вы получите чистый список каталогов. Так что есть что-то в попытке этой команды раскрасить типы файлов в каталоге, что вызывает эти сообщения об ошибках.
Если вы перенаправляете stderr в /dev/null, это также блокирует сообщения об ошибках:
alias ls='ls --color=tty 2>/dev/null'
Не всегда целесообразно, но устраняет шум.
Я опаздываю на вечеринку, но все равно хотел прокомментировать.Похоже, проблема здесь в том, что ls --color=tty
пытается получить доступ к символической ссылке, чтобы решить, какой цвет использовать, но ссылка недоступна в Windows. Я согласен игнорировать такие ошибки, но я хочу видеть другие ошибки, сгенерированные ls
, поэтому простое выполнение alias ls='ls --color=tty 2>/dev/null'
не поможет. Вместо этого я предлагаю этот псевдоним :alias ls="ls --color=tty 2> >(grep -v 'ls: cannot read symbolic link.*Permission denied')"
. Он ищет в stderr рассматриваемую ошибку и отфильтровывает ее.
Надеюсь, это избавит людей от разочарования.