使用 VirtualBox 时,我无法使用该ls
命令,它显示
ls: unrecognized option '--color=auto'
ls: use the --help option for usage information
有人可以给我建议吗?
我搜索了谷歌,并通过alias
命令显示
alias cp='cp -i'
alias dmesgg='dmesg | grep'
alias l='ls $LS_OPTIONS -lA'
alias lh='ls $LS_OPTIONS -lh'
alias ll='ls $LS_OPTIONS -l'
alias ls='ls $LS_OPTIONS'
alias lt='ls $LS_OPTIONS -lht'
alias mv='mv -i'
alias pss='ps -ef | grep'
alias rm='rm -i'
请提供任何建议。
答案1
首次运行unalias ls
。然后ls
正常运行。
每次启动新 shell 时,您都必须这样做,除非您找到创建错误别名的位置,例如在/etc/profile
、~/.bash_profile
、中~/.bash_login
,~/.profile
如上面的 @dirkt 所述,或者在 中~/.bashrc
。或者,您可以将其添加unalias ls
到 的末尾~/.profile
,尽管这是一种非常讨厌的黑客行为。
答案2
您可能有一个错误配置.profile
或类似的文件。(请查看man
您的 shell 的命令,有很多。如果您不知道您有哪个 shell,请使用ps
。)它要么错误地设置选项'--color=auto'<br/>
(如果这不是剪切和粘贴错误)使用类似于您谷歌搜索的别名,要么您有一个ls
不理解此选项的命令。
要使其ls
工作,请尝试直接将其调用为/bin/ls
。如果它不在 中/bin
,请尝试which ls
找出它在哪里。
使用工作ls
命令,查看各种 shell-profile 文件,并修复问题。
答案3
使用ls
暂时地无需unalias
运行,只需运行\ls
或command ls
要永久解决根本原因,你需要找到别名的定义位置。 跑步
bash -ixlc : 2>&1 | grep -w ls
它会显示alias
在 shell 启动时运行的实际命令。然后你可以 grep 该字符串来查找文件并编辑它,或者你也可以运行bash -ixlc : 2>&1 | grep -P '^\++ (\.|source)\s'
列出所来源的文件并编辑其中的别名定义
或者直接运行
bash -ixlc : 2>&1 | grep -P '\bls\b|^\++ (\.|source)\s'
它将显示源文件,后面跟着该文件中的别名