我遇到了一个非常奇怪的问题,即触摸:未找到命令。
我本来要创建一个空白文件,因此我输入了 touch 命令,但是没有作用。
我正在运行 centOS 5。
有任何想法吗?
顺便说一句:vi 命令也找不到。
而且我在 /bin 目录中没有找到 touch,我该如何重新安装“touch”?
答案1
/bin/touch
位于 coreutils 包中。您可以通过运行以下命令安装此包:
yum install coreutils
如果yum
报告该包已安装,那么您可以运行以下命令重新安装它:
rpm -e --justdb --nodeps coreutils
yum install coreutils
该rpm
命令删除 coreutils 的 rpm 数据库条目,这将允许yum
再次安装它。
vi
vim-minimal
可以从或包中安装vim-enhanced
。
答案2
乍一看,我认为您的$PATH
变量要么是空的,要么是损坏的。尝试输入完整的命令,包括路径:
/usr/bin/touch test.txt
/usr/bin/vi test.txt
这是假设 CentOS 5 保留了它们/usr/bin
(我手边没有可以确认的,你也可以尝试/bin
)
另外,当你这样做的时候:
/usr/bin/echo $PATH
并确保/usr/bin
(或任何地方)列在其中。
答案3
因为它不是你的路径,所以听起来你可以访问任何东西。
我要做的第一件事是查看您的权限是否由于某种原因而全部混乱。当然,这假设您可以访问stat
或ls
。
我还会检查您的/var/log
磁盘dmesg
,看其是否出现了严重的磁盘错误,甚至不是只读的,或者如果是,情况是否真的很糟糕。