Linux SFTP 文件夹操作与管理指南

SFTP 简介
SFTP(SSH File Transfer Protocol)是一种基于 SSH 协议的安全文件传输协议,通过加密传输数据和身份验证,确保文件传输过程中的安全性,与 FTP 不同,SFTP 不需要单独的服务器进程,直接利用 SSH 连接即可实现文件操作,广泛应用于 Linux/Unix 系统中,本文将详细介绍如何通过 SFTP 对文件夹进行创建、删除、权限管理及批量操作等。
连接 SFTP 服务器
在使用 SFTP 操作文件夹前,需先建立与远程服务器的连接,基本命令格式为:
sftp username@hostname
连接至 IP 为 168.1.100 的服务器,用户名为 admin:
sftp admin@192.168.1.100
连接后,可通过 ls 列出远程目录内容,cd 切换远程目录,lcd 切换本地目录, 执行本地系统命令(如 !pwd 查看本地路径)。
创建与删除文件夹
创建文件夹
使用 mkdir 命令可在远程服务器创建新文件夹,支持多级目录嵌套:
mkdir /remote/path/new_folder mkdir -p /remote/path/nested/folder # 递归创建多级目录
若需在本地创建文件夹(通过 SFTP 传输前准备),可使用 !mkdir local_folder。
删除文件夹
删除空文件夹使用 rmdir:
rmdir /remote/path/empty_folder
删除非空文件夹需使用 rm -r(递归删除):

rm -r /remote/path/folder_with_content
⚠️ 注意:rm -r 会永久删除文件夹及其内容,操作前需确认路径正确。
文件夹权限管理
Linux 系统通过权限位(rwx)控制文件夹访问权限,SFTP 可通过 chmod 命令修改权限:
chmod 755 /remote/path/folder # 所有者可读写执行,组和其他用户可读执行 chmod -R 777 /remote/path/ # 递归修改整个目录权限(不推荐,安全风险高)
权限数字含义:
4(读)、2(写)、1(执行)- 组合权限:所有者(第一位)、组(第二位)、其他用户(第三位)
文件夹传输
上传本地文件夹至远程
使用 put 命令上传单个文件,上传文件夹需结合 -r 参数:
put -r /local/path/folder /remote/path/
若需覆盖已存在文件,添加 -f 参数:put -rf /local/folder /remote/path/。
下载远程文件夹至本地
使用 get 命令下载文件夹,同样需 -r 参数:
get -r /remote/path/folder /local/path/
可通过 -p 保留文件权限和时间戳:get -rp /remote/folder /local/。
文件夹重命名与移动
重命名文件夹
使用 rename 命令可安全重命名文件夹(避免覆盖):

rename old_folder_name new_folder_name
移动文件夹
通过 mv 命令移动文件夹至新位置:
mv /remote/path/folder /new/destination/
若目标路径已存在同名文件夹,移动操作会将其合并(需确保权限兼容)。
批量操作与脚本化
批量创建文件夹
通过 SFTP 交互模式执行多条命令,或使用脚本循环创建:
for i in {1..5}; do mkdir /remote/path/folder_$i; done
使用 SFTP 批量传输
结合 sbatch 或 Expect 工具实现自动化传输,通过 sftp -b batch_script.txt 执行预定义命令:
# batch_script.txt 内容 put -r /local/folder1 /remote/ get -r /remote/folder2 /local/ exit
常见问题与解决方案
- 权限不足:确保当前用户对目标文件夹有读写权限,或使用
sudo(需服务器配置允许)。 - 连接超时:检查 SSH 服务是否运行(
systemctl status sshd),确认防火墙放行22端口。 - 文件夹传输失败:验证路径是否存在,检查磁盘空间是否充足。
安全建议
- 限制 SFTP 用户的 shell 权限,仅允许文件传输(如将用户 shell 设为
/usr/sbin/nologin)。 - 使用密钥认证替代密码登录,提升安全性。
- 定期审计 SFTP 日志(通常位于
/var/log/auth.log或/var/log/secure),监控异常访问。
SFTP 作为 Linux 系统中安全高效的文件传输工具,其文件夹操作功能涵盖了日常管理的核心需求,通过熟练掌握 mkdir、rm、chmod、put/get 等命令,结合权限控制与批量操作技巧,可显著提升文件管理效率,在实际应用中,需始终遵循最小权限原则,确保数据传输与存储的安全性。

















