Linux系统管理命令大全

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不执行的问题

  1. 检查是否安装了邮件服务(cron需要通过邮件发送执行结果)
  2. 检查 /etc/cron.allow 确认用户是否有权限使用cron
  3. 确认crontab格式是否正确
  4. 确认命令路径是否为绝对路径

十、网络配置

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管理、网络配置和安全加固。本文涵盖的核心要点包括:

  1. 文件系统:理解ext4/xfs/btrfs等文件系统特性,掌握LVM逻辑卷管理
  2. 包管理:熟练使用不同发行版的包管理命令(apt/dnf/pacman/zypper/apk)
  3. 权限安全:文件权限管理、SSH密钥认证、UFW防火墙配置
  4. 系统运维:计划任务、进程管理、网络配置、服务管理
  5. 编辑器:Vim高效操作与宏录制

这些命令和技巧是日常运维工作的基础,建议收藏本文作为速查手册。


原始笔记来源: frasight/上课笔记.c, jdah/linux基础命令.c, jdah/other_notes.c

相关推荐
zhangrelay1 小时前
三分钟云课实践速通--单片机原理与应用--Arduino--SimulIDE--
linux·单片机·嵌入式硬件·学习·ubuntu
zzzyyy5382 小时前
Linux之缓冲区
linux·运维·服务器
hwscom2 小时前
Linux服务器如何进行安全加固,防止黑客攻击(Windows也适用)
linux·服务器·安全
lzh200409192 小时前
Linux管道(Pipe)深度指南:从原理到实战
linux·c++
liann1192 小时前
3.4_Linux 应急响应排查速查命令表
linux·运维·服务器·安全·网络安全·系统安全
孪生质数-2 小时前
Linux高危漏洞通报Copy Fail - CVE-2026-31431
linux·运维·服务器·ubuntu·网络安全·debian·cve-2026-31431
IMPYLH2 小时前
Linux 的 tee 命令
linux·运维·服务器·bash
lzh200409192 小时前
Linux信号(Signal)
linux·c++
pc07932 小时前
带网络接口的打印机和USB接口打印机的共享区别
运维·服务器·网络