Linux 基础
几乎所有代码最终都跑在 Linux 上。
4 小时
Linux 基础
这一课你将能做到
- 用 SSH 连接远程服务器
- 用常用命令管理文件、进程、服务
- 部署 Node.js 应用并配置 Nginx 反向代理
为什么要学
本地开发用 Windows/Mac,但生产环境 90% 是 Linux 服务器。不会 Linux,代码写完部署不上去,等于白搭。
人话:Linux 是「服务器操作系统」,你的代码最终要跑在它上面。
先建立图像
你的电脑(Windows/Mac) 云服务器(Linux)
│ │
│ 1. 写代码 │
│ 2. git push │
▼ ▼
GitHub ──────────────────────► git pull
npm install
pm2 start app.js
│
▼
用户访问 http://服务器IP
跟着做
步骤 1:SSH 连接服务器
# 连接
ssh root@101.201.41.85
# 首次连接提示 fingerprint,输入 yes
# 然后输入密码
# 用密钥登录(更安全)
ssh-keygen -t rsa -b 4096 # 本地生成密钥对
ssh-copy-id root@101.201.41.85 # 上传公钥到服务器
ssh root@101.201.41.85 # 免密登录
步骤 2:文件与目录操作
# 当前目录
pwd # /root
# 列出文件
ls # 简单列表
ls -l # 详细信息
ls -la # 包含隐藏文件
# 切换目录
cd /var/www # 进入目录
cd .. # 上一级
cd ~ # 回家目录
# 创建、删除
mkdir myapp # 创建目录
touch app.js # 创建空文件
rm file.txt # 删除文件
rm -rf myapp # 递归删除目录(危险!)
# 复制、移动
cp app.js app.js.bak # 复制
mv old.js new.js # 重命名
mv app.js /var/www/ # 移动
# 查看文件
cat app.js # 全部内容
less app.js # 分页查看(按 q 退出)
head -n 20 app.js # 前 20 行
tail -n 20 app.js # 后 20 行
tail -f app.log # 实时追踪日志
# 查找
find /var/www -name "*.js" # 按文件名查找
grep -r "TODO" /var/www/ # 按内容查找
步骤 3:权限管理
# 查看权限
ls -l
# -rw-r--r-- 1 root root 1024 Jan 15 10:00 app.js
# rwxr-xr-x
# ││││││└─ 其他人:读、执行
# │││││└─── 组:读、执行
# │││└───── 所有者:读、写、执行
# │└──────── 文件类型(- 文件,d 目录)
# 修改权限
chmod 755 app.sh # rwxr-xr-x
chmod +x app.sh # 加执行权限
chmod -R 755 /var/www # 递归修改
# 修改所有者
chown www-data:www-data app.js
chown -R www-data:www-data /var/www