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
。
-