🌈个人主页:Sarapines Programmer
🔥?系列专栏:《操作系统实验室》
🔖诗赋清音:柳垂轻絮拂人衣,心随风舞梦飞。 山川湖海皆可涉,勇者征途逐星辉。
目录
Linux是一种开源的Unix-like操作系统内核,它是基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。Linux内核最初是由芬兰程序员Linus Torvalds在1991年创建的,之后成为自由软件和开源社区的一个主要项目。
以下是Linux操作系统的一些主要特点和组成部分:
内核(Kernel): Linux内核是操作系统的核心,它管理系统资源,如处理器、内存、设备驱动程序等。Linus Torvalds最初编写了Linux内核,它是Linux操作系统的基础。
Shell(命令解释器): Linux操作系统使用命令行界面(CLI),用户与系统交互通过Shell。用户可以通过输入命令执行各种任务,管理文件、进程、权限等。常见的Shell包括Bash(Bourne Again SHell)和Zsh。
文件系统: Linux支持多种文件系统,包括Ext4、XFS、Btrfs等。文件系统负责管理存储设备上的文件和目录,以及文件的权限、所有权等信息。
用户界面: 虽然Linux以CLI为主,但也支持图形用户界面(GUI)。常见的Linux桌面环境有GNOME、KDE、XFCE等,它们提供了直观的用户体验。
软件包管理系统: 大多数Linux发行版都有自己的软件包管理系统,用于安装、更新和删除软件。常见的包管理工具有APT(Debian/Ubuntu)、YUM(Red Hat/CentOS)、Pacman(Arch Linux)等。
网络功能: Linux具有强大的网络功能,支持各种网络协议和服务。它可以作为服务器运行各种网络服务,如Web服务器(Apache、Nginx)、邮件服务器(Postfix、Sendmail)、文件服务器(Samba)等。
多用户和多任务: Linux是一个多用户系统,多个用户可以同时访问同一台机器。它也是一个多任务系统,可以同时运行多个进程。
安全性: Linux以安全性而闻名,系统管理员可以设置用户权限、访问控制列表(ACLs)等来确保系统的安全性。
开源和自由: Linux是开源软件,其源代码可以被任何人查看、修改和分发。大多数Linux发行版是免费提供的,用户可以自由选择、使用和分发。
发行版(Distribution): 由于Linux内核是开源的,不同的组织和社区创建了各种Linux发行版,例如Ubuntu、Debian、Fedora、CentOS、Arch Linux等。每个发行版都有自己的特点和包管理系统。
总体而言,Linux操作系统是一个强大、灵活且可定制的操作系统,广泛应用于服务器、嵌入式系统、超级计算机等各种领域。
获取 Linux 镜?像文件:下载适用于虚拟机的 Linux 镜像文件,比如 Ubuntu 21.04,从?Ubuntu 官方网站?获取。
安装虚拟化软件:安装 VMware Workstation 或 Virtualbox,两者提供简便的虚拟机管理和配置。
创建 Linux 虚拟机:打开虚拟化软件,按照指引创建新虚拟机。设置内存为 2GB 或更多,其余选项选择默认?值。加载下载好的 Linux 系统 ISO 镜像文件,启动虚拟机完成 Linux 系统安装。
1. 日志系统
(1)查看日志文件存放目录,对其中一个日志文件进行验证。
1)journalctl
# journalctl?????? ?????? # 显示所有日志信息
# journalctl -k ?????? # 显示内核日志信息
# journalctl -F PRIORITY ? # 显示所有日志级别
# journalctl -N ?????? # 显示所有可用域
# journalctl _SYSTEMD_UNIT=crond.service # _SYSTEMD_UNIT域值为crond.service的信息
# journalctl --list-boots #显示启动记录
# journalctl -b -1 ??? # 显示最后一次启动日志
# journalctl -b 0 ???? # 显示本次启动日志
# journalctl --since "2020-12-26" --until "2020-12-30 03:00"
# journalctl -p err ?????? # 显示err级日志信息
# journalctl -xe ????? # 显示解释信息的退出
?????
??
??
(2)查看并编辑日志配置文件,添加一项自定义的日志。
1) uname
???
2) getconf
$ getconf -a ????????? #获得所配置信息
$ getconf -a | grep -i LINE_MAX #获得所有LINE_MAX
$ getconf PAGESIZE #获取系统的页面大小
$ getconf LINK_MAX / ? #得到/的LINK_MAX
$ getconf LINK_MAX /dev ?? #得到/dev的LINK_MAX
????
3) uptime
4) vmstat
5) free
6)w
7)top
8)sar
9)iostat、mpstat
Linux系统管理命令熟练运用 通过实验,我成功掌握了Linux系统管理相关命令,包括journalctl、uname、getconf、uptime、vmstat、free、w、top、sar、iostat、mpstat等。这些命令不仅帮助我了解系统运行状态,还加深了我对教材7.5.2系统管理内容的理解。
日志系统操作技能提升 在实验中,我熟悉了Linux的日志系统操作,特别是通过执行journalctl命令,按默认格式展示了systemd的全部日志信息。这进一步增强了我对系统日志的管理能力,为系统故障排查提供了更多的手段。
文本与非文本日志的处理技巧 通过实际操作,我学到了对于纯文本型日志文件,可以灵活运用vi、head、tail、less、grep、gedit等工具进行查看和编辑;而对于非文本日志文件,则需要使用专用工具。这种实践经验为我今后更高效地处理不同类型的日志提供了便利。
Linux操作系统的领域就像一片未被勘探的信息大海,引领你勇敢踏入开源系统的神秘领域。这是一场独特的学习冒险,从基本概念到系统架构,逐步揭示更深层次的操作系统原理、命令行工具和高级系统管理的奥秘。
渴望挑战Linux操作系统的学习路径和掌握系统管理技术?不妨点击下方链接,一同探讨更多Linux操作系统的奇迹吧。我们推出了引领趋势的💻 Linux专栏:《探秘Linux | 操作系统解密》,旨在深度探索Linux的实际应用和创新。🌐🔍