跳到主要内容

Linux 新手快速上手笔记

这篇适合谁

如果你第一次真正开始在远程服务器上用 Linux,这篇最适合先看。

目标不是一次学完所有命令,而是先建立一套够稳定的最小工作流,让你做到下面这些事:

  • 知道连上服务器后先看什么
  • 不会在路径和权限上反复迷路
  • 看到进程、服务、日志问题时知道先查哪几个命令
  • 断线后还能把工作续上,而不是从头再来

先记住 Linux 远程工作流的最小模型

可以把你平时在远程服务器上的操作先理解成这条链路:

本地电脑 -> SSH 登录 -> shell 命令 -> 文件 / 目录 -> 进程 / 服务 -> 日志 / 端口

再加上一层非常重要的保活工具:

SSH 断了也别慌 -> tmux 保住会话

如果你先把这个模型记住,Linux 对新手来说会清楚很多。

第一次连上服务器后先做什么

新手最容易犯的错不是不会命令,而是不知道自己“现在到底在哪、是谁、能干什么”。

所以刚连上去,我建议先看这几件事:

whoami
pwd
ls -la
uname -a

这四条分别回答:

  • whoami:我现在是谁
  • pwd:我现在在哪个目录
  • ls -la:这里都有什么文件,隐藏文件也一起看
  • uname -a:这台机器大概是什么系统

如果你有 sudo 权限,再补两条:

sudo -l
hostname

新手先学会的 10 个核心命令

命令用途新手理解方式
pwd显示当前目录每次不确定自己在哪时先敲它
ls -la查看目录内容连隐藏文件和权限一起看
cd切换目录把自己移动到目标位置
mkdir创建目录新建一个文件夹
cp复制文件先复制再改,比直接覆盖稳
mv移动或重命名同时承担“移动”和“改名”
rm删除文件真删,不进回收站
cat / less查看文件内容cat 适合短文件,less 适合长文件
find搜索文件不知道文件在哪时最有用
du -sh看目录占用空间磁盘排查常用

先把这些掌握住,已经能覆盖很多日常操作了。

路径、文件和目录:先建立最小认知

绝对路径和相对路径

  • 绝对路径从根目录开始,比如 /home/user/project
  • 相对路径从当前目录开始,比如 ./project../project

高频符号只要先记这几个:

  • .:当前目录
  • ..:上一级目录
  • ~:当前用户家目录
  • /:根目录

如果你发现自己经常在路径上迷路,优先看:

隐藏文件

Linux 里以 . 开头的文件或目录通常是隐藏的,例如:

.ssh
.bashrc
.gitconfig

所以我更建议默认用:

ls -la

而不是只用 ls

创建、复制、移动和删除

mkdir demo
cp file.txt file.bak
mv old.txt new.txt
rm old.log

这里最值得养成的习惯是:

  • 大改文件前先 cp 备份
  • 删除前先用 pwdls 再确认一次

先不要乱用的命令

下面这些不是完全不能学,而是不适合在路径没看清的时候直接上手:

  • rm -rf
  • chmod -R 777
  • chown -R
  • sudo 的覆盖、移动、删除操作

原因很简单:这几类命令一旦目标路径看错,影响通常不是“一个文件坏了”,而是“一大片东西都乱了”。

权限:先知道怎么读,不急着背全

你暂时只要先知道三件事:

  1. Linux 区分当前用户和 root
  2. 很多系统目录和服务操作需要 sudo
  3. 文件权限不对时,SSH、脚本、配置文件都可能出问题

先看当前身份:

whoami
id

看文件权限:

ls -l

最常见的权限问题之一是 SSH 私钥权限不对,这时优先看:

进程、服务和日志:先学会最小排查顺序

当你发现“服务没起来”“程序卡住了”“端口访问不到”时,不要先猜。先按顺序看:

  1. 进程在不在
  2. 服务状态对不对
  3. 日志里写了什么

看进程

ps -ef
ps -ef | grep python
top

如果只是想结束某个进程:

kill <pid>
kill -9 <pid>

kill -9 不要当默认手段,先用普通 kill,只有确认进程无法正常退出时再升级。

看 systemd 服务

很多 Linux 发行版上的服务都用 systemd 管。

常见命令:

sudo systemctl status ssh
sudo systemctl restart ssh
sudo systemctl enable ssh

如果你在 Ubuntu / Debian 上查 Docker、SSH、Nginx、Jupyter 这类服务,systemctl 基本是第一入口。

看日志

先看服务日志:

sudo journalctl -u ssh -n 100 --no-pager

看普通日志文件:

tail -f app.log
less app.log

如果你对输出重定向和日志落盘还不熟,可以接着看:

远程服务器上的最小工作流

1. 用 SSH 连上去

如果你还没把 SSH 配起来,先看:

2. 用 tmux 保住会话

远程服务器上非常值得尽快学会的工具就是 tmux

最小用法:

tmux new -s work

断开当前会话但不结束任务:

Ctrl+b d

重新连回去:

tmux attach -t work

如果你经常跑长任务、远程训练或长时间安装环境,tmux 基本不是可选项。

专题页:

3. 用端口转发访问远程服务

如果服务只监听在远程机器的 localhost,本地浏览器访问不到时,优先想到的是端口转发,而不是先改服务配置暴露公网。

最容易上手的方案之一:

文件查找和磁盘排查

远程服务器上经常会遇到两个问题:

  • 文件到底在哪
  • 磁盘到底是谁占满了

这两件事先记两个入口:

find .
du -sh .

更详细的专题页:

如果你已经能做完这些,下一步看什么

当你已经能做到下面这些事时,Linux 基础就算起步了:

  • 能通过 SSH 登录远程服务器
  • 能判断自己当前在哪个目录、用哪个用户
  • 能做基本的文件操作
  • 能用 tmux 保住会话
  • 能看服务状态和基础日志
  • 能用 finddu 和端口转发解决常见问题

接下来建议按需求分叉:

最后给新手的 5 个建议

  • 每次执行修改性命令前,先确认 whoamipwdls
  • 远程机器上尽量少直接用 root 做日常开发
  • 不确定服务为什么没起来时,先看 systemctl 和日志,不先重装
  • 长任务一律放进 tmux
  • 遇到路径、权限、进程、端口问题时,优先查当前状态,不靠猜