当前位置:首页 > 技术文章 > 正文内容

前端工程师需要熟悉的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. 免密码登录(密钥认证)

  1. 本地生成密钥对(一路回车默认即可):
ssh-keygen -t rsa
  1. 将公钥上传到服务器(替换用户名和IP):
ssh-copy-id 用户名@服务器IP
  1. 之后即可直接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)等进阶操作。

相关文章

react hooks自定义组件居然能这样做

前言  这里写一下如何封装可复用组件。首先技术栈 react hooks + props-type + jsx封装纯函数组件。类组件和typeScript在这不做讨论,大家别白跑一趟。接下来会说一下封...

Vue3 中有哪些值得深究的知识点?(vue3例子)

众所周知,前端技术一直更新很快,这不 vue3 也问世这么久了,今天就来给大家分享下vue3中值得注意的知识点。喜欢的话建议收藏,点个关注!1、createAppvue2 和 vue3 在创建实例时,...

用IDEA开发如何用Git快速拉取指定分支代码?

1,准备空的文件夹,git init2,关联远程仓库,git remote add origin gitlab地址3,拉取远程分支代码,git pull origin 远程分支名再用IDEA打开项目即...

Gitlab 的使用和代码审查流程介绍

1、先简洁介绍下项目常用的信息-面板统计页面2、用户信息面板3、服务器信息4、项目信息5、重点介绍代码提交审核机制和授权合并机制开发人员推送代码的时候不能直接推送到master,否则就会报错。此时开发...

(在线编辑DWG)网页CAD二开实现焊接符号绘制

前言在工程制图和制造领域,焊接符号(Welding Symbols)是用于表示焊缝类型、尺寸、位置以及工艺要求的标准化图形语言。广泛应用于机械设计、钢结构、船舶制造、压力容器等行业中,帮助技术人员理解...

web前端入门:css+html5+javascript同时学可以吗?

HTML+CSS+JS是前端基础核心知识,肯定是都要学的。在web前端中,HTML是结构标准,CSS是样式标准,JS是行为标准,三者缺一不可。说的直白点,HTML就是骨架,CSS就是皮肤,JS就是灵魂...