Linux系统管理命令大全
简介
Linux系统管理是每一位后端开发和运维工程师的必备技能。本文从文件系统管理、包管理、用户权限、网络配置、进程管理等多个维度,全面梳理Linux系统管理的核心知识点。无论你是刚入门Linux的新手,还是需要速查命令的资深工程师,这篇文章都能成为你的实用参考手册。
一、文件与目录操作基础
1.1 目录导航与文件操作
bash
# 目录导航
pwd # 显示当前工作目录
cd ~ # 回到主目录(等同 cd 不加参数)
cd - # 返回上一次所在目录
cd .. # 返回上一级目录
# 目录查看
ls -a # 显示所有文件(包括隐藏文件)
ls -l # 以长格式显示文件列表
ls -R # 递归显示子目录内容
# 目录创建与删除
mkdir -p dir1/dir2/dir3 # 递归创建目录(父目录不存在则自动创建)
rmdir dir1 # 删除空目录
rmdir -p dir1/dir2/dir3 # 递归删除空目录
rm -r dir1 # 递归删除目录及其内容
rm -f file1 # 强制删除文件,不提示错误
# 文件操作
touch file1 # 创建空文件(或更新文件时间戳)
mv old_name new_name # 移动/重命名文件
cp -i src dest # 复制文件(-i 覆盖前提示)
cp -R dir1 dir2 # 递归复制目录
cp -l src dest # 建立硬链接
unlink file1 # 删除普通文件
1.2 文件查看与搜索
bash
# 文件内容查看
cat -n file1 # 显示文件内容并带行号
cat -b file1 # 显示行号,空白行不编号
stat file1 # 显示文件的时间属性等详细信息
# 文件搜索
find ./ -name "*.cpp" # 在当前目录查找所有 .cpp 文件
find / -name "target_file" # 从根目录查找指定文件
grep "pattern" file1 # 在文件中查找匹配行
grep -i "pattern" file1 # 不区分大小写搜索
which cp # 查看命令所在路径
locate filename # 查找文件绝对路径(基于数据库)
1.3 链接文件
bash
# 软链接(符号链接)
ln -s source_file link_name # 创建软链接,文件类型标识为 l
# 硬链接
ln source_file link_name # 创建硬链接,与源文件共享 inode
# 区别:
# - 软链接有自己的 inode,删除源文件后链接失效
# - 硬链接与源文件 inode 相同,删除源文件不影响硬链接
# - 修改链接文件和源文件效果相同
图片占位符:软链接与硬链接的原理对比图
1.4 文件权限管理
bash
# 权限修改
chmod u+x file1 # 给所有者增加执行权限
chmod 755 directory # 目录常用权限:rwxr-xr-x
chmod 644 file1 # 文件常用权限:rw-r--r--
# 权限字母含义:u(所有者) g(所属组) o(其他用户) a(所有)
# 权限数字表示:r=4 w=2 x=1
# 所有者修改
chown user:group file1 # 同时修改文件所有者和所属组
chgrp group1 file1 # 仅修改文件所属组
# 权限掩码
umask # 查看当前权限掩码(默认022)
# 新建文件默认权限 = 666 - umask = 644
# 新建目录默认权限 = 777 - umask = 755
# 注意:umask 对普通文件的 x 位没有作用,只对目录的 x 位有作用
二、文件系统类型与管理
2.1 Linux常用文件系统
| 文件系统 | 说明 |
|---|---|
| ext4 | Linux最常用的文件系统,ext3的升级版,支持大文件和大分区 |
| xfs | RHEL(Red Hat Enterprise Linux)的默认文件系统,擅长处理大文件 |
| btrfs | 新一代文件系统,支持快照、压缩、加密等高级功能 |
| tmpfs | 基于内存的临时文件系统,重启后数据丢失 |
| swap | 交换文件系统,用于虚拟内存扩展 |
2.2 Windows常用文件系统
| 文件系统 | 说明 |
|---|---|
| NTFS | Windows NT及以后版本的默认文件系统,支持安全性和大文件 |
| FAT32 | 兼容性最好的文件系统,但单文件最大4GB |
| exFAT | 为闪存设计的文件系统,支持大文件,跨平台兼容性好 |
2.3 磁盘分区与格式化
bash
fdisk -l # 查看当前磁盘状态
fdisk /dev/sda # 对 sda 磁盘进行分区操作
# 分区后需格式化
mkfs.ext4 /dev/sda1 # 格式化为 ext4 文件系统
mkfs.xfs -f /dev/sda1 # 格式化为 xfs 文件系统
mkfs.vfat /dev/sda1 # 格式化为 vfat(EFI分区)
# 挂载分区
mount /dev/sda1 /mnt/point # 手动挂载分区
mount -t nfs 服务器地址:/共享目录 /挂载点 # 挂载 NFS 网络文件系统
mount -t cifs -o username=user,password=pwd //server/share /mnt/point # 挂载CIFS
# 查看挂载情况
df -h # 查看磁盘使用情况
# 开机自动挂载:编辑 /etc/fstab 或 /etc/rc.local
# 注意:rc.local 需要有执行权限 chmod +x /etc/rc.local
2.4 LVM逻辑卷管理
LVM(Logical Volume Manager)将磁盘(PV物理卷)划分为一个大池子(VG卷组),再从池子中分出多个LV逻辑卷,最大的优点是可以方便地在线扩展与裁剪容量。
图片占位符:LVM架构示意图------PV、VG、LV三层关系
LVM基本概念:
- PV(物理卷):磁盘分区或具有同等功能的设备,是LVM的基本存储逻辑块
- VG(卷组):由一个或多个PV组成,类似于非LVM系统中的物理磁盘
- LV(逻辑卷):建立在VG之上,类似于非LVM系统中的磁盘分区
- PE(物理块):PV被划分为称为PE的基本单元,默认大小4MB
- LE(逻辑块):LV被划分为可被寻址的基本单元,与PE一一对应
bash
# === 物理卷操作 ===
pvcreate /dev/sdb1 # 创建物理卷
pvscan # 扫描物理卷
pvdisplay # 显示物理卷详细信息
# === 卷组操作 ===
vgcreate vg_name /dev/sdb1 /dev/sdb2 # 创建卷组
vgscan # 扫描卷组
vgdisplay # 显示卷组信息
vgextend vg_name /dev/sdc1 # 添加新的物理卷到卷组
vgreduce vg_name /dev/sda1 # 从卷组中移除物理卷
# === 逻辑卷操作 ===
lvcreate -L 1500 -n lv_name vg_name # 创建指定大小的逻辑卷
lvcreate -l 100%FREE -n lv_name vg_name # 使用卷组全部剩余空间
lvscan # 扫描逻辑卷
lvdisplay # 显示逻辑卷信息
lvextend -L +1G /dev/vg_name/lv_name # 扩展逻辑卷(+1G)
lvreduce -L -1G /dev/vg_name/lv_name # 裁剪逻辑卷
lvremove /dev/vg_name/lv_name # 删除逻辑卷
# === 精简配置(Thin Provisioning)===
# 精简配置允许超额分配存储空间,实际使用时才分配物理空间
# GlusterFS的卷快照功能就是基于精简配置的LVM快照
2.5 Swap交换分区管理
bash
# 方法一:使用文件作为swap
dd if=/dev/zero of=/swapfile bs=1M count=4096 # 创建4GB的swap文件
mkswap /swapfile # 格式化为swap
swapon /swapfile # 启用swap
# 方法二:使用分区作为swap
fdisk /dev/sdb # 创建分区
mkswap /dev/sdb1 # 格式化
swapon /dev/sdb1 # 启用
# 管理操作
swapoff /swapfile # 关闭swap
free -h # 查看内存和swap使用情况
# 开机自动挂载,在 /etc/fstab 中添加:
# /swapfile swap swap defaults 0 0
三、Vim编辑器使用指南
3.1 模式切换与基本操作
Vim是Linux下最强大的文本编辑器之一,掌握其常用命令能极大提升编辑效率。
=== 插入模式 ===
i # 在光标前插入
I # 在行首插入
a # 在光标后插入
A # 在行尾插入
o # 在当前行下方新开一行插入
O # 在当前行上方新开一行插入
s # 删除光标字符并进入插入模式
S # 删除整行并进入插入模式
=== 光标移动 ===
w # 向后移动一个单词
b # 向前移动一个单词
$ # 移动到行尾
0 # 移动到行首
nG # 跳转到第n行
H # 光标移动到屏幕顶部
L # 光标移动到屏幕底部
Ctrl+b # 向前翻页
Ctrl+f # 向后翻页
3.2 复制、粘贴与删除
nyy # 复制从当前行开始的n行
ndd # 剪切从当前行开始的n行
yw # 复制一个单词
dw # 删除光标后的单词
db # 删除光标前的单词
p # 粘贴
u # 撤销
Ctrl+r # 恢复撤销(反撤销)
. # 重复上一次操作(非常实用)
dG # 删除光标到文件末尾(清空文件)
3.3 搜索与替换
/pattern # 向下搜索
:%s/old/new/g # 全文替换
:12,15s/old/new/g # 替换第12到15行中的内容
:s/old/new/ # 替换当前行第一个匹配
3.4 Vim配置与高级功能
bash
# 配置文件:~/.vimrc 或 /etc/vim/vimrc
set nu " 显示行号
set tabstop=4 " Tab键代表4个空格
set cindent " C语言自动缩进
set shiftwidth=4 " 缩进宽度为4个空格
# 代码格式化
gg=G # 格式化整个文件
# ctags 代码导航
ctags -R ./ # 在项目目录建立标签文件
Ctrl+] # 跳转到函数定义
Ctrl+T # 返回跳转点
# 多行注释技巧(块操作)
# Ctrl+v 选中行 -> 大写 I -> 输入注释符 -> ESC ESC
3.5 多行重复操作(宏录制)
# 录制宏
qa # 开始录制宏(保存到寄存器a)
操作命令 # 执行需要录制的操作
q # 结束录制
# 使用宏
@a # 执行宏a一次
10@a # 执行宏a十次
四、man手册与帮助系统
man命令是Linux下最重要的帮助文档查看工具,按照不同的章节编号分类:
| 章节号 | 内容 | 示例 |
|---|---|---|
| 1 | Linux用户命令 | man 1 ls |
| 2 | 系统调用 | man 2 open |
| 3 | 标准库函数 | man 3 printf |
| 4 | 设备文件(/dev目录) | man 4 null |
| 5 | 配置文件格式 | man 5 passwd |
| 6 | 游戏和其他应用手册 | - |
| 7 | 协议、文件格式和约定 | man 7 ascii |
| 8 | 系统管理员命令 | man 8 iptables |
| 9 | 内核相关函数 | man 9 syscalls |
五、Linux包管理器大全
不同Linux发行版使用不同的包管理器,掌握各发行版的包管理命令是跨平台运维的基础。
5.1 Debian系(APT / DPKG)
适用:Ubuntu、Debian、Linux Mint、Kali Linux 等
bash
# 更新与升级
sudo apt update # 更新软件包列表
sudo apt upgrade # 升级已安装的软件包
sudo apt full-upgrade # 升级系统(含发行版升级)
# 安装与卸载
sudo apt install <包名> # 安装软件包
sudo apt remove <包名> # 卸载(保留配置)
sudo apt purge <包名> # 卸载(删除配置)
sudo apt autoremove # 清理不再需要的依赖
# 搜索与查询
apt search <关键词> # 搜索软件包
apt show <包名> # 查看软件包信息
apt list --installed # 查看已安装的软件包
apt-cache search <关键词> # 搜索软件包缓存
# 本地安装与修复
sudo dpkg -i package.deb # 安装本地 .deb 文件
sudo apt --fix-broken install # 修复依赖问题
sudo apt-get install -f # 解决依赖关系
sudo apt clean # 清理缓存
# 干净卸载
sudo apt-get autoremove app-name --purge # 删除配置文件
# 搜索特定版本
sudo apt-cache search package # 搜索软件的相应版本
5.2 Red Hat系(DNF / YUM / RPM)
适用:Fedora、RHEL、CentOS、Rocky Linux、AlmaLinux 等
bash
# 更新与升级
sudo dnf update # 更新软件包列表并升级所有包
sudo yum update # 等价的yum命令
# 安装与卸载
sudo dnf install <包名> # 安装软件包
sudo dnf remove <包名> # 卸载软件包
# 搜索与查询
sudo dnf search <关键词> # 搜索软件包
sudo dnf info <包名> # 查看软件包信息
sudo dnf list installed # 查看已安装的包
sudo rpm -qa | grep <包名> # 通过rpm查询已安装包
# 本地安装与依赖
sudo dnf install package.rpm # 安装本地RPM文件
sudo rpm -ivh package.rpm # 使用rpm直接安装
dnf deplist <包名> # 查看依赖关系
sudo dnf clean all # 清理缓存
# 注意:RHEL7之后所有服务从 service servername start
# 改为统一的 systemctl start servername.service
5.3 Arch系(Pacman)
适用:Arch Linux、Manjaro、EndeavourOS、MSYS2 等
bash
# 更新系统
sudo pacman -Syu # 同步数据库并更新系统
# 安装与卸载
sudo pacman -S <包名> # 安装软件包
sudo pacman -R <包名> # 卸载软件包
sudo pacman -Rs <包名> # 卸载包及其未使用的依赖
sudo pacman -Rns <包名> # 卸载包、依赖及配置文件
# 搜索与查询
sudo pacman -Ss <关键词> # 搜索软件包
pacman -Q # 查看已安装的包
pacman -Qe # 查看显式安装的包
pacman -Qi <包名> # 查看包详细信息
pacman -Ql <包名> # 列出包内文件
# 清理
sudo pacman -Sc # 清理无用包缓存
sudo pacman -Scc # 更彻底地清理缓存
5.4 SUSE系(Zypper)
适用:openSUSE、SLES(企业版)
bash
sudo zypper refresh # 刷新软件源
sudo zypper update # 更新所有软件包
sudo zypper install <包名> # 安装软件包
sudo zypper remove <包名> # 卸载软件包
sudo zypper search <关键词> # 搜索软件包
sudo zypper packages --installed-only # 查看已安装的包
sudo zypper info <包名> # 查看包信息
sudo zypper clean # 清理缓存
5.5 Alpine系(APK)
适用:Alpine Linux(Docker容器常用)
bash
apk update # 更新软件包索引
apk upgrade # 升级软件包
apk add <包名> # 安装软件包
apk del <包名> # 卸载软件包
apk search <关键词> # 搜索软件包
apk info # 查看已安装包
apk info -a <包名> # 查看包详情
六、用户与用户组管理
6.1 用户管理
bash
# 创建用户
useradd -m -s /bin/bash -g usergroup -G othergroup username
# -m: 创建主目录 -s: 指定shell -g: 主组 -G: 附加组
# 设置密码
passwd username
# 删除用户
userdel -r username # -r 同时删除主目录
# 修改用户信息
usermod -aG wheel,storage username # 将用户添加到附加组
# 查看用户信息
id username # 查看用户的UID、GID和所属组
6.2 用户组管理
bash
groupadd groupname # 创建用户组
groupdel groupname # 删除用户组
groups username # 查看用户所属组
6.3 sudo权限配置
bash
# 用户免密执行sudo命令
sudo chmod +w /etc/sudoers
sudo visudo
# 在最后行添加:username ALL=NOPASSWD:ALL
sudo chmod -w /etc/sudoers
# sudo -s 可获得root权限但保持原先环境变量
七、SSH配置与安全
7.1 SSH服务安装与基本配置
bash
# 安装SSH服务
sudo apt-get install openssh-server
# 服务管理
sudo service ssh start # 启动
sudo service ssh stop # 停止
sudo service ssh restart # 重启
sudo service ssh status # 查看状态
7.2 SSH密钥认证配置
bash
# 客户端生成密钥对
ssh-keygen -t rsa # 生成RSA密钥对
# 将公钥推送到服务器
ssh-copy-id -i ~/.ssh/id_rsa.pub username@server
# 或手动将客户端 ~/.ssh/id_rsa.pub 的内容
# 追加到服务端 ~/.ssh/authorized_keys 文件中
7.3 SSH安全加固
bash
# 编辑配置文件
sudo vim /etc/ssh/sshd_config
# 关键安全配置:
Port 31422 # 修改默认端口(22改为其他)
PermitRootLogin no # 禁止root直接登录
PasswordAuthentication no # 禁用密码验证
RSAAuthentication yes # 启用RSA认证
PubkeyAuthentication yes # 启用公钥认证
AuthorizedKeysFile .ssh/authorized_keys # 指定公钥数据库文件
# 重启SSH服务使配置生效
sudo service ssh restart
# 注意:新端口配置后需在防火墙中放行
# 确认新端口能成功登录后再关闭22端口
7.4 SSH远程操作技巧
bash
# 远程执行命令
ssh -p 22 username@remote_ip 'command'
# 远程文件复制
scp username@hostname:/remote/path /local/path
# 使用sshpass自动化(需安装)
sshpass -p password ssh user@host 'command'
# 首次连接跳过确认
ssh -o StrictHostKeyChecking=no user@host
# 或在 /etc/ssh/ssh_config 中添加:StrictHostKeyChecking no
八、防火墙配置(UFW)
UFW(Uncomplicated Firewall)是Ubuntu下简化防火墙配置的工具。
bash
# 基本操作
sudo ufw enable # 启用防火墙
sudo ufw disable # 关闭防火墙
sudo ufw status # 查看防火墙状态
sudo ufw default deny # 默认拒绝所有外部访问
# 端口管理
sudo ufw allow 80 # 允许外部访问80端口
sudo ufw allow 31422 # 允许SSH新端口
sudo ufw delete allow 80 # 删除规则
# IP管理
sudo ufw allow from 192.168.1.1 # 允许特定IP访问所有端口
sudo ufw allow from 10.0.0.0/8 # 允许整个网段
sudo ufw allow from 172.16.0.0/12
sudo ufw allow from 192.168.0.0/16
# 高级规则
sudo ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port 22
# 拒绝所有从10.0.0.0/8到192.168.0.1:22的TCP流量
# 推荐安全设置
sudo apt-get install ufw
sudo ufw enable
sudo ufw default deny
# 然后按需开放端口:sudo ufw allow <port>
# 注意:阿里云等云服务器还需配置安全组
九、计划任务(Cron)
9.1 crontab基本语法
bash
crontab -l # 查看当前用户的定时任务
crontab -e # 编辑定时任务
# 格式:分 时 日 月 周 命令
# * 表示每(每分钟/每小时/每天等)
# */n 表示每隔n单位
# , 表示枚举多个时间点
# - 表示时间范围
9.2 常用Cron示例
bash
# 每晚21:30重启apache
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
# 每月1、10、22日的4:45重启apache
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
# 每周六、周日的1:10重启apache
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
# 每天18:00至23:00之间每隔30分钟重启apache
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
# 每一小时重启apache
0 */1 * * * /usr/local/etc/rc.d/lighttpd restart
# 晚上11点到早上7点之间,每隔一小时重启apache
0 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
9.3 排查Cron不执行的问题
- 检查是否安装了邮件服务(cron需要通过邮件发送执行结果)
- 检查
/etc/cron.allow确认用户是否有权限使用cron - 确认crontab格式是否正确
- 确认命令路径是否为绝对路径
十、网络配置
10.1 Ubuntu网络配置
bash
# Ubuntu 17之前:编辑 /etc/network/interfaces
# Ubuntu 17之后:编辑 /etc/netplan/*.yaml
# 静态IP配置(netplan格式)
# /etc/netplan/01-netcfg.yaml
network:
ethernets:
ens33:
addresses: [192.168.1.20/24]
dhcp4: false
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.1]
optional: true
version: 2
# 动态IP配置
network:
ethernets:
ens33:
dhcp4: true
version: 2
# 使配置生效
sudo netplan apply
10.2 CentOS/RHEL网络配置
bash
# 编辑网卡配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33
# 设置 BOOTPROTO=dhcp 或 static
# 设置 DEVICE=eth0 等
# 重启网络
sudo systemctl restart network.service
# CentOS设备命名规则:
# RHEL7之后默认启用"可预测命名规则"
# 网络设备根据固件、拓扑和位置信息自动命名
# 如需恢复传统的eth0命名:
# 1. 编辑 /etc/default/grub 添加 net.ifnames=0 biosdevname=0
# 2. sudo grub2-mkconfig -o /boot/grub2/grub.cfg
# 3. 重命名配置文件并修改 DEVICE=eth0
10.3 网络诊断与路由
bash
ifconfig eth0 192.168.3.250 netmask 255.255.255.128 # 临时修改IP
ip addr # 查看IP地址
ip route # 查看路由表
ping www.baidu.com # 测试网络连通性
netstat -anp | grep LISTEN # 查看监听端口
netstat -anp | grep 3389 # 查看指定端口是否被监听
lsof -i :端口号 # 查看端口占用
ethtool eth0 # 查看网卡带宽
lsblk # 查看所有块设备(磁盘)
# 添加路由
sudo route add default gw 192.168.28.254 eth0
sudo ip route add default via 192.168.28.254
10.4 DNS与域名
bash
# DNS配置文件
/etc/resolv.conf # DNS服务器配置
/etc/hosts # 本地主机名解析
# 127.0.0.1 localhost
# 设置时区
tzselect # 交互式设置时区
# Asia -> China -> Beijing -> Save
十一、进程管理
11.1 进程查看与管理
bash
ps aux # 查看所有进程
ps -ef # 查看所有进程(全格式)
top # 实时进程监控
htop # 增强版进程监控(需安装)
pgrep -u root # 查找root用户的所有进程
pidof process_name # 根据完整进程名查找PID
kill -9 PID # 强制终止进程
pkill process_name # 根据进程名杀死进程
lsof -p PID # 查看进程打开的文件和端口
fuser -k /mnt/point # 杀死占用挂载点的进程
11.2 后台任务管理
bash
# 将程序放入后台
command & # 方式1:命令后加 &
# Ctrl+Z # 方式2:挂起当前程序
bg # 将挂起的程序放到后台执行
fg # 将后台程序调到前台
jobs # 查看当前终端的后台任务
# 终端退出后保持后台运行
nohup sh test.sh &>/dev/null & # nohup忽略SIGHUP信号
(sh test.sh &>/dev/null &) # 放入子shell,PPID变为1
11.3 内存管理
bash
free -h # 查看内存使用情况(人类可读格式)
# free输出解读:
# total = used + free
# 实际使用内存 = used - buffers - cached
# 实际可用内存 = free + buffers + cached
# buffers:Buffer缓存内存数
# cached:Page缓存内存数
# free与top显示差异:
# free第一行以系统视角显示(包含buffers和cached)
# free第二行以应用视角显示(去除buffers和cached)
十二、系统服务管理
bash
# systemctl(RHEL7+/Ubuntu 16.04+)
systemctl start service_name # 启动服务
systemctl stop service_name # 停止服务
systemctl restart service_name # 重启服务
systemctl status service_name # 查看服务状态
systemctl enable service_name # 开机自启动
systemctl disable service_name # 取消开机自启动
# service(旧版本)
service service_name start
service service_name status
# 查看服务列表
sudo service --status-all # Ubuntu
sudo initctl list # init守护进程列表
# 守护进程管理工具
initctl --list # 列出所有守护进程
initctl start/stop/restart job # 管理守护进程
十三、其他实用技巧
13.1 环境变量
bash
# 临时设置(仅当前Shell有效)
export PATH=$PATH:/new/path
# 永久设置
# 用户级:编辑 ~/.bashrc 或 ~/.profile
# 系统级:编辑 /etc/profile 或 /etc/environment
# 使配置立即生效
source ~/.bashrc
# 或
. ~/.profile
13.2 文件系统相关
bash
# Windows与Linux文本文件换行符转换
dos2unix filename # \r\n -> \n
# 查看动态库依赖
ldd program_name # 查看程序链接的动态库
ldconfig # 更新动态链接库缓存
# 查看磁盘设备
lsblk # 查看所有磁盘和分区
13.3 网络文件系统服务搭建
bash
# FTP服务器
sudo apt-get install vsftpd # 安装
sudo passwd ftp # 设置ftp用户密码
service vsftpd restart # 重启
# NFS服务器
sudo apt-get install nfs-kernel-server
# 编辑 /etc/exports:
# /共享目录 *(rw,sync,no_root_squash)
sudo exportfs -ra # 重新导出
# Samba文件共享
sudo smbpasswd -a username # 添加Samba用户
# 配置文件:/etc/samba/smb.conf
13.4 SELinux与防火墙
bash
# CentOS关闭防火墙
sudo systemctl disable firewalld
# 禁用SELinux
vi /etc/selinux/config
# 将 SELINUX=enforcing 改为 SELINUX=disabled
# Linux清空防火墙规则
iptables -F
总结
Linux系统管理涉及的知识面非常广泛,从基础的文件操作到高级的LVM管理、网络配置和安全加固。本文涵盖的核心要点包括:
- 文件系统:理解ext4/xfs/btrfs等文件系统特性,掌握LVM逻辑卷管理
- 包管理:熟练使用不同发行版的包管理命令(apt/dnf/pacman/zypper/apk)
- 权限安全:文件权限管理、SSH密钥认证、UFW防火墙配置
- 系统运维:计划任务、进程管理、网络配置、服务管理
- 编辑器:Vim高效操作与宏录制
这些命令和技巧是日常运维工作的基础,建议收藏本文作为速查手册。
原始笔记来源: frasight/上课笔记.c, jdah/linux基础命令.c, jdah/other_notes.c