Ubuntu系统架构
Ubuntu基于Linux内核构建,整体架构分为用户空间和内核空间,自上而下可拆解为5层:
关键组件解析:
1.Linux内核:Ubuntu的"核心引擎",负责与硬件交互,管理CPU、内存、磁盘等资源,是系统稳定运行的基础.LTS版本通常采用"长期支持内核"(如22.04LTS默认内核5.15,支持2032年)
2、Systemd:系统初始化与服务管理工具,负责开机启动服务(如网络、数据库)、进程监控等.常用命令:
systemctl start 服务名(启动服务,如nginx)
systemctl enable 服务名(设置开机自启动)
systemctl status 服务名(查看服务状态)
3.文件系统结构:遵循Linux标准FHS(文件系统层次结构)核心目录功能如下:
Linux目录结构:
/:根目录,所有文件的起点
/boot:boot配置文件,内核和其它启动时所需的文件
/etc:系统配置的有关文件
/home:普通用户目录(如/home/ubuntu)
/mnt:硬盘上手动挂载的文件系统
/media:自动挂载(加载)的硬盘分区以及类似CD、数码相机等可移动的介质.
/cdrom:挂载光盘
/opt:存放一些可选程序,如某个程序的测试版本,安装到该目录的程序的所有数据库文件都存在同一目录下
/root:系统管理员的目录,对于系统来说,系统管理员好比上帝,他可以对系统做任何操作,比如删除你的文件,一般情况下不要使用root用户
/bin:存放常用的程序文件(命令文件)
/sbin:系统管理命令,这里存放的是系统管理员使用的管理程序
/tmp:临时目录,存放临时文件,系统会定期清理该目录下的文件
/usr:在这个目录下你可以找到哪些不适合放在/bin或etc目录下的额外的工具.比如游戏或打印工具.(/user目录包含了许多子目录:/usr/bin目录用于存放程序; /usr/share用于存放一些共享的数据,比如音乐文件或者图标等等; /usr/lib目录用于存放那些不能直接运行的,但却是需要程序运行所必须得一些函数文件 /usr/local:用户用来存放用户编译安装软件的存放目录;一般是通过源码包安装的软件,如果没有特别指定的安装目录,一般是安装在这个目录中)
/usr/bin:非必要可执行文件(在单用户模式中不需要)面向所有用户
/usr/include/ 标准包含文件
/usr/lib/ /usr/bin/和/usr/sbin/中二进制文件的库
/usr/sbin/ 非必要的系统二进制文件.例如:大量网络服务的守护进程.
/usr/share/ 体系结构无关(共享)数据
/usr/src/ 源代码,例如:内核源代码及其头文件
/usr/X11R6/X Window系统版本11,Release 6
/usr/local/本地数据的第三层次,具体到本台主机.通常而言有进一步的子目录,例如: bin/、 lib/、 share/
/var:该目录存放那些经常被修改的文件,包括日志或数据文件
/var/cache/ 应用程序缓存数据.这些数据是在本地生成的一个耗时的I/O或计算结果.应用程序必须再生或恢复数据.缓存的文件可以删除而不导致数据丢失.
/var/lib/状态信息.由程序在运行维护的持久性数据.例如数据库,包装的系统元数据等.
/var/lock/锁文件,一类跟踪当前输液中资源的文件
/var/log/日志文件,包含大量日志文件
/var/mail/ 用户的电子邮箱
/var/run/ 自最后一次启动以来运行中的系统的信息.例如:当前登录的用户和运行中的守护进程.
/var/spool/等待处理的任务的脱机文件,例如:打印队列和未读的邮件
/var/spool/mail/用户的邮箱
/var/tmp/在系统重启过程中可以保留的临时文件
/lib:目录是根文件系统上的程序所需的共享库,存放了根文件系统程序运行所需的共享文件.这些文件包含了可被许多程序共享的代码,以避免每个程序都包含有相同的子程序的副本,故可以使得可执行文件变得更小,节省空间;/lib32或/lib64同上^^
/lost+found:该目录在大多数情况下都是空的.但当突然停电或者非正常关机后,有些文件就临时存在
/dev:存放设备文件
/run:代替/nar/run目录
/proc:虚拟文件系统,可以在该目录下获取系统信息,这些信息是在内存中由系统自己产生的该目录的内容不在硬盘上而在内存里; /sys 同上^
什么是分区
分区是一个由从整个磁盘分配的空间组成的逻辑块.依赖于系统在安装时是如何配置的,在磁盘上可能有一个或者多个分区,在某些情况下,也可能可以修改布局,分区数目,但这通常被认为是专家级的功能
常用命令
date: 用来显示或设定系统的日期与时间
date 显示当前日期;
date +"%Y%m%d %H%M%S" ->20251607 223901
date +"%Y-%m-%d %H:%M:%S" -> 2025-16-07 22:39:01
date -s //设置当前时间,只有root权限才能设置,其他只能查看.
date -s 20251105 //这样会把具体时间设置成2025年 11月 05日 星期三 00:00:00 CST
date -s 12:23:23 //设置具体时间,不会对日期做更改
date -s "12:12:23 2025-11-11" //这样可以设置成全部时间
注意: 重新设置时间后需要将系统时间写入硬件使用该命令hwclock -w
日期格式化
%Y year
%m month(01..12)
%d day of month(e.g,01)
%H hour(00 ...23)
%I hour(10 ..12)
%M minute(00 ..59)
%S second (00 ..60)
cal:显示一个日历
cal //实现当前月份的日历
cal -y //显示当年的日历
cal 2016 //显示指定年份的日历
设置时区
# 查看当前时区和可用时区
timedatectl status
timedatectl list-timezones
# 设置时区(需要 root 权限)
sudo timedatectl set-timezone Asia/Shanghai
# 设置亚洲其他时区示例
sudo timedatectl set-timezone Asia/Tokyo
sudo timedatectl set-timezone Asia/Singapore
sudo timedatectl set-timezone Europe/London
sudo timedatectl set-timezone America/New_York
简单快捷键
# 编辑相关
Ctrl+a :把光标移动到命令行最开始的位置
Ctrl+e :把光标移动到命令行末尾
Ctrl+U - 删除从光标到行首的内容
Ctrl+K - 删除从光标到行尾的内容
Ctrl+W - 删除前一个单词
Ctrl+Y - 粘贴刚才删除的内容
# 历史相关
Ctrl+R - 反向搜索命令历史
Ctrl+P - 上一条命令(↑)
Ctrl+N - 下一条命令(↓)
进程控制
Ctrl+C - 终止当前命令
Ctrl+D - 退出终端或发送 EOF
Ctrl+Z - 暂停当前进程(放到后台)
Tab:命令自动补全-自动补全当前的命令行.
Ctrl+l:清屏
注销/重启/关机
logout :注销
reboot :重启系统 需要管理员权限
shutdown :关机 需要管理员权限
shutdown -r now 现在立即重启
shutdown -r +5 5分钟后重启
shutdown -r 12:12 在12:12时将重启计算机
shutdown -h now 现在立即关机
shutdown -h +3 "The syatem will shutdown after 3 minutes" 提示使用者将在3分钟后关机
shutdown -h +5 5分钟后关机
shutdown -h 12:00 12点关机
shutdown -c 取消关机操作
gedit 是 Linux 中一个图形化的文本编辑器 是 Linux 桌面用户最常用的文本编辑器之一.
基本介绍
gedit = GNOME Editor
-是 GNOME 桌面环境的官方文本编辑器
-简单易用,功能丰富
-图形化界面,类似于 Windows 的记事本或 macOS 的 TextEdit
基本用法
gedit :打开 gedit(无文件)
gedit filename.txt: 打开特定文件
gedit file1.txt file2.txt file3.cpp:同时打开多个文件
gedit filename.txt &:在后台打开(不阻塞终端)
gedit new_file.txt:新建文件
gedit /etc/hosts编辑现有文件
sudo gedit /etc/fstab编辑需要权限的系统文件(需要先获取权限)
支持多种编程语言的语法高亮
gedit script.py # Python 语法高亮
gedit program.c # C 语言语法高亮
gedit index.html # HTML 语法高亮
gedit style.css # CSS 语法高亮
图形界面功能 gedit 提供丰富的图形界面功能:
**菜单栏**:文件、编辑、查看、搜索、工具、帮助
**工具栏**:新建、打开、保存、打印等快捷按钮
**显示行号**:便于代码调试
**语法高亮**:支持多种编程语言
**括号匹配**:帮助编写代码
**搜索替换**:强大的文本搜索功能
**插件系统**:可扩展功能
实际应用示例
gedit myscript.sh:快速创建脚本文件
sudo gedit /etc/network/interfaces:编辑配置文件
gedit /var/log/syslog:查看日志文件(只读模式建议用 less/cat)
gedit hello.py:编写代码
与其他编辑器的对比
| 编辑器 | 类型 | 特点 |
|---|---|---|
gedit | 图形化 | 用户友好,功能丰富 |
vim | 终端 | 功能强大,学习曲线陡 |
nano | 终端 | 简单易用,适合新手 |
emacs | 终端/图形 | 高度可定制,功能全面 |
注意事项
1. 需要图形界面
gedit 只能在有 GUI 的环境中运行
在纯命令行服务器中无法使用
2. 权限问题
编辑系统文件时需要 sudo
sudo gedit /etc/hostname
3. 远程服务器使用
如果通过 SSH 连接远程服务器,需要 X11 转发
ssh -X user@server
gedit filename.txt
替代方案
如果系统中没有 gedit 或者在没有图形界面的环境中:
# 终端文本编辑器
nano filename.txt # 简单易用
vim filename.txt # 功能强大
emacs filename.txt # 高度可定制
# 快速查看文件
cat filename.txt # 显示整个文件
less filename.txt # 分页查看
more filename.txt # 分页查看(基本功能)