
linux运维
文章平均质量分 59
linux运维
lambda-小张
代码人代码魂
展开
-
shell脚本的发送消息
需求:实现一个向某个用户快速发送消息的脚本,输入用户名作为第一个参数,后面直 接跟要发送的消息。脚本需要检测用户是否登录在系统中、是否打开消息功能,以及当前发 送消息是否为空。我们可以利用 Linux 自带的 mesg 和 write 工具,向其它用户发送消息。开启和关闭消息功能命令。原创 2022-08-21 00:55:24 · 746 阅读 · 0 评论 -
shell脚本的文本处理工具
3.只显示/etc/passwd 的第一列和第七列,以逗号分割,且在所有行前面添加列名 user, shell 在最后一行添加"dahaige,/bin/zuishuai"。cut 的工作就是“剪”,具体的说就是在文件中负责剪切数据用的。2.搜索 passwd 文件以 root 关键字开头的所有行,并输出该行的第 1 列和第 7 列, 中间以“,”号分割。一个强大的文本分析工具,把文件逐行的读入,以空格为默认分隔符将每行切片,切开 的部分再进行分析处理。(4)在 /etc/passwd 文件中切割出。原创 2022-08-21 00:18:28 · 889 阅读 · 0 评论 -
shell脚本的 正则表达式
正则表达式使用单个字符串来描述、匹配一系列符合某个语法规则的字符串。在很多文 本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。在 Linux 中,grep, sed,awk 等文本处理工具都支持通过正则表达式进行模式匹配。原创 2022-08-20 21:03:22 · 316 阅读 · 0 评论 -
shell脚本的归档文件
需求:实现一个每天对指定目录归档备份的脚本,输入一个目录名称(末尾不带/), 将目录下所有文件按天归档保存,并将归档日期附加在归档文件名上,放在/root/archive 下。后面可以加上-c 选项表示归档,加上-z 选项表示同时进行压缩,得到的文件后缀名 为.tar.gz。实际生产应用中,往往需要对重要数据进行归档备份。定时装置,每天凌晨2点自动运行这个脚本。这里用到了归档命令:tar。原创 2022-08-20 19:58:48 · 430 阅读 · 0 评论 -
shell脚本的函数
1)基本语法{]}2)经验技巧(1)必须在调用函数地方之前,先声明函数,shell 脚本是逐行运行。不会像其它语言一 样先编译。(2)函数返回值,只能通过$?系统变量获得,可以显示加:return 返回,如果不加,将 以最后一条命令运行结果,作为返回值。return 后跟数值 n(0-255)3)案例实操计算两个输入参数的和。第一种方法,相加的超过255会报错#!/bin/bashecho "和:"$s}read -p "请输入第一个整数:" a。原创 2022-08-20 15:47:58 · 702 阅读 · 0 评论 -
shell脚本的read 读取控制台输入
t:指定读取值时等待的时间(秒)如果-t 不加表示一直等待。提示 10 秒内,读取控制台输入的姓名。read (选项) (参数)-p:指定读取值时的提示符;变量:指定读取值的变量名。原创 2022-08-20 14:35:08 · 898 阅读 · 0 评论 -
shell脚本的流程控制
当它们被双引号“”包含时,$*会将所有的参数作为一个整体,以“$1 $2 …$@会将各个参数分开,以“$1” “$2”…$*和$@都表示传递给函数或脚本的所有参数,不被双引号“”包含时,都以$1 $2 …(1)case 行尾必须为单词“in”,每一个模式匹配必须以右括号“)”结束。(3)最后的“*)”表示默认模式,相当于 java 中的 default。加双引号,两种输出结区别,一种有换行,一种没有换行。*) 如果变量的值都不是以上的值,则执行此程序。如果变量的值等于值 1,则执行程序 1。原创 2022-08-20 14:22:52 · 1069 阅读 · 0 评论 -
shell脚本的条件判断
多条件判断(&& 表示前一条命令执行成功时,才执行后一条命令,|| 表示上一 条命令执行失败后,才执行下一条命令)注意,比如C语言里面真值判断,1是true,0是false,而shell使用命令返回的结果,正好相反。(2)[ condition ](注意 condition 前后要有空格)-d 文件存在并且是一个目录(directory)-f 文件存在并且是一个常规的文件(file)-x 有执行的权限(execute)-w 有写的权限(write)-r 有读的权限(read)-eq 等于(equal)原创 2022-08-19 22:16:27 · 1028 阅读 · 0 评论 -
shell脚本的运算符
shell语言偏底层,不是作为高级语言设计的。利用expr做运算,实际转换成参数。计算(2+3)* 4 的值。乘法运算,要用转义符。把表达式赋值给a方法。原创 2022-08-19 21:16:17 · 194 阅读 · 0 评论 -
shell脚本的变量
1.常用系统变量 $HOME、$PWD、$SHELL、$USER查看系统变量的值/root查看全局环境变量 命令envTERM=xterm查看系统全局变量 命令printenv查看局部变量用printenv命令 直接打名称root命令env和printenv只是打印当前环境变量信息的命令,显示当前 Shell 中所有变量:set基本语法(1)定义变量:变量名=变量值,注意,=号前后不能有空格(2)撤销变量:unset 变量名(3)声明静态变量:readonly 变量,注意:不能 unset。......原创 2022-08-18 22:47:50 · 610 阅读 · 0 评论 -
第一个 Shell 脚本
第三种,也就是使用在脚本路径前加“.”或者 source 的方式,可以使脚本内容在当前 shell 里执行,而无需打开子 shell!注意:第一种执行方法,本质是 bash 解析器帮你执行脚本,所以脚本本身不需要执行 权限。开子 shell 与不开子 shell 的区别就在于,环境变量的继承关系,如在子 shell 中设置的 当前变量,父 shell 是不可见的。两种方式都是在当前 shell 中打开一个子 shell 来执行脚本内容,当脚本内容结束,则 子 shell 关闭,回到父 shell 中。...原创 2022-08-18 21:35:59 · 374 阅读 · 0 评论 -
Shell Script注释和debug
-x选项显示shell对脚本命令的解释结果,即shell解释器扩展命令字符串的结果。-v :再运行sccript前,先将整个scripts 的内容输出到屏幕上;-x :将执行到的script 内容显示到屏幕上,这是很有用的参数!-n :不要运行script,仅查询语法的问题;-n :不要运行script,仅查询语法的问题;–语法:#-比如:# 这是一行注释。–shell扩展:变量参数扩展。•shell扩展:变量参数扩展。–shell扩展:花括号扩展。•shell扩展:花括号扩展。...原创 2022-08-18 20:59:49 · 364 阅读 · 0 评论 -
Shell Script概述
•Shell script是利用shell的功能所写的一个程序,这个程序是使用纯文本文件。•Windows/Dos下的批处理相似。•就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件。•脚本中包含:–变量–Shell 语法–命令1.Linux 提供的 Shell 解析器有/bin/sh/bin/bash/bin/dash2.bash 和 sh 的关系3.Centos 默认的解析器是 bash/bin/bash。...原创 2022-08-17 19:38:19 · 224 阅读 · 0 评论 -
Linux远程控制
−主程序:/usr/sbin/sshd、/usr/bin/ssh。−scp[-r][-Pport]用户名@服务器:路径本地路径。−scp[-r][-Pport]本地路径用户名@服务器:路径。−配置文件:/etc/ssh/sshd_config。−-X:启用X转发,在本机运行对方的图形程序。−ssh[选项]...-l用户名服务器。−ssh[选项]...用户名@服务器。确认配置、启动服务−Port22。−ssh[选项]...服务器。−-p端口:连接到指定的端口。−默认端口:TCP22。−服务名称:sshd。..原创 2022-08-17 14:38:04 · 1579 阅读 · 0 评论 -
网络地址的配置
暂时调整,以命令行方式为主−简单快速,可直接更改运行中的地址参数−适合在调试网络的过程中使用−系统重启以后,所做的修改将会丢失以实际网络接口承载通信流量,但采用不同的逻辑接口名称−便于为一个网卡设置多个不同IP地址−物理接口:序号,例如eth0:0、eth0:1。...原创 2022-08-16 00:21:14 · 2361 阅读 · 0 评论 -
查看及测试网络
过滤netstat统计列表,检查ESTABLISHED。−结合ping和traceroute两者的功能。−格式:host 目标主机[DNS服务器]-t、-u:查看TCP连接/UDP连接。−格式:ifconfig[网络接口]PPPN:ADSL宽带或VPN连接。−选项-c 包个数、-s 包大小。ping 命令,测网络连接。traceroute命令。mtr工具,动态诊断工具。hostname 命令。-a:显示所有活动连接。ethN:以太网连接。−-n:显示数字地址。−-a:列出所有条目。−-n:显示数字地址。..原创 2022-08-16 00:23:59 · 322 阅读 · 0 评论 -
系统故障排查
无法正常进系统时,用来执行修复操作的应急环境−提供独立的Shell环境,拥有root权限−能够自动检测并挂载故障系统(/mnt/sysimage/)原创 2022-08-16 00:23:49 · 537 阅读 · 0 评论 -
logrotate日志轮转
日志越来越多、空间不够?手动删除太折腾?怎样自动清除过期的日志记录?原创 2022-08-16 00:23:41 · 426 阅读 · 0 评论 -
日志分析及存储
系统和程序的“日记本”−记录系统、程序运行中发生的各种事件−通过查看日志,了解及排除故障−信息安全控制的“依据”原创 2022-08-16 00:23:31 · 1006 阅读 · 0 评论 -
linux重定向操作
重新指定命令执行时I/O设备的方向−不使用默认的键盘、显示器−改用指定的文本文件。原创 2022-08-16 00:23:19 · 477 阅读 · 0 评论 -
命令历史应用
−记录的时间按yyyy-mm-ddHH:MM:SS 格式显示。−比如%F、%T、%Y、%m、%d、%H、%M、%S 等。str:执行最近一次以str开头的历史命令。时间标记字串中可以使用date命令的%变量。−保存5000条历史命令,并记录执行时间。78:执行历史命令记录中的第78条。−HISTSIZE=允许记录的命令条数。标记的时间信息会显示在每一条历史命令前。−包括正确的、错误的操作都会保存下来。−默认保存最近1000条命令操作。历史命令相关的两个环境变量。用户执行过的命令记录。......原创 2022-08-16 00:23:03 · 133 阅读 · 0 评论 -
linux软连接与硬连接
−尝试为/boot/ 下的内核文件建立硬连接,存为/root/vmhard。−定义文件的元数据(名称、大小、存放位置、权限、修改时间、......)−为f1.txt建立软连接f1-soft.txt,对比两文件属性、内容。−为f1.txt建立硬连接f1-hard.txt,对比两文件属性、内容。−为/boot/ 下的内核文件建立软连接,存为/root/vmsoft。−尝试为目录/opt/ 建立硬连接/opthard。−为目录/opt/ 建立软连接/optsoft。−查看软连接f1-soft.txt的内容。...原创 2022-08-16 00:22:46 · 224 阅读 · 0 评论 -
YUM仓库的档案控制
−3. 使用createrepo生成仓库定义数据createrepo/path/to/rpms。−primary.xml.gz //每个包的版本/用途/依赖等信息。−repomd.xml //提供*.xml.gz下载及校验信息。−filelists.xml.gz //每个软件包的文件清单。−other.xml.gz //每个包的更新日志等信息。−2. 将搜集的*.rpm 包文件集中到自定义文件夹。−自动检索/分析rpm包文件,并生成相关数据文件。−5. 配置客户机,使用上述YUM仓库。......原创 2022-08-16 00:22:28 · 133 阅读 · 0 评论 -
linux系统时钟控制
−显示格式中可以添加字符串,使用特定%变量(若用在crontab记录中应使用\%)−用法2:date -s "YYYY-mm-ddHH:MM"−用法1:date mmddHHMMYYYY。以系统时钟为标准,重设主板BIOS的硬件时钟。以主板BIOS时钟为标准,重设系统时钟。−或者hwclock--hctosys。−或者hwclock--systohc。−格式:date +"显示格式"−命令替换机制:$(命令行)在文件名中嵌入日期时间信息。date查看日期时间。date设置日期时间。......原创 2022-08-16 00:21:50 · 185 阅读 · 0 评论 -
Linux综合技巧
−列出/var/log 目录下最陈旧的3个文档的属性。−-t:按文档的修改时间降序排列,最新的文件排在前。−在vim中打开Windows文件,换行显示为^M。−列出/boot/ 目录下最大的3个文档的属性。−当文件行数较多时,方便在末尾看到开头行的内容。−以行为单位反序,与cat命令的显示效果相反。−以字符为单位反序,与echo命令的效果相反。−用在脚本处理字符串时,定位倒数的第几个字符。−-X:按文档的扩展名字符顺序,升序排列。−默认按文件名的字母顺序,升序排列。−-S:按文档大小降序排列。...原创 2022-08-15 20:10:29 · 337 阅读 · 0 评论 -
计划任务管理
一次性计划任务−在预先指定的日期/时间执行,只执行一次−系统服务atd、配置工具at周期性计划任务−按预先指定的时间点/间隔频率执行,反复执行多次−系统服务crond、配置工具crontab。原创 2022-08-15 19:55:53 · 338 阅读 · 0 评论 -
linux的进程
程序−保存在磁盘中的可执行文件−是静态保存的代码进程−在CPU及内存中运行的程序指令−是动态执行的代码−父/子进程:进程可以创建一个或多个子进程。原创 2022-08-15 17:22:24 · 208 阅读 · 0 评论 -
系统服务管理
chkconfig[--level 级别列表] 服务名on。−则/etc/xinetd.d/下的各配置文件均不生效。−挂载/etc/fstab中的设备、启用SWAP分区。−由/etc/init/rcS.conf调用执行。−控制脚本:/etc/rc.d/init.d/*−或者:/etc/init.d/服务名称控制参数。−格式:chkconfig--list [服务名。/etc/rc.d/rc.sysinit脚本。/etc/rc.d/rc.local 脚本。−配置文件:/etc/xinetd.d/*...原创 2022-08-15 17:02:27 · 4896 阅读 · 0 评论 -
RAID磁盘阵列管理
−廉价冗余磁盘阵列:将多个较小/低速的磁盘整合成一个大磁盘,提高读写效率、实现数据冗余(具体取决于不同的RAID技术级别)−由主板上的阵列卡实现的,称为硬RAID−由操作系统中的软件实现的,称为软RAID。...原创 2022-08-15 11:55:12 · 1467 阅读 · 0 评论 -
LVM逻辑卷管理
−化零为整:将多个物理分区/磁盘从逻辑上组合成一个更大的虚拟磁盘(卷组)−动态伸缩:从整合的虚拟磁盘中可以划分出不同的虚拟分区(逻辑卷),卷的大小可以按需调整大小注意事项−Linux的/boot引导分区,不能基于LVM逻辑卷建立。...原创 2022-08-15 11:43:45 · 359 阅读 · 0 评论 -
管理交换空间
−不管是分区还是设备文件,都需要经过mkswap格式化以后,才能作为交换空间使用。−当没有可用的空闲分区时,也可以在系统中创建一个文件来模拟设备,即交换文件。−用法:ddif=源设备of=目标设备bs=块大小count=块数。−swapon-a:启用所有fstab已配置的交换空间。−用法:swapon-p 优先级交换设备或文件。−用法:swapoff交换分区或文件。−独立、空闲的硬盘分区,即交换分区。−用法:mkswap-f 分区文件。−用法:swapon交换分区或文件。−用法:mkswap分区设备。...原创 2022-08-15 11:25:16 · 188 阅读 · 0 评论 -
自动挂载管理
任务需求:−当有人需要访问/autodir/ 目录下的tools 子目录时,自动关联到FAT32分区/dev/sdb4。原创 2022-08-15 11:09:32 · 177 阅读 · 0 评论 -
linux的文件系统
−或者mkfs.vfat-F 32 /dev/sdb4。−类型支持自动识别,/etc/filesystems。将分区/dev/sdb4格式化成FAT32文件系统。−格式:mkfs -t 文件系统类型分区设备。−或者mkfs.ext4 /dev/sdb1。−-a:加载所有fstab已配置的文件系统。−格式:df[选项]...[文件]...−格式:mount[选项]设备名挂载点。将分区/dev/sdb1挂载到指定位置。−-a:卸载所有已挂载的非伪文件系统。−-U:通过UUID挂载设备。...原创 2022-08-15 10:56:00 · 3338 阅读 · 0 评论 -
硬盘分区基础
−建立4个主分区,大小依次20GB、20GB、2GB、10GB。−m:查看帮助信息 p:列出分区信息。−将第1个逻辑分区的标记改为SWAP(ID 82)−在更改分区以后,通知Linux内核新的分区信息。−将第2个逻辑分区的标记改为VFAT(ID b)-划分2个20GB的主分区,剩余作为扩展分区。−n:新建分区 d:删除分区。−新建2个逻辑分区,分别为2GB、10GB。−用来输出硬盘基本信息及分区列表。−用来输出硬盘基本信息及分区列表。−确认分区无误后,保存退出。...原创 2022-08-15 10:43:08 · 350 阅读 · 0 评论 -
linux的权限
新建文件/目录的默认权限?−一般文件默认均不给x 执行权限−其他取决于umask设置0022u=rwx,g=rx,o=rx //新目录755、新文件644−可以弥补文档归属类别太笼统的不足,为个别用户、个别组设置独立的rwx权限−为目录设置可向下继承的rwx权限SUID权限−占用属主(User)的x 位−显示为s 或S,取决于属主是否有x 权限−仅对可执行的程序有意义−当其他用户执行带SUID标记的程序时,具有此程序属主的身份和权限SGID权限−占用属组(Group)的x 位。...原创 2022-08-13 23:59:15 · 247 阅读 · 0 评论 -
Linux账号管理(用户和用户组)
默认配置文件:/etc/default/useradd−对新创建的账号起作用默认配置文件:/etc/login.defs−对新创建的账号起作用。原创 2022-08-13 23:28:47 · 397 阅读 · 0 评论 -
源码包部署
开源软件多使用C/C++语言开发−需要gcc、make等编译工具−RHEL6仓库提供的“开发工具”软件组从官网下载最新源码包,并释放源码文件−建议释放到/usr/src/ 目录下−解包后标准位置:/usr/src/软件名-版本号/...原创 2022-08-13 22:55:20 · 1292 阅读 · 0 评论 -
Linux命令yum
准备大量RPM软件包−Red Hat发布的RPM包集合−第三方、用户自定义的RPM包集合以哪种方式提供给客户机−本地目录:file://...−FTP或HTTP服务:ftp://...、http://...原创 2022-08-13 22:37:54 · 227 阅读 · 0 评论 -
RPM软件包管理
−由红帽公司提出,RedHat、SUSE等系列采用−建立集中的数据档案,记录软件包安装/卸载等变化信息−根据档案分析软件之间的依赖关系RPM软件资源站点RPM 档案数据文件。原创 2022-08-13 22:01:26 · 545 阅读 · 0 评论 -
Linux命令之vim
为用户提供个性化设置−位于家目录下的.vimrc配置文件−可预设一些vim参数,比如显示行号、自动缩进、Tab键宽度。原创 2022-08-13 21:40:02 · 388 阅读 · 0 评论