Linux基础整理
一、Linux 常用指令整理
系统基础指令
-  
ls:列出目录内容
-  
ls -a:显示所有文件(包括隐藏文件) -  
ls -l:显示详细文件信息 -  
ls /etc:列出/etc目录内容 -  
示例:
 
 -  
 -  
cat:查看文件内容
-  
cat /etc/os-release:查看系统版本信息 -  
cat file1:显示文件内容 -  
cat file1 file2 > merged.txt:合并文件并输出到新文件 -  
示例:
 
 -  
 -  
pwd:显示当前工作目录路径
-  
pwd:直接显示当前路径 -  
cd ~ && pwd:切换到用户主目录后显示路径 -  
示例:
 
 -  
 -  
uname:获取系统信息
-  
uname -a:显示完整系统信息(内核版本、主机名等) -  
uname -r:仅显示内核版本 -  
uname -n:显示主机名 -  
示例:
 
 -  
 
文件与目录管理
-  
cd:切换目录
-  
cd /var/log:切换到/var/log目录 -  
cd ..:返回上级目录 -  
cd ~:切换到当前用户主目录 -  
示例:
 
 -  
 -  
mkdir:创建目录
-  
mkdir test:创建名为 test 的目录 -  
mkdir -p /a/b/c:递归创建多级目录 -  
mkdir -m 755 dir:创建目录并设置权限 -  
示例:
 
 -  
 -  
rm:删除文件或目录
-  
rm file.txt:删除文件 -  
rm -r dir:删除目录及其内容 -  
rm -f file.txt:强制删除(不提示) -  
示例:
 
 -  
 -  
cp:复制文件或目录
-  
cp src.txt dest.txt:复制文件 -  
cp -r dir1 dir2:复制目录 -  
cp -a file.txt /backup:复制文件并保留属性 -  
示例:
 
 -  
 -  
mv:移动或重命名文件 / 目录
-  
mv old.txt new.txt:重命名文件 -  
mv file.txt /target/:移动文件到目标目录 -  
mv dir1 dir2:重命名目录 -  
示例:
 
 -  
 -  
chmod:修改文件 / 目录权限
-  
chmod 755 file:设置所有者权限为 rwx,其他用户为 r-x -  
chmod u+x script.sh:给所有者添加执行权限 -  
chmod g-w,o-r file:移除组用户写权限和其他用户读权限 -  
示例:
 
 -  
 -  
chown:修改文件 / 目录所有者
-  
chown user:group file:修改所有者和所属组 -  
chown -R user dir:递归修改目录及其内容的所有者 -  
chown :group file:仅修改所属组 -  
示例:
 
 -  
 
用户与权限管理
-  
useradd:创建新用户
-  
useradd jsj:创建名为 jsj 的用户 -  
useradd -d /home/jsj -s /bin/bash jsj:指定用户主目录和默认 shell -  
useradd -G sudo jsj:将用户添加到 sudo 组 -  
示例:
 
 -  
 -  
passwd:修改用户密码
-  
passwd:修改当前用户密码 -  
passwd jsj:管理员修改其他用户密码 -  
passwd -l jsj:锁定用户账户 -  
示例:
 
 -  
 -  
su:切换用户身份
-  
su -:切换到 root 用户并加载其环境 -  
su jsj:切换到用户 jsj(不改变环境) -  
su -c "command" root:以 root 身份执行单个命令 -  
示例:
 
 -  
 -  
sudo:以管理员权限执行命令
-  
sudo apt-get install nginx:安装软件(Debian 系) -  
sudo su -:临时获取 root 权限 -  
sudo visudo:编辑 sudo 配置文件 -  
示例:
 
 -  
 -  
id:查看用户身份信息
-  
id:查看当前用户 UID、GID 和所属组 -  
id jsj:查看用户 jsj 的身份信息 -  
id -u:仅显示当前用户 UID -  
示例:
 
 -  
 -  
gpasswd:管理用户组
-  
gpasswd -a jsj admins:将用户 jsj 添加到 admins 组 -  
gpasswd -d jsj admins:从组中删除用户 -  
gpasswd -M user1,user2 admins:批量设置组成员 -  
示例:
 
 -  
 
网络管理
-  
ping:测试网络连通性
-  
ping -c 4 www.baidu.com:发送 4 个 ICMP 包 -  
ping -W 1 www.example.com:设置超时时间为 1 秒 -  
ping -I eth0 192.168.1.1:指定网络接口发送请求 -  
示例:
 
 -  
 -  
ifconfig:查看 / 配置网络接口(旧工具)
-  
ifconfig eth0:查看 eth0 接口信息 -  
ifconfig eth0 192.168.1.100 netmask 255.255.255.0:设置 IP 地址和子网掩码 -  
ifconfig eth0 up/down:启用 / 禁用网络接口 -  
示例:
 
 -  
 -  
ip:新一代网络配置工具
-  
ip addr show:显示所有网络接口信息 -  
ip route add default via 192.168.1.1:添加默认网关 -  
ip link set eth0 up:启用网络接口 -  
示例:
 
 -  
 -  
netstat:查看网络统计信息
-  
netstat -an:显示所有网络连接(包括端口) -  
netstat -tuln:查看监听中的 TCP/UDP 端口 -  
netstat -s:显示网络协议统计数据 -  
示例:
 
 -  
 -  
route:管理路由表
-  
route -n:以数字形式显示路由表 -  
route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.2:添加静态路由 -  
route del default:删除默认网关 -  
示例:
 
 -  
 -  
nslookup:DNS 域名解析
-  
nslookup www.taobao.com:查询域名对应的 IP 地址 -  
nslookup -type=mx taobao.com:查询邮件交换记录(MX 记录) -  
nslookup 8.8.8.8:反向查询 IP 对应的域名 -  
示例:
 
 -  
 -  
scp:安全复制文件到远程主机
-  
scp local.txt user@remote:/path:复制本地文件到远程 -  
scp user@remote:/remote.txt local/:从远程复制文件到本地 -  
scp -r dir user@remote:/path:递归复制目录 -  
示例:
 
 -  
 -  
ssh:安全远程登录
-  
ssh user@remote:远程登录到主机 -  
ssh -p 2222 user@remote:指定远程端口登录 -  
ssh-keygen -t rsa:生成 SSH 密钥对(用于免密登录) -  
示例:
 
 -  
 
进程管理
-  
ps:查看进程状态
-  
ps aux:显示所有用户的进程(BSD 格式) -  
ps -ef:显示所有进程(Linux 格式) -  
ps -p 1234:查看 PID 为 1234 的进程详情 -  
示例:
 
 -  
 -  
top:实时监控进程资源占用
-  
top:进入交互式监控界面(按 q 退出) -  
top -u jsj:仅显示用户 jsj 的进程 -  
top -p 1234:监控指定 PID 的进程 -  
示例:
 
 -  
 -  
kill:终止进程
-  
kill 1234:发送默认信号(SIGTERM)终止进程 -  
kill -9 1234:强制终止进程(SIGKILL) -  
killall httpd:终止所有 httpd 进程 -  
示例:
 
 -  
 -  
bg/fg:管理后台作业
-  
bg %1:将暂停的作业放到后台运行 -  
fg %1:将后台作业恢复到前台 -  
jobs:查看当前所有后台作业 -  
示例:
 
 -  
 
存储与文件系统
-  
fdisk:磁盘分区工具(MBR 分区)
-  
fdisk /dev/sda:交互式分区管理 -  
fdisk -l:列出所有磁盘分区信息 -  
fdisk /dev/sda -n:新建分区 -  
示例:
 
 -  
 -  
mkfs:创建文件系统
-  
mkfs.ext4 /dev/sda1:创建 ext4 文件系统 -  
mkfs.vfat /dev/sdb1:创建 FAT32 文件系统 -  
mkfs -t xfs /dev/sdc1:指定文件系统类型为 XFS -  
示例:
 
 -  
 -  
mount:挂载文件系统
-  
mount /dev/sda1 /mnt:挂载分区到 /mnt -  
mount -t iso9660 /dev/cdrom /mnt/cdrom:挂载光驱 -  
mount -o remount,rw /:重新挂载根目录为可写 -  
示例:
 
 -  
 -  
umount:卸载文件系统
-  
umount /mnt:卸载 /mnt 挂载点 -  
umount -l /mnt:强制卸载(当文件被占用时) -  
umount -a:卸载所有可卸载的文件系统 -  
示例:
 
 -  
 -  
df:查看磁盘空间使用情况
-  
df -h:以人类可读格式显示磁盘空间 -  
df -T:显示文件系统类型 -  
df /dev/sda1:查看指定分区的使用情况 -  
示例:
 
 -  
 -  
du:查看目录 / 文件占用空间
-  
du -sh dir:显示目录大小(人类可读) -  
du -a:显示所有文件大小 -  
du -max-depth=1:仅显示当前目录下一级子目录大小 -  
示例:
 
 -  
 
软件包管理(RPM 系)
-  
rpm:RPM 包管理工具
-  
rpm -ivh package.rpm:安装 RPM 包 -  
rpm -qa | grep httpd:查询已安装的 httpd 相关包 -  
rpm -e package:卸载 RPM 包 -  
示例:
 
 -  
 -  
yum:高级包管理工具(CentOS)
-  
yum install httpd:安装 httpd 及依赖包 -  
yum update:更新所有已安装包 -  
yum remove httpd:卸载 httpd 包 -  
示例:
 
 -  
 -  
dnf:新一代 YUM 工具(CentOS 8+)
-  
dnf search httpd:搜索 httpd 包 -  
dnf groupinstall "Server with GUI":安装软件包组 -  
dnf clean all:清除本地包缓存 -  
示例:
 
 -  
 
二、Linux 知识点归类整理
一、系统基础
-  
Linux 特点:开放性(开源)、多用户多任务、稳定性高、网络功能强大。
-  
代表发行版:CentOS、Ubuntu、Debian、Red Hat。
 
 -  
 -  
内核版本:
-  
格式:主版本号。次版本号。修订号,次版本号偶数为稳定版(如 5.4),奇数为开发版(如 5.5)。
 -  
查看命令:
uname -r或cat /proc/version。 
 -  
 -  
POSIX 标准:定义操作系统接口规范,Linux 严格遵循,Windows 不完全兼容。
 -  
GNU 计划:目标是创建完全自由的类 UNIX 操作系统,最终与 Linux 内核结合形成 Linux 发行版。
 -  
类 UNIX 系统:包括 Linux、BSD、macOS(基于 Darwin,类 UNIX),设计理念和接口与 UNIX 兼容。
 
二、文件与目录管理
-  
文件权限:
-  
三组权限:属主(u)、属组(g)、其他用户(o),权限类型:读(r, 4)、写(w, 2)、执行(x, 1)。
 -  
默认权限掩码
umask:目录默认777 - umask,文件默认666 - umask(常见umask 022)。 
 -  
 -  
隐藏文件:以
.开头(如.bashrc),使用ls -a或ls -A显示。 -  
特殊目录:
-  
/etc:系统配置文件;/var:可变数据(日志、缓存);/home:用户主目录;/root:管理员主目录。 
 -  
 -  
文本处理工具:
-  
vim:三种模式(命令、插入、末行);less:支持前后翻页查看文件;grep:过滤文本(如grep "ERROR" log.txt)。 
 -  
 
三、用户与组管理
-  
用户账户文件:
-  
/etc/passwd:存储用户基本信息(用户名、UID、主目录等)。 -  
/etc/shadow:存储加密密码及密码策略(仅 root 可读)。 
 -  
 -  
组管理:
-  
主组(GID)和附属组,通过
gpasswd命令管理组成员,id命令查看所属组。 
 -  
 -  
权限管理:
-  
chmod:修改权限(数字法如 755,符号法如u+x);chown:修改所有者;chgrp:修改所属组。 
 -  
 
四、网络管理
-  
IP 地址分类:
-  
A 类(1-126)、B 类(128-191)、C 类(192-223),默认子网掩码分别为
255.0.0.0、255.255.0.0、255.255.255.0。 
 -  
 -  
网络配置文件:
-  
主机名:
/etc/hostname(永久)、hostnamectl(动态)。 -  
IP 配置:
/etc/sysconfig/network-scripts/ifcfg-eth0(CentOS)或netplan(Ubuntu)。 
 -  
 -  
远程连接:
-  
SSH:使用
ssh命令,支持密钥免密登录(密钥存储在~/.ssh/authorized_keys)。 -  
SCP:安全复制文件,语法与
scp命令一致。 
 -  
 -  
网络工具:
-  
连通性:
ping、traceroute;端口查看:netstat、ss;DNS 解析:nslookup、dig。 
 -  
 
五、进程与服务管理
-  
进程状态:运行态、就绪态、阻塞态(三种基本状态),僵尸态(进程终止但父进程未回收)。
 -  
守护进程:后台运行的服务进程(如
sshd、httpd),名称通常以d结尾,使用systemctl管理。 -  
systemd 管理:
-  
单元(Unit):服务单元(
.service)、目标单元(.target),命令如systemctl start/stop/enable/disable。 
 -  
 
六、存储与文件系统
-  
分区类型:
-  
MBR(最大 2TB,4 主分区)、GPT(支持大容量,无分区数限制),分区工具
fdisk(MBR)、gdisk(GPT)。 
 -  
 -  
文件系统:
-  
Linux 原生:ext4、XFS、Btrfs;兼容:FAT32(vfat)、NTFS(需驱动);光盘:ISO 9660。
 
 -  
 -  
LVM(逻辑卷管理):
-  
三层结构:物理卷(PV)、卷组(VG)、逻辑卷(LV),支持动态扩容(
lvextend)和缩容(lvreduce)。 
 -  
 -  
交换分区(Swap):物理内存不足时用作虚拟内存,创建命令
mkswap,启用 / 关闭swapon /dev/sda2、swapoff -a。 
七、软件包管理
-  
包类型:源码包(需编译,如
.tar.gz)、二进制包(直接安装,如.rpm、.deb)。 -  
依赖解决:
yum/dnf(RPM 系)、apt-get(Debian 系)自动解析依赖关系,确保软件正常安装。 -  
常用工具:
-  
RPM 系:
rpm(低级工具)、yum/dnf(高级工具);Debian 系:dpkg、apt-get。 
 -  
 
