Linux

Linux 基础

·15 分钟阅读·5643 字

整理 Linux 入门必须掌握的文件系统、权限、用户、磁盘、网络、进程、软件包与 Vim 基础命令

📋 目录

Linux 基础

1. Linux 基础知识范围

Linux 基础笔记用于建立日常运维、故障排查和服务管理的命令基础,重点不在单一命令记忆,而在理解命令背后的系统对象。

模块核心对象常用命令
文件与目录路径、文件、目录、链接ls、cp、mv、rm、find
权限管理属主、属组、权限位、ACL、sudochmod、chown、setfacl、visudo
用户管理用户、组、密码、登录 Shelluseradd、usermod、passwd、id
磁盘管理磁盘、分区、文件系统、挂载lsblk、df、du、mount
网络管理网卡、IP、路由、端口、连通性ip、ss、ping、curl
进程管理PID、信号、优先级、作业ps、top、kill、nice
软件管理软件包、依赖、源码编译dnf、yum、rpm、make

2. 文件与目录基础

2.1. 常见目录

目录作用
/根目录,所有目录的起点。
/bin、/sbin基础命令和系统管理命令。
/etc系统和服务配置文件。
/home普通用户主目录。
/rootroot 用户主目录。
/var日志、缓存、运行时数据等变化数据。
/tmp临时文件目录。
/usr用户态程序、库文件、文档等。
/proc进程和内核状态的虚拟文件系统。
/sys设备、驱动和内核对象的虚拟文件系统。

2.2. 常用文件命令

pwd
ls -lah
cd /etc
cp source target
mv old new
rm file
mkdir -p /data/app
touch app.log

生产环境中执行 rm、mv、递归修改权限等命令前,应确认当前路径和目标路径,避免误操作。

2.3. 文件查找

find /etc -name "*.conf"
find /var/log -type f -mtime -1
locate nginx.conf
which bash
whereis nginx

find 是实时查找,适合精确定位;locate 依赖索引数据库,查询速度快但可能不是最新结果。

3. 权限管理

3.1. 权限表示

ls -l 输出中的权限字段表示文件类型、属主权限、属组权限和其他用户权限。

-rwxr-xr-x
位置含义
第 1 位文件类型,例如普通文件、目录、链接。
第 2-4 位属主权限。
第 5-7 位属组权限。
第 8-10 位其他用户权限。

3.2. 权限数字

数字权限说明
7rwx读、写、执行。
6rw-读、写。
5r-x读、执行。
4r--只读。
0---无权限。
chmod 755 file
chmod u+x file
chmod g-w file
chmod o-r file

3.3. 属主与属组

chown user:group file
chown -R appuser:appuser /opt/app
chgrp group file

chown -R 会递归修改目录下所有文件和目录,生产环境使用前应确认目标目录。

3.4. 特殊权限

权限标识作用
SUIDs 出现在属主执行位以文件属主身份执行程序。
SGIDs 出现在属组执行位以文件属组身份执行程序;用于目录时可继承属组。
Sticky Bitt 出现在其他用户执行位常用于 /tmp,仅文件属主或目录属主可删除文件。
chmod u+s /usr/bin/example
chmod g+s /data/share
chmod +t /tmp

3.5. ACL 访问控制

ACL 用于在传统属主、属组、其他用户权限之外,给指定用户或组追加权限。

getfacl file
setfacl -m u:username:rwx file
setfacl -m g:groupname:rx file
setfacl -R -m u:username:rx directory/
setfacl -x u:username file

3.6. sudo 权限

sudo 用于授予普通用户可审计的特权命令执行能力,配置文件通常通过 visudo 编辑。

user host=(runas) commands

示例:

user1 ALL=(ALL) ALL
%ops ALL=(ALL) /usr/bin/systemctl, /usr/bin/journalctl

4. 用户管理

4.1. 用户与组文件

文件说明
/etc/passwd用户基本信息。
/etc/shadow用户密码哈希和密码策略。
/etc/group用户组信息。
/etc/gshadow用户组密码和管理信息。

4.2. 常用用户命令

useradd -m -s /bin/bash user1
passwd user1
usermod -aG wheel user1
id user1
groups user1

4.3. 锁定与解锁用户

passwd -l user1
passwd -u user1
usermod -L user1
usermod -U user1

锁定账号适合临时禁用用户;如果用户已离职,还应检查 SSH key、sudo 权限、定时任务和文件归属。

5. 磁盘管理

5.1. 磁盘查看

命令说明
fdisk -l查看磁盘分区信息。
lsblk列出块设备层级结构。
lsblk -f查看文件系统类型和挂载点。
blkid查看设备 UUID 和文件系统类型。
df -h查看文件系统容量使用情况。
du -sh /path查看目录空间占用。

5.2. 分区管理

fdisk /dev/sdb
parted /dev/sdb
分区表特点
MBR传统分区表,通常支持 4 个主分区,常见于 2TB 以下磁盘。
GPT新一代分区表,支持更多分区和更大容量磁盘。

5.3. 格式化与挂载

mkfs.ext4 /dev/sdb1
mkfs.xfs /dev/sdb2
mount /dev/sdb1 /mnt/data
mount | grep sdb

开机自动挂载通常配置在 /etc/fstab。

UUID=xxx /mnt/data ext4 defaults 0 2

修改 /etc/fstab 后应先执行 mount -a 验证配置,避免下次重启进入异常状态。

5.4. RAID 基础

级别说明最少磁盘容错
RAID 0条带化,性能较高但无冗余。2无
RAID 1镜像,写入两份数据。2通常可坏 1 块
RAID 5分布式奇偶校验。3通常可坏 1 块
RAID 10先镜像再条带化。4取决于故障分布

5.5. LVM 逻辑卷管理

LVM 将物理磁盘抽象为物理卷、卷组和逻辑卷,便于后续扩容。

pvcreate /dev/sdb1
vgcreate vg_data /dev/sdb1
lvcreate -L 100G -n lv_app vg_data
mkfs.xfs /dev/vg_data/lv_app
mount /dev/vg_data/lv_app /data

扩容示例:

lvextend -L +50G /dev/vg_data/lv_app
xfs_growfs /data

6. 网络管理

6.1. 网络信息查看

ip addr
ip route
ss -lntup
ping 8.8.8.8
curl -I https://example.com
命令作用
ip addr查看网卡和 IP 地址。
ip route查看路由表。
ss -lntup查看监听端口和进程。
ping检查三层连通性。
curl验证应用层访问。

6.2. 临时配置 IP 与路由

ip addr add 192.168.1.10/24 dev eth0
ip link set eth0 up
ip route add default via 192.168.1.1

临时配置重启后通常会丢失,生产环境应写入发行版对应的网络配置文件或使用 NetworkManager 管理。

6.3. 网络统计

ss -s
ip -s link
netstat -s

排查网络问题时,应同时确认 IP、路由、DNS、端口监听、防火墙和上游网络策略。

7. 进程管理

7.1. 查看进程

ps aux
ps -ef
top
htop
pstree -p
pidof nginx
命令说明
ps查看某一时刻的进程快照。
top动态查看系统负载和进程资源占用。
pstree查看父子进程关系。
pidof根据进程名查询 PID。

7.2. 进程信号

kill -15 PID
kill -9 PID
kill -1 PID
kill -2 PID
信号名称说明
1SIGHUP常用于通知进程重新加载配置。
2SIGINT中断信号,通常对应 Ctrl+C。
15SIGTERM请求进程正常退出,优先使用。
9SIGKILL强制杀死进程,无法被进程捕获。

7.3. 进程优先级

ps -eo pid,ni,comm
nice -n -5 command
renice -n -5 -p PID

nice 值越低,进程优先级通常越高;调整优先级需要结合系统负载和业务影响评估。

7.4. 后台作业

command &
jobs
fg %1
bg %1
nohup command > app.log 2>&1 &

长期运行任务建议使用 systemd、screen 或 tmux 管理,而不是仅依赖当前终端。

8. 软件包管理

8.1. YUM 与 DNF

RHEL、CentOS、Rocky Linux、AlmaLinux 等发行版常使用 yum 或 dnf 管理软件包。

命令说明
dnf install package安装软件包。
dnf remove package卸载软件包。
dnf update package更新软件包。
dnf search keyword搜索软件包。
dnf list installed列出已安装软件包。
dnf info package查看软件包信息。
dnf groupinstall group安装软件包组。

8.2. RPM

rpm -ivh package.rpm
rpm -e package
rpm -qa
rpm -ql package
rpm -qf /path/to/file

rpm 更偏底层包操作,不会像 dnf 一样自动处理远程仓库依赖。

8.3. 源码编译

./configure --prefix=/usr/local
make
make install

源码编译前应确认依赖、编译参数、安装路径和后续升级方式。

9. Vim 编辑器

Vim 常见模式包括一般模式、编辑模式和指令行模式。

9.1. 一般模式

按键说明
h、j、k、l左、下、上、右移动。
0、$行首、行尾。
gg、G文件首行、尾行。
x删除光标处字符。
dd删除整行。
yy复制整行。
p、P粘贴到下一行或上一行。
u撤销。
Ctrl+r重做。

9.2. 编辑模式

按键说明
i在光标处插入。
a在光标后插入。
o在下一行插入新行。
Esc退出编辑模式。

9.3. 指令行模式

命令说明
:w保存。
:q退出。
:wq保存并退出。
:q!强制退出且不保存。
:set nu显示行号。
:set nonu取消行号。
:/keyword搜索关键词。
:s/old/new/g替换当前行匹配内容。

10. 基础排查命令清单

hostnamectl
uptime
free -h
df -h
du -sh /var/*
ip addr
ip route
ss -lntup
ps aux --sort=-%cpu | head
journalctl -xe

基础排查应先确认系统状态、资源使用、网络连通性、服务状态和最近日志,再进一步定位具体原因。


关联文档

Yanche Blog

记录云原生、Linux、数据库等技术领域的学习心得,以及日常生活的思考与感悟。

© 2026 Yanche Blog. All rights reserved.

Powered by Astro