다음은 원격 시스템에서 여러 파일을 삭제하는 간단한 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"
먼저 현재 디렉터리가 변경되고 성공하면 파일이 삭제됩니다.
또한 이상적으로는 루트로 작업하지 말고 권한이 없는 사용자로 작업해야 합니다. 이는 귀하의 ssh
명령이 다음과 같이 보일 수 있음 을 의미할 수 있습니다.
ssh 182.2.34.1 "cd /etc/yum.repos.d && sudo rm -f repo.1 master.er top.fg REPO.l"
그리고 원격 시스템에 대한 액세스 권한이 있는 루트가 아닌 사용자로 이 작업을 수행합니다 sudo
(루트에 대한 SSH 액세스를 허용할 이유가 거의 없습니다).
이것의 장점은 루트로 작업을 실행하려는 의도를 명시적으로 명시할 수 있으며 루트로 실행된 명령이 기록된다는 것입니다. 시스템을 손상시켰을 수 있는 작업에서 복구해야 하는 경우 로깅이 중요합니다.