- 博客(22)
- 收藏
- 关注
原创 Shell编程之免交互
expect是建立在tcl语言基础上的一个工具,它可以让一些需要交互的任务自动化地完成,相当于模拟了用户和命令行的交互操作。expect是用来进行自动化控制和测试的工具。主要解决shell脚本中不可交互的问题。对于大规模的Linux运维很有帮助。在Linux运维和开发中,经常需要远程登录服务器进行操作,登录的过程是一个交互的过程,可能会需要输入yes/nopassword等信息。为了模拟这种输入,可以使用expect脚本。
2024-06-27 17:55:30 730
原创 Shell编程之正则表达式与文本处理器
通常情况下会使用基础正则表达式就已经足够了,但有时为了简化整个指令,需要使用范围更广的扩展正则表达式。例如,使用基础正则表达式查询除文件中空白行与行首为“#”之外的行(通常用于查看生效的配置文件),执行“grep -v‘^$’test.txt | grep -v‘^#’”即可实现。这里需要使用管道命令来搜索两次。如果使用扩展正则表达式,可以简化为“egrep-v‘^$|^#’test.txt”,其中,单引号内的管道符号表示或者(or)。此外,
2024-06-25 21:59:37 717
原创 Shell编程之条件语句-02
要使 Shell脚本程序具备一定的智能,面临的第一个问题就是如何区分不同的情况以确定执行何种操作。例如,当磁盘使用率超过 95%时,发送告警信息;当备份目录不存在时,能够自动创建;当源码编译程序时,若配置失败则不再继续安装等。Shell 环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为 0 时 表示成功,否则(非 0 值)表示失败或异常。使用专门的测试工具——test 命令可以对特定条件进行测试,并根据返回值来判断条件是否成立(返回值为 0 表示条件成立。
2024-06-21 17:57:54 760
原创 Shell编程规范与变量-01
Bash 中的变量操作相对比较简单,不像其他高级编程语言(如C/C++Java等)那 么复杂。在定义一个新的变量时,一般不需要提前进行声明,而是直接指定变量名称并赋 给初始值(内容)即可。定义变量的基本格式为变量名变量值等号两边没有空格。变量名称需以字母或下 划线开头,名称中不要包含特殊字符(如+?等例如,若要定 义一个名为“Product”的变量(值为Python)和一个名为“Version”的变量(值为2.7.13), 可以执行以下操作。
2024-06-21 09:10:02 1813
原创 Linux-PXE批量安装
在大规模的 Linux 应用环境中,如 Web 群集、分布式计算等,服务器往往并不配备光驱设备,在这种情况下,如何为数十乃至上百台服务器裸机快速安装系统呢?PXE 是由 Intel 公司开发的网络引导技术,工作在 Client/Server 模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。本章将学习基于 PXE(Preboot eXecution Environment,预启动执行环境)技术的网络装机方法,并结合 Kickstart 配置实现无人值守自动安装。
2024-06-19 17:18:53 737
原创 Linux-远程访问及控制
当我们远程建立连接时,需要我们建立一个普通用户,以普通用户的身份建立连接,再切换到root用户,是为了防止有黑客在外面建立连接时截取我们的数据流量,从而破译出root用户密码,若是以普通用户身份建立连接时流量被截取,但普通用户没有root用户的相关权限,提高安全性。,必要时建议修改此端口号,并指定监听服务的具体IP 地址,以提高在网络中的隐蔽性。ssh远程登录一个主机,是经常要做的,尤其是linux的维护,经常是用xshell或者是远程的终端工具去登录,登录的方法就是ssh加上对端主机,顶多加个用户。
2024-06-17 21:27:39 2378
原创 Linux-DNS分离解析、多域名解析和子域
在下面的图片中外网用户通过DNS服务器域名解析得到外网的公有IP地址;内网用户通过DNS服务器域名解析得到内网的私有IP 地址(本次实验想要得到的结果);一个IP可以对应多个域名;一个域名可以对应多个IP。 环境:Windows11主机用作外网主机、Linux101主机用作DNS服务器、Linux103主机用作内网主机 ①101主机 ②win11主机 ③101主机:为新添加的网卡配置参数,实现与win11外网主机的连接①安装bind的服务软件包②配置内网的域名服务 在此文件的最后进行区域配置,
2024-06-15 17:27:09 746
原创 Linux-DNS域名解析服务01
实际上,每一台 DNS 服务器都只负责管理一个有限范围(一个或几个域)内的主机域名和 IP 地址的对应关系,这些特定的 DNS 域或 IP 地址段称为 zone(区域)。根据地址解析的方向不同,DNS 区域相应地分为正向区域(包含域名到 IP 地址的解析记录)和反向区域(包含 IP 地址到域名的解析记录)。根据所管理的区域地址数据的来源不同,DNS 系统可以分为不同的类型。在同一台 DNS服务器中,相对于不同的区域来说,也拥有不同的身份。常见的几种类型如下:①缓存域名服务器。
2024-06-13 21:38:16 807
原创 Linux-FTP工作原理
工作在TCP/IP协议簇的,其传输协议是TCP协议提高文件传输的共享性和可靠性,使用C/S模式的工作方式连接时同时处理服务器和客户端的连接命令和数据传输,FTp将命令和数据分开传输,提高传输效率。系统里哪些账号能够登录,哪些账号不能登录,都是有一个规则的,这个规则是在一个配置文件当中 vim /etc/vsftpd/ftpusers。xinted超级服务,代替ftp这一类的服务,监听其对对应的端口,如果有人访问这个端口,立即唤醒ftp这个程序。客户端随机端口连接服务器随机端口(可以指定一个随机的范围)
2024-06-12 17:49:58 670 2
原创 Linux-DHCP原理与配置
例如,若要 DHCP 服务器为 192.168.4.0/24 网段提供服务,用于自动分配的 IP 地址范围为 192.168.4.128~192.168.4.254,为客户机指定默认网关地址为 192.168.4.1,则可以修改 dhcpd.conf 配置文件,参考以下内容调整 subnet 网段声明。host 声明用于设置单个主机的网络属性,通常用于为网络打印机或个别服务器分配固定的 IP 地址(保留地址),这些主机的共同特点是要求每次获取的 IP 地址相同,以确保服务的稳定性。
2024-06-11 19:33:41 1153
原创 Linux-网络设置
ens33”中的“en”是“EtherNet”的缩写,表示网卡类型为以太网,“s”表示热插拔插槽上的设备(hot-plug Slot),数字“33”表示插槽编号。例如,执行以下操作可以显示TCP 协议下已经建立的连接,“Local Address:Port”表示本地监听的 IP 和端口,“PeerAddress:Port”表示远端连接的 IP 和端口,具体 ss 的操作命令如下。”操作可以添加路由记录,结合“-net”选项指定目标网段的地址,结合“gw” 选项指定下一跳路由器的IP 地址。
2024-06-10 20:51:27 564
原创 Linux-文件系统与日志分析
这样做的原因很简单,因为将文件删除后,仅仅是将文件的 inode 节点中的扇区指针清零,实际文件还存储在磁盘上,如果磁盘继续以读写模式挂载,这些已删除的文件的数据块就可能被操作系统重新分配出去,在这些数据库被新的数据覆盖后,这些数据就真的丢失了,恢复工具也回天无力。1-9 表示增量备份。一部分程序共用一个日志文件,一部分程序使用单个日志文件,而有些大型服务器程序由于日志文件不止一个,所以会在/var/log/目录中建立相应的子目录来存放日志文件,这样既保证了日志文件目录的结构清晰,又可以快速定位日志文件。
2024-06-08 18:26:36 833
原创 Linux——系统安全及应用
只要获得用户的命令历史文件,该用户的命令操作过程将会一览无余,如果曾经在命令行输入明文的密码,则无意之中服务器的安全壁垒又多了一个缺口。John the Ripper 是一款开源的密码破解工具,能够在已知密文的情况下快速分析出明文的密码字串,支持 DES、MD5 等多种加密算法,而且允许使用密码字典(包含各种密码组合的列表文件)来进行暴力破解。因此,“什么样的密码才足够强壮”取决于用户的承受能力,有人认为超过 72小时仍无法破解的密码才算安全,也可能有人认为至少暴力分析一个月仍无法破解的密码才足够安全。
2024-06-05 20:06:17 2058
原创 Linux-进程和任务计划管理
缓冲区(buffer,内存向硬盘写入数据时即保存所写内容时先将数据放在缓冲区,当数据内容达到一定数量后一起写入到硬盘)与缓存区(cache,硬盘中的数据最终要给CPU使用,把硬盘中的数据先放在缓存区中在交给CPU处理,能提高CPU对数据的处理效率)的大小,此过程CPU的整个结构:磁盘-->cache-->cpu(三级缓存、二级缓存)-->寄存器(最大空间64位)-->运算器,所以cpu是64位的。在 jobs 命令的输出结果中,每一行记录对应一个后台进程的状态信息,行首的数字表示该进程在后台的任务编号。
2024-06-04 20:00:05 716
原创 Linux-引导过程与服务控制
注意:执行“dd if=/dev/zero of=/dev/sda bs=446 count=1”命令可以模拟出对 MBR 扇区中 GRUB 引导程序的破坏(注意先做好备份),但并不会破坏分区表(实际上分区表保存在MBR 扇区中的第 447~510 字节中,MBR 总共 512 字节,前 446 字节是主引导记录,从第447 字节开始后的 64 字节,每 16 字节为一组,是硬盘分区表)。上述内容中的运行级别切换均为临时切换,若要永久切换运行级别,可通过 ln(链接)命令指定当前系统的默认运行级别。
2024-06-02 21:30:38 1014
原创 Linux-账号权限和管理
Linux 操作系统中的每一个用户账号都有一个数字形式的身份标记,称为 UID(UserIDentity,用户标识号),UID 是区分用户的基本依据,原则上每个用户的 UID 号应该是唯一的。& 在 passwd 文件开头的部分,包括超级用户 root 及各程序用户的账号信息,系统中新增加的用户账号信息将保存到 passwd 文件的末尾。③若没有明确指定用户所属的组,则自动创建与该用户账号同名的基本组账号,组账号的记录信息将保存到/etc/group 和/etc/gshadow 文件中。
2024-06-02 12:06:19 954
原创 Linux-机架式服务器
其次,Serial ATA 的起点更高、发展潜力更大,Serial ATA 1.0 定义的数据传输率为150MB/s,这比并行 ATA(即 ATA/133)所能达到 133MB/s 的最高数据传输率还高,而在Serial ATA 2.0 的数据传输率达到 300MB/s,SATA Revision 3.0 可达到 750 MB/s 的最高数据传输率。它是 RAID 卡电路板上的一块存储芯片,与硬盘盘片相比,具有极快的存取速度,实际上就是相对低速的硬盘盘片与相对高速的外部设备(例如内存)之间的缓冲器。
2024-05-31 23:47:34 663
原创 Linux中的LVM与磁盘配额
为了避免在服务器中出现类似磁盘空间不足的问题,可以启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和持续可用性。dd 命令是一个设备转换和复制命令,分别使用“if=”选项指定输入设备(或文件)、“of=”选项指定输出设备(或文件)、“bs=” 选项指定读取数据块的大小、“count=”指定读取数据块的数量。该命令的第一个参数为需要扩展容量的卷组名称,其后为需要添加到该卷组中的各物理卷。
2024-05-29 20:27:00 889
原创 Linux磁盘管理与文件系统
创建文件系统的过程即格式化分区的过程,在 Linux 操作系统中使用 mkfsMakeFilesystem,创建文件系统)命令工具可以将分区格式化成 XFS、EXT4、FAT 等不同类型的文件系统,而 Swap 交换分区是使用 mkswap 命令来进行格式化的。& 在 Linux 服务器中,当现有硬盘的分区规划不能满足要求(例如,根分区的剩余空间过少,无法继续安装新的系统程序)时,就需要对硬盘中的分区进行重新规划和调整,有时候还需要添加新的硬盘设备来扩展存储空间。 Id:分区对应的系统 ID 号。
2024-05-28 19:02:25 853
原创 Linux安装及管理程序
安装较新版本的应用程序时:大多数的 Linux 发行版都提供了相当丰富的应用程序,而这些程序的版本往往滞后于该软件的最新源代码版本,因为大多数的开源软件总是以源代码的形式最先发布,之后才会逐渐出现.rpm、.deb 等二进制封装的版本。Ø --force:强制安装某个软件包,当需要替换已安装的软件包及文件,或者安装一个比当前使用的软件版本更旧的软件时,可以使用此选项。& 在编译应用程序之前,需要进入源代码目录,通过目录下的脚本检查安装环境,并且对软件的安装目录、功能选择等参数进行预先配置。
2024-05-24 22:40:18 964
原创 Linux目录和文件管理
例如,若要统计/etc/目录下共包含多少个扩展名为“.conf”的文件,可以先通过“find /etc -name "*.conf"”命令找出符合条件的文件位置,由于 find 命令的输出结果也是每行一个文件记录,因此只需结合管道符号执行“wc -l”操作即可得出符合条件的文件数量。& grep 命令用于在文件中查找并显示包含指定字符串的行,可以直接指定关键字符串作为查找条件,也可以使用复杂的条件表达式(例如,“^word”表示以 word 开头,“word$”表示以 word 结尾,“^$”表示空行)。
2024-05-22 22:42:24 879
原创 Linux常用命令
通常情况下,深蓝色表示目录,白色表示一般文件,颜 色,表示可执行的文件,黄色表示设备文件,红色表示压缩文件。并且,在 Linux的命令环境中,无论是命令名还是文件名,对英文字符的处理是区分大小写的,操作时需要。注:在实际使用 Linux 命令行的过程中,“选项”和“参数”的称谓经常混淆,甚至。(命令对应的是一个程序,每一个命令都有一个命令包放在目录下,如bin/sbin):命令参数是命令字的处理对象,通常情况下命令参数可以是文件名、目录(路径)名。
2024-05-21 20:58:56 927
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人