Linux 入门指南
一开始接触Linux是因为我所在的前端小组使用Java写了一层BFF,接口报错后,直接找后端同学就不好使了,后端同学会直接说:给我看看你们外网日志...然而,查看错误日志需要去对应的测试、验证服务器查看,因为我也开始使用Tabby、iTerm2等终端工具,连接服务器,查看日志。
就这样我学会了基础的Linux命令,后来开始自学Linux,此文即讲述了我的自学路径,主要面向零基础或刚接触 Linux 的读者,涵盖环境搭建、Linux目录结构、常用命令等入门内容,希望可以给想入门Linux的同学一点帮助。
一、环境准备与连接服务器
本文通过Ubuntu开启Linux的学习之路,至于有哪些Linux操作系统大家自行百度,我就不再介绍啦。
1.1 环境搭建
- 可以选择购买云服务器,如阿里云/腾讯云等,我当初选择了最省钱的办法,在本机用虚拟机 (如Parallels Desktop)安装一个 Ubuntu 系统,当作"云服务器"使用。
- 安装完成后,即在虚拟机或宿主机中查到 Ubuntu 的 IP 地址,用于 SSH 连接。
1.2 SSH 直接连接
默认使用 22 端口连接 Linux 服务器:
bash
ssh -p 22 用户名@IP地址
例如:ssh -p 22 root@192.168.1.100,如果连接被拒绝需要确认openssh-server是否安装,另外Ubuntu 防火墙是否放行 22 端口等。
1.3 使用 SSH 证书登录
使用密钥对登录,可免输入密码并提高安全性。
第一步:在本地生成 SSH 密钥对
在本机终端执行:
bash
ssh-keygen
按提示可一路回车(使用默认路径与空口令),或自行设置路径和密码。生成后,在 ~/.ssh/ 下找到 公钥 (如 id_rsa.pub),复制其全部内容。
第二步:在远程 Ubuntu 上准备目录
在远程 Ubuntu 上执行:
bash
mkdir -p ~/.ssh
cd ~/.ssh
第三步:写入公钥
在远程机的 ~/.ssh 目录下执行(将 复制的公钥 替换为实际公钥内容):
bash
echo "复制的公钥" >> authorized_keys
第四步:本地配置 SSH(可选但推荐)
在本机 的 ~/.ssh 目录下新建或编辑 config 文件,例如:
bash
Host *
ServerAliveInterval 30
Host ubuntu
Port 22
HostName 你的服务器IP或域名
User root
IdentityFile ~/.ssh/你的私钥文件名
IdentitiesOnly yes
Host ubuntu 为自定义别名,之后可用 ssh ubuntu 直接连接。
第五步:确认服务端 SSH 允许密钥登录
在远程 Ubuntu 上编辑 SSH 服务配置:
bash
vi /etc/ssh/sshd_config
确认以下两项已启用(去掉行首 # 或保持为如下内容):
bash
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
第六步:重启 SSH 服务
在远程机上执行其一即可:
bash
systemctl restart ssh
# 或
service ssh restart


完成后,在本机终端执行 ssh ubuntu(或你配置的别名)即可免密登录并获得 root 权限(若 config 中 User 为 root)。
二、Linux 常见目录结构

| 目录 | 说明 |
|---|---|
| /bin | 软链接到 /usr/bin/,存放常用命令的二进制文件(如 ll、ls) |
| /boot | 启动 Linux 所需的核心文件(内核、initramfs 等) |
| /dev | 设备文件,如磁盘、终端等,通过文件方式访问硬件 |
| /etc | 系统及各类服务的配置文件和子目录 |
| /home | 普通用户主目录,用户自己的文件、下载等 |
| /lib | 库文件(多为软链接到 /usr/lib 等) |
| /lost+found | 默认为空;非法关机后,文件系统修复时可能将找回的数据放于此 |
| /media | 可移动媒体挂载点(如 U 盘、光驱) |
| /mnt | 临时挂载点(如 U 盘、网络盘) |
| /opt | 可选软件安装目录 |
| /proc | 虚拟文件系统,反映进程和内核信息 |
| /root | root 用户的主目录(~ 在 root 下即指 /root) |
| /run | 运行时数据(如 PID 文件、套接字) |
| /sbin | 系统管理用命令,多需 root 执行 |
| /snap | Snap 包安装目录 |
| /srv | 服务数据目录(如 Web、FTP 的数据) |
| /sys | 虚拟文件系统,系统与内核信息 |
| /tmp | 临时文件,重启后可能被清空 |
| /usr | 用户级程序、库、文档等(如 /usr/bin、/usr/lib) |
| /var | 可变数据,如日志、缓存、数据库等,常随运行而增长 |
三、常用命令
3.1 权限与用户
sudo su:获取管理员权限;执行后提示符会变为root@主机名,表示当前是最高权限用户(root)。- 日常操作建议尽量不用 root,需要时再用
sudo执行单条命令,更安全。
3.2 文件与目录
查看与切换
| 命令 | 说明 |
|---|---|
pwd |
显示当前所在路径 |
ls |
列出当前目录内容(默认不显示隐藏文件) |
ll 或 ls -la |
列出所有文件(含隐藏),并显示权限等信息 |
ls -la ~ |
查看当前用户主目录(~ 表示当前用户的家目录) |
cd 目录 |
进入指定目录;输入路径时可用 Tab 自动补全 |
cd .. |
返回上一级目录 |
文件权限含义(十个字符)
执行 ls -la 时,每行开头类似:drwxr-xr-x。第 1 个字符:d = 目录,- = 普通文件。后 9 个字符每 3 个为一组,依次表示拥有者、所属群组、其他用户的 r(read) 读 / w(write) 写 / x(execute) 执行;- 表示无该权限。例如 drwxr-xr-x 表示目录,拥有者可读写执行,群组和其他用户可读执行。
创建与删除
| 命令 | 说明 |
|---|---|
mkdir 目录名 |
创建目录,如 mkdir nginx |
mkdir -p a/b/c |
递归创建多级目录 |
touch 文件名 |
创建空文件,如 touch test.txt |
rm -rf 目录/ |
递归、强制删除,无法恢复,慎用! (-r 递归,-f 强制) |
移动、复制与重命名
| 命令 | 说明 |
|---|---|
mv 源 目标 |
移动文件或目录;目标为新名字时即为重命名 |
mv nginx/ /tmp |
将 nginx 移动到 /tmp |
mv /tmp/nginx/ /tmp/nginx1 |
重命名为 nginx1 |
cp -r 源目录 目标路径 |
递归复制目录 |
3.3 文件查看与编辑
cat 文件名:一次性输出整个文件,适合小文件。more 文件名:分页查看,空格翻页,Ctrl+F/Ctrl+B前后翻页。
vim / vi 编辑器 :vim 文件名 打开;按 i 进入插入模式,Esc 退出;:wq 保存退出,:q! 不保存退出;Ctrl+F / Ctrl+B 翻页。
3.4 查找与管道
|(管道符):前一个命令的输出作为后一个的输入。grep 关键字:筛选包含关键字的行并高亮。
bash
ls | grep te # 列出名称包含 "te" 的项
ip addr | grep 10.211 # 在 IP 信息中筛选
find / -name "test.txt" # 按文件名查找
find --help # 查看 find 用法
3.5 系统信息
| 命令 | 说明 |
|---|---|
uname -a |
完整内核及系统信息 |
uname -r |
内核版本(简短) |
cat /proc/version |
内核详细信息 |
3.6 软件包安装(Debian/Ubuntu)
bash
apt-get update # 更新软件源索引
apt-get install 包名 -y # 安装软件包,-y 自动确认,如:apt-get install unzip -y
3.7 磁盘管理

查看磁盘与分区 :df -Th 查看挂载与使用情况;fdisk -l 列出物理磁盘与分区;fdisk + 磁盘路径 分区,修改后用 partprobe 使内核识别。
逻辑卷(LVM) :pvs / lvs / lvdisplay 查看物理卷、逻辑卷及详情;vgextend 扩展卷组;lvextend -L 大小 逻辑卷路径 或 lvextend -L +100%FREE 逻辑卷路径 扩展逻辑卷;扩展后执行 /sbin/resize2fs 逻辑卷路径(ext4)使文件系统生效。
格式化 :mkfs -V -t ext4 -c 分区设备路径(-V 详细信息,-t ext4 类型,-c 检查坏块)。
四、小结与参考
- 入门阶段重点掌握:用户与权限 、文件与目录命令 、vim 基本操作 、管道与 grep。
- 做磁盘、分区、LVM 操作前,务必先备份重要数据,并在测试环境多练几遍。
rm -rf慎用,删除前建议用ls或pwd再确认路径。
最后,学习参考链接分享给大家,Linux命令掌握常用的,其余的即查即用即可:
- Linux 命令大全 - 菜鸟教程
- Linux 命令手册 - LinuxCool
- Debian 参考手册(对 Linux 通用概念也写得较详细)