当前位置: 首页 > news >正文

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 -rcat /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 -als -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.0255.255.0.0255.255.255.0

  • 网络配置文件

    • 主机名:/etc/hostname(永久)、hostnamectl(动态)。

    • IP 配置:/etc/sysconfig/network-scripts/ifcfg-eth0(CentOS)或 netplan(Ubuntu)。

  • 远程连接

    • SSH:使用 ssh 命令,支持密钥免密登录(密钥存储在 ~/.ssh/authorized_keys)。

    • SCP:安全复制文件,语法与 scp 命令一致。

  • 网络工具

    • 连通性:pingtraceroute;端口查看:netstatss;DNS 解析:nslookupdig

五、进程与服务管理
  • 进程状态:运行态、就绪态、阻塞态(三种基本状态),僵尸态(进程终止但父进程未回收)。

  • 守护进程:后台运行的服务进程(如 sshdhttpd),名称通常以 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/sda2swapoff -a

七、软件包管理
  • 包类型:源码包(需编译,如 .tar.gz)、二进制包(直接安装,如 .rpm.deb)。

  • 依赖解决yum/dnf(RPM 系)、apt-get(Debian 系)自动解析依赖关系,确保软件正常安装。

  • 常用工具

    • RPM 系:rpm(低级工具)、yum/dnf(高级工具);Debian 系:dpkgapt-get

相关文章:

  • Sim Studio - 构建、测试和优化智能体工作流的强大平台
  • 游戏引擎学习第273天:动画预览
  • redis数据结构-07(SADD、SREM、SMEMBERS)
  • 第二十二节:图像金字塔-拉普拉斯金字塔
  • 第一章 初识Java
  • Java并发编程常见问题与陷阱解析
  • Python多环境管理指南
  • Lora原理及实现浅析
  • OSPF的特殊区域
  • 《Effective Python》第1章 Pythonic 思维详解——始终用括号包裹单元素元组
  • 基于LLM的6G空天地一体化网络自进化安全框架
  • Typora输入文字卡顿的问题(原因过长上万字)
  • LeetCode 热题 100 543. 二叉树的直径
  • C++ 中的堆栈展开
  • RTOS优先级翻转
  • Python实用工具:pdf转doc
  • 【计算机视觉】OpenCV实战项目:ETcTI_smart_parking智能停车系统深度解析
  • 前端面试2
  • LangChain对话链:打造智能多轮对话机器人
  • AI大模型学习十八、利用Dify+deepseekR1 +本地部署Stable Diffusion搭建 AI 图片生成应用
  • 学者的“好运气”:读本尼迪克特·安德森《椰壳碗外的人生》
  • 从600名外到跻身大满贯,孙发京:走过的路成就了现在的我
  • 有关部门负责人就《新时代的中国国家安全》白皮书答记者问
  • 苹果或将于2027年推出由玻璃制成的曲面iPhone
  • 消费维权周报|上周涉手机投诉较多,涉拍照模糊、屏幕漏液等
  • 菲律宾举行中期选举