Linux常用命令
Linux package
rz & sz
rz(Receive Zmodem)和 sz(Send Zmodem)是基于 Zmodem 协议的文件传输工具,用于在SSH 终端和本地计算机之间快速传输小文件,无需额外配置 FTP/SFTP 服务。
以及ubuntu为例,通过apt包管理器安装,rz 和 sz 命令都包含在lrzsz软件包中
sudo apt update sudo apt install -y lrzsz rz --version sz --version
上传文件
在 SSH 终端中输入rz命令,终端会弹出文件选择对话框,选择本地文件后即可上传到服务器当前目录。
# 基本上传 rz # 覆盖已存在的文件 rz -y # 显示上传进度 rz -be
下载文件
从服务器上下载文件到本地
# 下载单个文件 sz filename.txt # 下载多个文件 sz file1.txt file2.jpg # 下载整个目录(需要打包后下载) tar zcvf dir.tar.gz dir/ && sz dir.tar.gz
常见问题
上传大文件失败
输超过 100MB 的文件容易中断,使用-b参数以二进制模式传输,并添加断点续传:
rz -be
传输后文件乱码
使用二进制模式传输
rz -b sz -b filename.txt
用户管理
Linux 修改用户名
需要将linux用户名修改为其他用户名,示例,将用户名从oldusername修改为newusername
注意:你需要登陆到root用户,而不是从普通用户su到root用户,否则无法kill掉普通用户的ssh进程,从而无法切换到新用户
# 修改用户名 usermod -l newusername oldusername # 修改家目录,-d 指定新家目录路径,-m 把旧家目录的内容移动到新家目录 usermod -d /home/newusername -m newusername # 修改用户组名 groupmod -n newgroup oldgroup
验证配置
id newusername ls -ld /home/newusername grep newusername /etc/passwd
sudo 权限 改名后 newusername 通常会自动继承原来 ubuntu 在 /etc/sudoers.d/ 中的权限,但建议检查:
cat /etc/sudoers.d/90-cloud-init-users
若里面写的是 ubuntu ALL=… ,需要手动把 ubuntu 改成 newusername
sudo visudo -f /etc/sudoers.d/90-cloud-init-users
云服务器(如 AWS/阿里云)的 cloud-init 某些云镜像在重启时会通过 cloud-init 重新创建默认 ubuntu 用户。如果你的是这类环境,建议同时编辑 /etc/cloud/cloud.cfg
system_info: default_user: name: newusername
免密配置
配置用户免密ssh上linux服务器
在本地生成密钥对,回车即可(默认存到 ~/.ssh/id_ed25519 )
生成两个文件: id_ed25519 (私钥)和 id_ed25519.pub (公钥)。
ssh-keygen -t ed25519 -C "deploy"
把公钥上传到服务器,之后执行如下命令
cat id_ed25519.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys