Linux系统操作与自动化运维:Shell、文件系统与服务

需积分: 9 1 下载量 104 浏览量 更新于2024-07-03 收藏 782KB DOCX 举报
"这篇Linux笔记主要涵盖了Linux操作系统中的文件系统、shell操作以及一些常用服务的安装,如tomcat架构、SMB、zabbix监控、ansible自动化运维工具、JumpServer、LINUX虚拟化技术和Gitlab、Jenkins等。" 在Linux操作系统中,文件系统是一个至关重要的组成部分,它为用户提供了一个可视化的界面来管理和访问存储在磁盘上的信息。文件在本质上是一系列0和1的字节序列,Linux将这种抽象机制用于长久存储和读取信息。Unix I/O系统将所有输入/输出设备都抽象为文件,分为input(写)和output(读)操作。 文件描述符是Linux内核与应用程序交互的关键概念。当程序请求打开一个文件时,内核会返回一个唯一的非负整数,即文件描述符,后续的所有读写操作都将通过这个描述符进行。每个新创建的Linux shell进程都有三个预定义的文件描述符:标准输入(stdin,描述符0)、标准输出(stdout,描述符1)和标准错误(stderr,描述符2)。 在Linux下,所有事物都被视为文件,包括目录、设备和特殊文件。目录是一种特殊类型的文件,用于组织其他文件。例如,根目录(/)是层次结构的起点,其中包含"."和".."这两个特殊目录,分别代表当前目录和父目录。文件类型包括普通文件(如文本文件和二进制文件)、目录、套接字、管道、字符链接和块设备等。 Linux中的路径用于定位文件和目录。绝对路径从根目录开始,而相对路径则相对于当前工作目录。FHS(Filesystem Hierarchy Standard)定义了Linux系统的目录结构和规范,例如,/boot目录用于存放启动所需的文件,/home是所有普通用户的主目录,而/bin存放着系统必备的可执行文件。 此外,笔记还提到了一些服务的安装,如tomcat架构适用于Java应用服务器,SMB(Server Message Block)用于文件共享,zabbix监控工具用于系统和网络监控,ansible则是一种自动化运维工具,JumpServer通常用于堡垒机功能,LINUX虚拟化技术如KVM或Xen用于运行多个独立的虚拟机。Gitlab是代码版本控制平台,Jenkins则是持续集成/持续部署工具,它们在软件开发和运维中发挥着重要作用。