this命令允许我从我的电脑上登录服务器,到特定目录
ssh -t xxx.xxx.xxx.xxx "cd /directory_wanted ; bash"
如何在该目录中执行此操作。我希望能够基本删除除N最新的文件以外的所有文件。
find ./tmp/ -maxdepth 1 -type f -iname *.tgz | sort -n | head -n -10 | xargs rm -f
答案 0 :(得分:3)
此命令应该有效:
ls -t *.tgz | tail -n +11 | xargs rm -f
警告:在执行rm -f
之前,请确认ls -t *.tgz | tail -n +11
列出的文件符合预期。
工作原理:
的手册页
ls
列出目录的内容。-t
标记排序依据 修改时间(最新的第一个)。请参阅ls
tail -n +11
输出从第11行开始。请参阅。的手册页 tail了解更多信息 detials。
如果系统是Mac OS X,那么您也可以根据创建时间进行删除。将ls
与-Ut
标志一起使用。这将根据创建时间对内容进行排序。
答案 1 :(得分:2)
您可以使用此命令
ssh -t xxx.xxx.xxx.xxx "cd /directory_wanted; ls -t *.tgz | tail -n
+11 | xargs rm -f; bash"
在旁边的引号中,我们可以添加要在远程机器中执行的操作。但是每个命令都应以分号(;)
结束注意:包含silentMonk建议的相同命令。这很简单,而且很有效。但在执行操作之前验证一次。