这是一个简单的 CLI,用于删除远程计算机上的几个文件
ssh 182.2.34.1 "rm -f /etc/yum.repos.d/repo.1 master.er top.fg REPO.l"
但只删除了repo.1文件
我的语法有什么问题
答案1
master.er、top.fg 和 REPO.1 将从当前目录(可能是您的主目录)中删除。您应该提供目录的完整路径。
答案2
该命令rm -f /etc/yum.repos.d/repo.1 master.er top.fg REPO.l
将准确删除这些文件。当前目录中除第一个文件以外的文件都将被删除,该目录可能是远程计算机上的主目录。
如果要从中删除所有四个文件/etc/yum.repos.d
,您可以使用
ssh 182.2.34.1 "cd /etc/yum.repos.d && rm -f repo.1 master.er top.fg REPO.l"
这将首先更改当前目录,如果成功,它将删除文件。
另请注意,理想情况下您不应以 root 身份工作,而应以非特权用户身份工作。这可能意味着您的ssh
命令最终可能看起来像
ssh 182.2.34.1 "cd /etc/yum.repos.d && sudo rm -f repo.1 master.er top.fg REPO.l"
并且您以具有远程计算机访问权限的非 root 用户身份执行此操作sudo
(很少有理由允许 root 进行 SSH 访问)。
这样做的好处是您可以明确声明以 root 身份发出操作的意图,并且会记录以 root 身份执行的命令。如果您需要恢复可能损坏系统的操作,那么日志记录就很重要。