AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1076493
Accepted
3kstc
3kstc
Asked: 2018-09-19 20:55:32 +0800 CST2018-09-19 20:55:32 +0800 CST 2018-09-19 20:55:32 +0800 CST

如何在 Ubuntu 服务器上使用 SFTP 删除获取的文件?

  • 772

我把腻子放到了两个不同的 Ubuntu 服务器(A 和 B)上。我想从 A 到 B 以及getB 到 A 目录中的所有文件 SFTP 并在下载后立即删除 B 中的文件 - 这样只有 A 有文件。

成功传输/下载后如何实现get文件并直接删除文件?

sftp
  • 1 1 个回答
  • 2987 Views

1 个回答

  • Voted
  1. Best Answer
    Videonauth
    2018-09-19T21:16:54+08:002018-09-19T21:16:54+08:00

    您可以使用以下方法删除远程文件:

    rm [path]
    

    对于远程目录:

    rmdir [path]
    

    替换[path]为实际路径或文件名或目录名的位置。这也可以是您在普通终端中习惯的通配符。对于递归获取目录,您可能需要该-r标志。

    遗憾的是,没有将文件从 B 移动到 A 的命令,因此您需要将文件从 B 获取到 A,然后删除 B 上的文件。这意味着没有命令将 get 和 remove 连接在一起。

    要批量获取然后删除文件,您可以使用通配符。

    示例(假设您的文件位于服务器 B 上的文件夹 XY 中):

    # log into server A via putty/ssh
    ssh user@A
    # then sftp to B from A
    sftp user@B
    # now you will get a prompt for sftp which I will not
    # repeat in the commands to follow
    sftp>
    # navigate to your local target directory on server A 
    lcd pathtotarget/
    # navigate to your source directory on server B
    cd XY
    # get all the files from B to A 
    get *
    # after the transfer is done you can go on and remove the files on B
    cd ..
    rmdir XY
    # or if you want only the files being deleted
    rm *
    # quit your sftp session
    quit
    # log off from server A
    logout
    

    SFTP 上可用的命令集:

    bye                                Quit sftp
    cd path                            Change remote directory to 'path'
    chgrp grp path                     Change group of file 'path' to 'grp'
    chmod mode path                    Change permissions of file 'path' to 'mode'
    chown own path                     Change owner of file 'path' to 'own'
    df [-hi] [path]                    Display statistics for current directory or
                                       filesystem containing 'path'
    exit                               Quit sftp
    get [-afPpRr] remote [local]       Download file
    reget [-fPpRr] remote [local]      Resume download file
    reput [-fPpRr] [local] remote      Resume upload file
    help                               Display this help text
    lcd path                           Change local directory to 'path'
    lls [ls-options [path]]            Display local directory listing
    lmkdir path                        Create local directory
    ln [-s] oldpath newpath            Link remote file (-s for symlink)
    lpwd                               Print local working directory
    ls [-1afhlnrSt] [path]             Display remote directory listing
    lumask umask                       Set local umask to 'umask'
    mkdir path                         Create remote directory
    progress                           Toggle display of progress meter
    put [-afPpRr] local [remote]       Upload file
    pwd                                Display remote working directory
    quit                               Quit sftp
    rename oldpath newpath             Rename remote file
    rm path                            Delete remote file
    rmdir path                         Remove remote directory
    symlink oldpath newpath            Symlink remote file
    version                            Show SFTP version
    !command                           Execute 'command' in local shell
    !                                  Escape to local shell
    ?                                  Synonym for help
    
    • 1

相关问题

  • 在 sftp 连接上获取 nautilus 的 root 权限

  • 如何将 SFTP 文件下载发送到后台?

  • 是否可以使用 sftp 完成选项卡?

  • 为什么 SFTP 在下载期间会超时?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve