前端工程师需要熟悉的Linux服务器(SSH 终端操作)指令
在 Linux 服务器管理中,SSH(Secure Shell)是远程操作的核心工具。以下是 SSH 终端操作的常用命令和技巧,涵盖连接、文件操作、系统管理等场景:
一、SSH 连接服务器
1. 基本连接
ssh 用户名@服务器IP或域名
# 示例:ssh root@192.168.1.100
首次连接会提示确认服务器指纹,输入yes后按提示输入密码即可。
2. 指定端口连接
若 SSH 端口非默认的 22(如 2222),需显式指定端口:
ssh -p 2222 用户名@服务器IP
# 示例:ssh -p 2222 admin@example.com
3. 免密码登录(密钥认证)
- 本地生成密钥对(一路回车默认即可):
ssh-keygen -t rsa
- 将公钥上传到服务器(替换用户名和IP):
ssh-copy-id 用户名@服务器IP
- 之后即可直接ssh 用户名@IP免密登录。
二、文件与目录操作
1. 查看与切换目录
ls # 列出当前目录文件
ls -l # 详细列表(权限、大小、修改时间等)
ls -a # 显示隐藏文件(含.开头的文件)
cd 目录路径 # 切换目录(如cd /home、cd ..回到上级)
pwd # 显示当前目录路径
2. 创建与删除
mkdir 目录名 # 创建目录(如mkdir logs)
mkdir -p a/b/c # 递归创建多级目录
touch 文件名 # 创建空文件(如touch test.txt)
rm 文件名 # 删除文件(需确认)
rm -f 文件名 # 强制删除(不提示)
rm -r 目录名 # 删除目录(递归删除内容)
rm -rf 目录名 # 强制删除目录及内容(谨慎使用!)
3. 复制与移动
cp 源文件 目标路径 # 复制文件(如cp test.txt /tmp/)
cp -r 源目录 目标路径 # 复制目录(递归)
mv 源文件 目标路径 # 移动文件/目录(如mv test.txt docs/)
mv 旧名 新名 # 重命名(如mv old.txt new.txt)
4. 权限管理
Linux 文件权限分所有者(u)、组(g)、其他(o),对应读(r=4)、写(w=2)、执行(x=1):
chmod 755 文件名 # 所有者:rwx(7),组和其他:r-x(5)
chmod u+x 文件名 # 给所有者增加执行权限
chown 用户名:组名 文件名 # 修改文件所有者(如chown admin:users test.txt)
三、文件内容操作
1. 查看文件内容
cat 文件名 # 一次性显示全部内容
more 文件名 # 分页显示(按空格翻页,q退出)
less 文件名 # 更灵活的分页(支持上下键滚动,/搜索)
head -n 10 文件名 # 显示前10行
tail -n 10 文件名 # 显示后10行
tail -f 文件名 # 实时跟踪文件更新(常用于日志,Ctrl+C退出)
2. 编辑文件
- 简易编辑(nano,适合新手):
nano 文件名 # 打开文件,编辑后按Ctrl+O保存,Ctrl+X退出
- 高级编辑(vim,功能强大):
vim 文件名 # 打开文件
# 按i进入编辑模式,编辑完成后按Esc,输入:wq保存退出(:q!强制退出不保存)
3. 搜索内容
grep "关键词" 文件名 # 在文件中搜索关键词
grep -r "关键词" 目录 # 递归搜索目录下所有文件
grep -n "关键词" 文件名 # 显示匹配行的行号
四、进程管理
1. 查看进程
ps aux # 查看所有进程(详细信息)
ps aux | grep "进程名" # 筛选特定进程(如ps aux | grep nginx)
top # 实时显示进程资源占用(按q退出,P按CPU排序,M按内存排序)
htop # 更直观的进程监控(需安装,yum install htop 或 apt install htop)
2. 终止进程
kill 进程ID # 终止进程(如kill 1234)
kill -9 进程ID # 强制终止(无法忽略,用于无响应进程)
pkill 进程名 # 按名称终止(如pkill nginx)
五、系统状态查看
1. 磁盘与内存
df -h # 查看磁盘分区使用情况(-h:人类可读单位,如GB)
du -sh 目录名 # 查看目录总大小(-s:汇总,-h:单位)
free -m # 查看内存使用(-m:MB单位)
free -g # 查看内存使用(-g:GB单位)
2. 系统信息
uname -a # 查看内核版本及系统信息
cat /etc/os-release # 查看操作系统版本(如CentOS、Ubuntu)
uptime # 查看系统运行时间及负载(1/5/15分钟平均负载)
who # 查看当前登录的用户
六、文件传输(SSH 环境下)
1. SCP(简单文件传输)
- 本地文件上传到服务器:
scp 本地文件路径 用户名@服务器IP:目标路径
# 示例:scp /home/local.txt root@192.168.1.100:/tmp/
- 从服务器下载文件到本地:
scp 用户名@服务器IP:远程文件路径 本地目标路径
# 示例:scp admin@example.com:/var/logs/app.log ./
- 传输目录需加-r参数:
scp -r 本地目录 用户名@服务器IP:目标路径
2. SFTP(交互式文件传输)
适合多文件操作,类似 FTP:
sftp 用户名@服务器IP # 连接服务器
# 常用命令:
put 本地文件 # 上传文件
get 远程文件 # 下载文件
ls、cd、mkdir等 # 同Linux命令,操作远程服务器
lls、lcd # 查看/切换本地目录
exit # 退出
七、常用快捷键
- Tab:自动补全文件名 / 命令(按两次显示所有选项)
- Ctrl+C:终止当前运行的命令
- Ctrl+D:退出当前终端(等同 exit)
- Ctrl+L:清屏(等同 clear 命令)
- history:查看命令历史,!编号重复执行某条历史命令(如!100)
这些是 SSH 终端操作的核心内容,熟练掌握后可高效管理 Linux 服务器。根据实际需求,还可以学习防火墙(如 firewalld、ufw)、服务管理(systemctl)等进阶操作。