Linux
zjh1164678116
这个作者很懒,什么都没留下…
展开
-
18、使用死循环实时显示 eth0 网卡发送的数据包流量
#!/bin/bash# 使用死循环实时显示 eth0 网卡发送的数据包流量 while :do echo '本地网卡 eth0 流量信息如下: ’ ifconfig eth0 | grep “RX pack” | awk ‘{print $5}’ ifconfig eth0 | grep “TX pack” | awk ‘{print $5}’ sleep 1done...原创 2019-11-30 10:32:10 · 1053 阅读 · 0 评论 -
17、9*9 乘法表
#!/bin/bash# 99 乘法表(编写 shell 脚本,打印 99 乘法表) for i in seq 9do for j in seq <span class="hljs-variable">$i</span> do echo -n "j</span>∗<spanclass="hljs−variable">j<...原创 2019-11-30 10:31:40 · 199 阅读 · 0 评论 -
16、进度条,动态时针版本;定义一个显示进度的函数,屏幕快速显示| / ‐ \
#!/bin/bash# 进度条,动态时针版本# 定义一个显示进度的函数,屏幕快速显示| / ‐ </span>rotate_line(){INTERVAL=0.5 #设置间隔时间COUNT=“0” #设置4个形状的编号,默认编号为 0(不代表任何图像)while :do COUNT=expr <span class="hljs-variable">$COUN...原创 2019-11-30 10:31:09 · 243 阅读 · 0 评论 -
编写脚本,显示进度条
#!/bin/bash# 编写脚本,显示进度条jindu(){while :do echo -n '#' sleep 0.2done}jindu &cp -a $1 $2killall $0echo "拷贝完成"原创 2019-11-26 19:17:08 · 658 阅读 · 1 评论 -
14、编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机状态(多进程版)
#!/bin/bash# 编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机# 状态(多进程版) #定义一个函数,ping 某一台主机,并检测主机的存活状态myping(){ping ‐c 2 ‐i 0.3 ‐W 1 $1 &>/dev/nullif [ $? -eq 0 ];then echo "$1 is up"else echo "...原创 2019-11-26 19:16:37 · 1101 阅读 · 0 评论 -
13、编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机状态(while 版本)
#!/bin/bash# 编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机# 状态(while 版本) i=1while [ i</span>−le254]</div></div></li><li><divclass="hljs−ln−numbers"><divclass="h...原创 2019-11-26 19:16:03 · 547 阅读 · 0 评论 -
12、编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机状态(for 版本)
#!/bin/bash# 编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机# 状态(for 版本)for i in {1…254}do # 每隔0.3秒ping一次,一共ping2次,并以1毫秒为单位设置ping的超时时间 ping ‐c 2 ‐i 0.3 ‐W 1 192.168.4.$i &>/dev/null if [...原创 2019-11-17 19:50:27 · 735 阅读 · 0 评论 -
11、石头、剪刀、布游戏
#!/bin/bash# 编写脚本,实现人机<石头,剪刀,布>游戏game=(石头 剪刀 布)num=$[RANDOM%3]computer=${game[$num]}# 通过随机数获取计算机的出拳# 出拳的可能性保存在一个数组中,game[0],game[1],game[2]分别是 3 中不同的可能 echo "请根据下列提示选择您的出拳手势"echo "1.石头"echo "2.剪...原创 2019-11-17 19:49:44 · 137 阅读 · 0 评论 -
10、输入三个数并进行升序排序
#!/bin/bash# 依次提示用户输入 3 个整数,脚本根据数字大小依次排序输出 3 个数字read -p "请输入一个整数:" num1read -p "请输入一个整数:" num2read -p "请输入一个整数:" num3# 不管谁大谁小,最后都打印 echo "$num1,$num2,$num3"# num1 中永远存最小的值,num2 中永远存中间值,num3 永远存最大值# 如果...原创 2019-11-17 19:48:58 · 2937 阅读 · 0 评论 -
9、编写脚本:提示用户输入用户名和密码,脚本自动创建相应的账户及配置密码。如果用户不输入账户名,则提示必须输入账户名并退出脚本;如果用户不输入密码,则统一使用默认的 123456 作为默认密码。
#!/bin/bash# 编写脚本:提示用户输入用户名和密码,脚本自动创建相应的账户及配置密码。如果用户# 不输入账户名,则提示必须输入账户名并退出脚本;如果用户不输入密码,则统一使用默# 认的 123456 作为默认密码。 read -p "请输入用户名: " user#使用‐z 可以判断一个变量是否为空,如果为空,提示用户必须输入账户名,并退出脚本,退出码为 2#没有输入用户名脚本退出后,使用...原创 2019-11-10 18:37:22 · 1528 阅读 · 0 评论 -
8、检测本机当前用户是否为超级管理员,如果是管理员,则使用 yum 安装 vsftpd,如果不是,则提示您非管理员(使用 UID 数字对比版本)
#!/bin/bash# 检测本机当前用户是否为超级管理员,如果是管理员,则使用 yum 安装 vsftpd,如果不# 是,则提示您非管理员(使用 UID 数字对比版本)if [ $UID -eq 0 ];then yum ‐y install vsftpdelse echo "您不是管理员,没有权限安装软件"fi...原创 2019-11-10 18:36:54 · 385 阅读 · 0 评论 -
7、检测本机当前用户是否为超级管理员,如果是管理员,则使用 yum 安装 vsftpd,如果不是,则提示您非管理员(使用字串对比版本)
#!/bin/bash# 检测本机当前用户是否为超级管理员,如果是管理员,则使用 yum 安装 vsftpd,如果不# 是,则提示您非管理员(使用字串对比版本) if [ $USER == “root” ]then yum ‐y install vsftpdelse echo "您不是管理员,没有权限安装软件"fi...原创 2019-11-10 18:36:22 · 1126 阅读 · 0 评论 -
6、猜数字游戏
#!/bin/bash # 脚本生成一个 100 以内的随机数,提示用户猜数字,根据用户的输入,提示用户猜对了,# 猜小了或猜大了,直至用户猜对脚本结束。 # RANDOM 为系统自带的系统变量,值为 0‐32767的随机数# 使用取余算法将随机数变为 1‐100 的随机数num=[RANDOM[RANDOM%100+1]</div></div></li>&l...原创 2019-11-03 10:37:29 · 368 阅读 · 0 评论 -
5、监控内存和磁盘容量,小于给定值时报警
#!/bin/bash# 实时监控本机内存和硬盘剩余空间,剩余内存小于500M、根分区剩余空间小于1000M时,发送报警邮件给root管理员 # 提取根分区剩余空间disk_size=$(df / | awk '///{print KaTeX parse error: Expected 'EOF', got '}' at position 2: 4}̲'</span>)</div...原创 2019-11-03 10:36:49 · 706 阅读 · 0 评论 -
一键部署 LNMP(RPM 包版本)
#!/bin/bash# 一键部署 LNMP(RPM 包版本)# 使用 yum 安装部署 LNMP,需要提前配置好 yum 源,否则该脚本会失败# 本脚本使用于 centos7.2 或 RHEL7.2yum ‐y install httpdyum ‐y install mariadb mariadb‐devel mariadb‐serveryum ‐y install php php‐mysql...原创 2019-11-03 10:36:20 · 560 阅读 · 1 评论 -
shell编程一百例 3 备份日志
#!/bin/bash# 每周 5 使用 tar 命令备份/var/log 下的所有日志文件# vim /root/logbak.sh# 编写备份脚本,备份后的文件名包含日期标签,防止后面的备份将前面的备份数据覆盖# 注意 date 命令需要使用反引号括起来,反引号在键盘<tab>键上面tar -czf log-date +%Y%m%d.tar.gz /var/log # cron...原创 2019-10-27 18:28:47 · 268 阅读 · 0 评论 -
shell编程一百例 2 通过位置变量创建linux系统账户及密码
#!/bin/bash# 编写hello world脚本 echo "Hello World!"原创 2019-10-27 18:28:08 · 550 阅读 · 0 评论 -
shell编程一百例 1 编写hello world脚本
#!/bin/bash# 编写hello world脚本 echo "Hello World!"原创 2019-10-27 18:27:12 · 430 阅读 · 0 评论 -
Shell脚本学习(一)Shell命令基础
Shell脚本学习(一)Shell命令基础echo $SHELL# $SHELL是一个环境变量,它记录用户所使用的Shell类型。...转载 2019-10-17 12:34:18 · 179 阅读 · 0 评论 -
shell 数字运算
在 linux 的 shell 脚本里,变量默认都是字符串的。以下面的脚本为例:#!/bin/bashno1=4no2=5 如果你直接使用“+”符号result=$no1 + $no2echo $result 得到的结果不是...转载 2019-10-17 12:33:16 · 283 阅读 · 0 评论 -
Shell I/O重定向与exec的使用介绍
注:该文章例子来自于网络的收集和整理,附带本人注解。①I/O重定向的常用用法符号 意义cmd1 | cm...转载 2019-10-17 12:32:21 · 157 阅读 · 0 评论 -
linux内核Mikefile 中$(obj)的含义
obj-$(CONFIG_SND_ASOC_INGENIC_PHOENIX_ICDC) += snd-soc-phoenix-icdc.o$(obj)/asoc-board/phoenix_icdc.o:include/generated/autoconf.hobj-$(CONFIG_SND_ASOC_ING...转载 2019-10-12 15:48:17 · 531 阅读 · 0 评论 -
关于mikefile 萌新用法
关于Mikefile的新手使用说明 做项目文件太多,不用mikefile编译需要打很多字,为了少打几行命令,就把所有的编辑命令(比如: gcc -o bin/test src/main.c等)放在一个文件里,通过访问这个文件来运行命令,省事,当然还有其他更高级的用途。 首先我创建了几个简单的文件: 几行代码,放在不同文件里: include目录放.h文件(test.h func...转载 2019-10-12 15:47:15 · 179 阅读 · 0 评论 -
Mikefile详解
Mikefile的作用:makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。makefile带来的好处就是——“自动化编译”,...转载 2019-10-12 15:46:10 · 659 阅读 · 0 评论 -
Linux系统启动流程及系统裁剪
一、内核管理简要理论1、内核的功能 (1)进程管理 (2)内存管理(内核管理代码中代码量最大的部分) (3)I/O管理:中断及...转载 2019-09-15 20:19:34 · 222 阅读 · 0 评论 -
Linux内核简介
大纲:理解Linux内核最好预备的知识点Linux内核的特点Linux内核的任务内核的组成部分哪些地方用到了内核机制?Linux进程 Linux创建新进程的机制Linux线程 内核线程地址空间与特权级别 虚拟地址与物理地址 &nb...转载 2019-09-15 20:17:27 · 132 阅读 · 0 评论 -
Linux 基础学习(笔记)
Linux发展史与安装一、Linux发展史1、Linux前身-Unix1968年 Multics项目MIT、Bell实验室、美国通用电气有限公司走到了一起,致力于开发Multics项目。到后期由于开发进度不是很好,MIT和Bell实验室相继离开这个项目的开发,最终导致项目搁浅。 ...转载 2019-09-15 20:16:05 · 257 阅读 · 0 评论 -
linux 权限
Linux 系统中,UID以如下的方式划分:0 表示管理员(root),超级管理员,最大权限 1 - 500 表示系统用户,与一些...转载 2019-09-08 18:27:58 · 102 阅读 · 0 评论 -
Linux下“/”和“~”的区别
”/“是根目录,”~“是家目录。Linux存储是以挂载的方式,相当于是树状的,源头就是”/“,也就是根目录。而每个用户都有”家“目录,也就是用户的个人目录,比如root用户的”家“目录就是/root,普通用户a的家目录就是/home/a.可以看到用户创建完后,我们就可以在/home目录下看到,就是系统默认创建...转载 2019-09-08 18:24:19 · 92 阅读 · 0 评论 -
深入理解SELinux SEAndroid(第一部分)
按哥的习惯,应该是全部洗剪吹完后再发,不过今年是马年,什么都强调 马上。所以 现在就先奉献 马上有第一部分 祝各位同仁,朋友 马年快乐。 深入理解SELinux SEAndroidSEAndroid是Google在Android 4.4上正式推出的一套以SELinux为基础于核心的系统安...转载 2019-09-22 12:33:42 · 502 阅读 · 0 评论 -
android 8.1 安全机制 — SEAndroid & SELinux
1. SELinux 背景知识详细了解 Android 8.0 SELinux,可以参阅 Google 官方文档1.1 DAC 与...转载 2019-09-22 12:35:08 · 829 阅读 · 0 评论 -
SELinux For Android(Android O)
注!该文章主要是从Android官方文档SELinux模块进行精简,简单添加了一些自己的理解 从 Android 4.3 起,SELinux 开始为传统的自主访问控制 (DAC) 环境提供强制访问控制 (MAC) 保护功能。例如,软件通常情况下必须以 Root 用户帐号的身份运行,才能向原始块设备写入数据。在基于 DAC 的传统 Linux 环境中,如果 Root ...转载 2019-09-22 12:35:55 · 275 阅读 · 0 评论 -
GDB
GDB调试编译测试程序,一定要加上-g参数,为可执行文件加上调试信息gcc -g tst.c -o tst 启动GDB的方式gdb <program> program也就是你的执行文件,一般在当前目录下gdb <program> core 用gdb同时调试一个运行程序和core文件,core是程序非法执行后core dump后...转载 2019-09-29 10:12:06 · 126 阅读 · 0 评论 -
GDB - 简单易上手的新人教程
什么是GDBGDB, 又称GNU调试器,是用来帮助调试我们程序的工具。 GDB可以干以下几件事: 1. 给程序设置(特定条件下的...转载 2019-09-29 10:13:06 · 145 阅读 · 0 评论 -
gdb的使用
什么是GDB? GDB是一个由 GNU 开源组织发布的、UNIX/LINUX 操作系统下的、基于命令行的、功能强大的程序调试工具。 GDB 中的命令固然很多,但我们只需掌握其中十个左右的命令,就大...转载 2019-09-29 10:14:02 · 118 阅读 · 0 评论 -
Linux操作系统的基本命令
一、Linux目录结构 bin 存放二进制可执行文件sbin 存放二进制可执行文件,只有root才能访问etc 存放系统配置文件usr 用于存放共享的系统资源home 存放用户文件的根目录root 超级用户目录dev 用于存放设备文件lib 存放跟文件系统中的程序...转载 2019-10-05 19:39:07 · 147 阅读 · 0 评论 -
Linux
Linux是什么Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和...转载 2019-10-05 19:41:48 · 262 阅读 · 0 评论 -
Linux操作系统基础
Linux简介Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安...转载 2019-10-05 19:42:34 · 84 阅读 · 0 评论 -
linux入门
第一部分:1:linux基础简介 1:操作系统(Operating System) 1:操作系统是管理计算机硬件与软件资...转载 2019-09-02 19:06:21 · 119 阅读 · 0 评论