当前位置: 首页 > news >正文

长沙营销网站建站公司一个网站按钮怎么做

长沙营销网站建站公司,一个网站按钮怎么做,网站建设百度首页,虚拟空间官网声明 学习视频来自 B 站UP主泷羽sec#xff0c;如涉及侵权马上删除文章。 笔记的只是方便各位师傅学习知识#xff0c;以下网站只涉及学习内容#xff0c;其他的都与本人无关#xff0c;切莫逾越法律红线#xff0c;否则后果自负。 ✍#x1f3fb;作者简介#xff1a;致…声明 学习视频来自 B 站UP主泷羽sec如涉及侵权马上删除文章。 笔记的只是方便各位师傅学习知识以下网站只涉及学习内容其他的都与本人无关切莫逾越法律红线否则后果自负。 ✍作者简介致力于网络安全领域目前作为一名学习者很荣幸成为一名分享者最终目标是成为一名开拓者很有趣也十分有意义 ‍♂️ 个人主页 One_Blanks 欢迎评论 点赞 收藏 加关注 文章目录 shell脚本编写基础使用的脚本解析器/bin/bash声明shell脚本的执行第一种方法给权限第二种方法直接使用解释器第三种方法使用source命令 shell脚本语法变量变量声明和定义变量拼接变量的命名规则变量的查看与删除常见的变量永久变量 脚本程序传递参数怎么实现如何在编程中进行数学运算shell中利用expr进行运算 输入与输出函数的封装条件判断语句条件符号 循环语句模块化编程 Linux进程操作查看寻找进程终止进程暂停与恢复进程后台运行 shell脚本编写病毒编写系统内存资源占用 shell脚本编写基础 使用的脚本解析器/bin/bash声明 #! /bin/bash#! 由 “#” 和 “!” 两个字符组成的特殊标记。当一个可执行文件以这两个字符开头时内核会将该行的其余部分作为解释器的路径来读取并使用该解释器来执行这个文件的后续内容。/bin/bash 是指 bash解释器的路径。所以 #!/bin/bash 整体的意思就是指定这个脚本文件应该由 Bash 解释器来执行。 #! /bin/dash #! /bin/sh 不管使用哪种脚本解释器最后还是调用的dash shell脚本的执行 第一种方法给权限 是否拥有执行的权限,表示脚本是否可以进行执行 使用ls -liah进行详细目录查看权限修改可以使用chmod 777 www.sh 用户、用户组、其他用户都给最高权限读、写、执行 第二种方法直接使用解释器 sh www.sh bash www.sh 第三种方法使用source命令 source www.sh 执行和sh命令差不多就是这个命令对颜色加深标注了 shell脚本语法 变量 变量声明和定义 eg定义一个name变量然后用echo打印出来 name“xiaoyu” age27 echo $name echo my name is $name,and my age is $age years old echo “my name is $name,and my age is $age years old” echo ‘my name is $name,and my age is $age years old’ 一般来说加双引号和不加的效果是一样的但是加单引号就不会解析变量直接输出所有字符串 变量拼接 echo “my name is $name,and my age is $ageyears old” 这个例子中years与age之间没有空格所以打印出来为空因为两个连起来系统会认为变量没有被定义所以输出为空 解决办法 echo “my name is n a m e , a n d m y a g e i s name,and my age is name,andmyageisageyears old” 将变量用双引号括起来这样就会做一个区分系统就会识别出这是一个变量 除了用用{}花括号也是可以的 echo “my name is KaTeX parse error: Expected }, got EOF at end of input: …and my age is {age}years old” 变量的命名规则 变量由数字、字符、下划线组成但是不能以数字开头 变量命名对于大小写是敏感的 如: man Man 就是两个变量 变量的查看与删除 set | grep name 查看变量名为name的变量 unset name 删除变量名为name的变量 常见的变量 echo $HOME echo $PATH 可以将我们写好的shell脚本移动到/usr/bin/目录下让它存在变量中然后就可以直接运行使用 vim 33.sh chmod x 33.sh mv 33.sh /usr/bin/ 33.sh 也可以将一整个目录都添加到环境变量中去使一整个目录的文件都可以直接执行 export PATH/root:PATH 然后输出变量PATH查看是否添加成功 echo $PATH export PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 原有默认变量当然也可以重启终端进行恢复 export 是一个用于设置环境变量的关键字使变量在当前的shell终端中生效重启一个终端设置的环境变量就会失效 永久变量 export写的只是临时变量把变量写到配置文件中才是永久变量 cd / usr/bin/vi .bashrc export PATH/root:PATH 加入之后使用source命令使变量生效 source usr/bin/ .bashrc 脚本程序传递参数怎么实现 echo 执行的文件名是$0 echo 第一个参数是$1 echo 传递的参数作为一个字符显示$* echo 传递的参数作为每个字符串显示$ echo 传递到脚本的参数个数是$# echo 最后命令的退出状态$? echo 脚本运行的当前进程ID$$ 可以向脚本程序传递一个或多个参数脚本中的$1里面的数字是可以依次递增的比如$1,$2,$3等执行结果 执行的文件名是w.sh 第一个参数是 传递的参数作为一个字符显示 传递的参数作为每个字符串显示 传递到脚本的参数个数是0 最后命令的退出状态0 脚本运行的当前进程ID718191指定一个参数再执行 sh w.sh name 执行的文件名是w.sh 第一个参数是name 传递的参数作为一个字符显示name 传递的参数作为每个字符串显示name 传递到脚本的参数个数是1 最后命令的退出状态0 脚本运行的当前进程ID719286指定多个参数 sh w.sh name sdf dfas 执行的文件名是w.sh 第一个参数是name 传递的参数作为一个字符显示name sdf dfas 传递的参数作为每个字符串显示name sdf dfas 传递到脚本的参数个数是3 最后命令的退出状态0 脚本运行的当前进程ID719990参数传递一般为 n ( n 表示数字可递增 ) 。 n(n表示数字 可递增)。 n(n表示数字可递增)。*就是将参数作为同一的字符串显示出来而 是将每个字符串当作独立的字符串显示这也是 是将每个字符串当作独立的字符串显示 这也是 是将每个字符串当作独立的字符串显示这也是*和的区别KaTeX parse error: Expected EOF, got # at position 1: #̲表示参数的个数?是查看命令执行状态的 如果显示为0 那么命令就是正常执行的其他数字就是出错了$$就是查看脚本当前进程的ID 如何在编程中进行数学运算 shell中利用expr进行运算 错误expr 510 会回显 510 正确expr 5 10 就会显示15了 以上方法适用于加法减法 乘法 错误expr 5 * 10 会报错 正确expr 5 * 10 就会显示50了 需要使用\进行转义 除法 正确expr 10 / 5 会显示2 取余 正确expr 10 % 4 会显示2 使用$(( ))语法 product$((num1 * num2))​ 这样就直接进行运算了不用去管什么转义字符什么的 输入与输出 输入 read name 输入一个值并赋值给name赋值给name后需要使用$进行解析如$name 输出 echo 对于字符进行整行输出printf 类似与C语言 printf My name is %s and I am %d years old.\n $name $age前面中需要有格式化符号后面才是变量. 函数的封装 不含参数函数定义调用 greet () {echo Hello, World! }函数调用 #!/bin/bash greet含参函数定义调用 add_numbers () {sum$(($1 $2))echo The sum of $1 and $2 is $sum }函数调用 #!/bin/bash add_numbers 3 5当然也可以存在rutern 返回值 $() 与 反引号的异同 都可以用于获取指令结果但建议使用$()因为它可以嵌套而反引号不支持。 条件判断语句 if 语句基本结构 在 Bash 编程中if语句用于条件判断。基本结构如下 if [ condition ]; then# 条件为真时执行的命令commands fi其中[ condition ]是条件表达式部分;用于分隔条件表达式和then关键字也可以将;换成换行。then后面的commands是当条件为真时要执行的命令序列。fi是一个关键字用于标识if语句块的结束例如判断一个变量是否大于 10 #!/bin/bash num15 if [ $num -gt 10 ]; thenecho $num is greater than 10 fi这里的$num -gt 10是条件表达式-gt是用于比较大小的操作符表示 “大于”。当num的值大于 10 时就会执行echo命令。除了只在条件为真时执行命令还可以在条件为假时执行其他命令这就用到了if - else语句。结构如下 if [ condition ]; thencommands1 elsecommands2 fi例如判断一个数是偶数还是奇数 #!/bin/bash num7 if [ $((num % 2)) -eq 0 ]; thenecho $num is even elseecho $num is odd fi这里使用$((num % 2)) -eq 0作为条件表达式%是取余运算-eq是 “等于” 操作符。如果num除以 2 的余数为 0则为偶数执行echo偶数相关的命令否则为奇数执行echo奇数相关的命令。 if - elif - else 语句 当需要判断多个条件时可以使用if - elif - else语句。结构如下 if [ condition1 ]; thencommands1 elif [ condition2 ]; thencommands2 …… elsecommandsn fi例如根据分数范围输出等级 #!/bin/bash score85 if [ $score -ge 90 ]; thenecho A elif [ $score -ge 80 ]; thenecho B elif [ $score -ge 70 ]; thenecho C elif [ $score -ge 60 ]; thenecho D elseecho F fi这里依次判断分数是否大于等于 90、80、70、60根据不同的范围输出相应的等级。如果分数小于 60则输出F。 条件符号 数值比较操作符 -lt小于。-le小于等于。-eq等于。-ne不等于。-ge大于等于。-gt大于。 字符串比较操作符 或 相等在多数 Bash 环境下不过 “” 可能在某些版本中不被支持。!不相等。-z判断字符串长度是否为 0。 if - else 语句 文件判断使用到的参数 -e 文件名 如果文件存在则为真 -f 文件名 如果文件存在且为普通文件则为真 -d 文件名 如果文件存在且为目录则为真 -r 文件名 如果文件存在且可读则为真 -w 文件名 如果文件存在且可写则为真 -x 文件名 如果文件存在且可执行则为真 -s 文件名 如果文件存在且至少有一个字符则为真 -c 文件名 如果文件存在且为字符型特殊文件则为真 -b 文件名 如果文件存在且为块特殊文件则为真 条件判断使用到的逻辑操作符 ①与 的表示方法、-a ​ 要求所有条件为真则条件为真 ​ ②或 的表示方法||、-o ​ 要求任意条件为真则条件为真 ​ ③非 的表示方法! ​ 要求条件反转为真时条件为真 循环语句 for 循环 基本语法 for循环用于遍历一系列的值通常是一个列表。基本格式为 for variable in list; docommands done其中variable是循环变量用于依次存储list中的每个元素list可以是一个用空格分隔的值列表、一个数组或者是一个由命令生成的结果集commands是在每次循环中要执行的命令。遍历列表示例 例如遍历一个数字列表并打印每个数字 for number in 1 2 3 4 5; doecho $number done这里number会依次取1、2、3、4、5并在每次循环中通过echo命令输出。遍历数组示例 假设定义了一个数组fruits并使用for循环遍历它 fruits(apple banana cherry) for fruit in ${fruits[]}; doecho $fruit done在这个例子中${fruits[]}表示数组fruits的所有元素fruit会依次取数组中的每个元素并输出。使用命令生成列表示例 可以使用命令的输出作为for循环的列表。例如通过ls命令列出当前目录下的文件并逐个打印文件名 for file in $(ls); doecho $file done不过要注意这种方式如果文件名中有空格等特殊字符可能会出现问题更安全的做法是使用while循环和read命令结合来处理有特殊字符的文件名。 while 循环 基本语法 while循环在条件为真时持续执行命令块。基本格式为 while [ condition ]; docommands done其中[ condition ]是条件表达式commands是每次循环要执行的命令。简单计数示例 例如从 1 开始计数直到数字达到 5 count1 while [ $count -le 5 ]; doecho $countcount$((count 1)) done在这里count初始值为 1每次循环判断count是否小于等于 5如果是则打印count的值然后将count的值加 1。当count大于 5 时循环结束。读取文件内容示例 假设要逐行读取一个文件的内容可以这样做 while read line; doecho $line done file.txt这个循环会不断读取file.txt文件中的一行内容存储到line变量中然后通过echo命令输出该行内容直到文件结束。 until 循环 基本语法和特点 until循环与while循环相反它在条件为假时持续执行命令块直到条件变为真。基本格式为 until [ condition ]; docommands done例如计算从 1 加到某个数直到总和大于等于 10 sum0 num1 until [ $sum -ge 10 ]; dosum$((sum num))num$((num 1)) done echo $sum在这里开始时sum为 0num为 1每次循环将num累加到sum中并将num加 1直到sum大于等于 10循环结束后输出sum的值。 循环控制语句 break 语句用于立即跳出循环。例如在for循环中如果满足某个条件就跳出循环 for i in 1 2 3 4 5; doif [ $i -eq 3 ]; thenbreakfiecho $i done这个循环在i等于 3 时就会跳出所以只会输出 1 和 2。continue 语句用于跳过当前循环的剩余部分直接进入下一次循环。例如 for i in 1 2 3 4 5; doif [ $i -eq 3 ]; thencontinuefiecho $i done当i等于 3 时continue语句会跳过echo命令直接进入下一次循环所以会输出 1、2、4、5。 模块化编程 就是在本脚本中调用其他脚本的函数以此来实现模块化编程 #!/bin/bash source update.sh update $n1 $n1 echo 在$0文件中运行update.sh的函数update$0是一个特殊的变量它代表当前脚本的文件名。当脚本被执行时$0会被自动赋值为脚本文件的名称。类似与Windows系统dos编程中的%0source是一个命令也可以用 “.” 来代替如 “.” filename与source filename效果相同。它的主要作用是在当前脚本环境中读取并执行另一个文件中的命令。相当于文件包含 Linux进程操作 查看寻找进程 ps 命令 基本语法ps [options]。例如ps -ef是最常用的查看进程的命令组合。-e选项表示显示所有进程-f选项用于显示完整格式的信息。详细解释它会列出进程的 UID用户 ID、PID进程 ID、PPID父进程 ID、CCPU 使用率、STIME进程启动时间、TTY终端类型、TIME累计 CPU 时间和 CMD命令行等信息。例如在命令行输入ps -ef后会看到类似如下的输出 UID PID PPID C STIME TTY TIME CMD root 1 0 0 11:00? 00:00:01 /sbin/init root 2 0 0 11:00? 00:00:00 [kthreadd]其他常用选项 ps -aux显示所有包含其他用户的进程并且以 BSD 风格输出。其中a选项表示显示所有终端下的进程包括其他用户的进程u选项以用户为中心组织输出x选项表示显示没有控制终端的进程。 top 命令 基本语法top。直接在命令行输入top后会进入一个实时显示系统进程状态的界面。详细解释它会按照 CPU 使用率、内存使用率等对进程进行排序并动态更新。在这个界面中可以看到系统的负载情况load average包括 1 分钟、5 分钟和 15 分钟的平均负载。每一行代表一个进程显示的信息和ps -ef有一些重叠如 PID、USER、PR优先级、NINice 值、VIRT虚拟内存大小、RES物理内存大小等。操作方式在top界面中可以通过按键来进行操作。例如按P键可以按照 CPU 使用率排序进程按M键可以按照内存使用率排序进程按q键可以退出top界面。 pgrep 命令 基本语法pgrep [options] pattern。例如pgrep -l firefox用于查找名称中包含firefox的进程并显示其 PID 和名称。详细解释它是通过进程名称或者其他属性来查找进程的 PID。-l选项表示在输出中同时显示进程名称。如果只需要 PID可以不使用-l选项。 终止进程 kill 命令 基本语法kill [signal] PID。例如kill -9 1234表示强制终止 PID 为 1234 的进程。详细解释signal是发送给进程的信号默认信号是TERM15它会请求进程正常终止。如果进程没有响应TERM信号可以使用-9SIGKILL信号来强制终止进程。不过强制终止进程可能会导致数据丢失或系统不稳定因为进程没有机会进行清理操作。注意在使用kill -9时要谨慎尽量先尝试使用默认的TERM信号来终止进程。 pkill 命令 基本语法pkill [options] pattern。例如pkill -9 firefox用于强制终止所有名称中包含firefox的进程。详细解释它是通过进程名称或者其他属性来终止进程和pgrep命令类似但是它的功能是终止进程而不是查找 PID。-9选项同样表示强制终止。 暂停与恢复进程 暂停进程可以使用kill -STOP PID来暂停一个进程。例如kill -STOP 5678会暂停 PID 为 5678 的进程。此时进程会暂停执行并且不会占用 CPU 资源直到收到恢复信号。恢复进程使用kill -CONT PID来恢复一个被暂停的进程。例如kill -CONT 5678会恢复之前被暂停的 PID 为 5678 的进程使其继续正常运行。 后台运行 在后台运行进程 方法一命令后加 符号。例如./long_running_script.sh 。这样long_running_script.sh这个脚本就会在后台运行命令行提示符会立即返回用户可以继续在命令行进行其他操作。方法二使用 nohup 命令。nohup command 例如nohup python my_script.py 。nohupno hang up命令用于在用户退出登录后进程仍然能够继续运行。它会将进程的输出重定向到nohup.out文件中默认情况下。 将后台进程恢复到前台 基本语法fg %n。其中n是作业号。可以通过jobs -l命令来查看后台作业的作业号和 PID。例如如果jobs -l显示后台作业的作业号为 1PID 为 9876那么fg %1就可以将这个后台作业恢复到前台运行。 shell脚本编写病毒编写 系统内存资源占用 #!/bin/bash TOTAL_MEM$(grep MemTotal /proc/meminfo | awk {print $2}) USE_MEM$((TOTAL_MEM * 30 / 100)) USE_MEM_MB$((USE_MEM / 1024)) while true;domemtester $USE_MEM_MB 1wait $! doneTOTAL_MEM$(grep MemTotal /proc/meminfo | awk {print $2}) grep MemTotal /proc/meminfo/proc/meminfo是 Linux 系统下一个虚拟文件它包含了系统当前的内存信息。grep MemTotal命令用于在/proc/meminfo文件中查找包含 “MemTotal” 字样的行该行记录了系统的总内存量信息。 awk {print $2}awk是一种文本处理工具。在这里它用于从grep找到的包含 “MemTotal” 的行中提取第二个字段的值也就是系统总内存量的值以 KB 为单位。最终将提取到的值赋给变量TOTAL_MEM。 USE_MEM$((TOTAL_MEM * 30 / 100)) 使用算术扩展$((...))来计算需要占用的内存量。它将变量TOTAL_MEM系统总内存量以 KB 为单位乘以 30 再除以 100得到的结果就是要占用的内存量同样以 KB 为单位并将这个结果赋给变量USE_MEM USE_MEM_MB$((USE_MEM / 1024)) 再次使用算术扩展将变量USE_MEM以 KB 为单位的要占用的内存量除以 1024从而将其转换为以 MB 为单位的内存量并将结果赋给变量USE_MEM_MB memtester $USE_MEM_MB 1 使用memtester工具进行内存测试。$USE_MEM_MB是前面计算并转换得到的要占用的内存量以 MB 为单位1在这里可能是memtester工具要求的某个参数比如可能表示测试的次数或者其他相关参数具体取决于memtester的版本和使用方式。这个命令会启动memtester对指定的内存量进行测试。 wait $! $!是一个特殊的 Bash 变量它表示最近在后台运行的命令的进程 IDPID。在这里由于memtester命令刚刚在后台运行因为memtachers通常会在后台执行内存测试操作所以$!获取到的就是memtester的进程 ID。 wait命令用于等待指定的进程完成。在这里就是等待memtester的进程完成其内存测试操作确保每次memtester测试都能完整执行完毕后再进入下一次循环。 为单位的要占用的内存量除以 1024从而将其转换为以 MB 为单位的内存量并将结果赋给变量USE_MEM_MB memtester $USE_MEM_MB 1 使用memtester工具进行内存测试。$USE_MEM_MB是前面计算并转换得到的要占用的内存量以 MB 为单位1在这里可能是memtester工具要求的某个参数比如可能表示测试的次数或者其他相关参数具体取决于memtester的版本和使用方式。这个命令会启动memtester对指定的内存量进行测试。 wait $! $!是一个特殊的 Bash 变量它表示最近在后台运行的命令的进程 IDPID。在这里由于memtester命令刚刚在后台运行因为memtachers通常会在后台执行内存测试操作所以$!获取到的就是memtester的进程 ID。 wait命令用于等待指定的进程完成。在这里就是等待memtester的进程完成其内存测试操作确保每次memtester测试都能完整执行完毕后再进入下一次循环。
http://www.dnsts.com.cn/news/10541.html

相关文章:

  • 微企点建站怎么样佛山家具网站建设公司
  • 河北涿州网站建设莱州人才网
  • 网络企业做网站具备网站维护与建设能力
  • vs2017 做网站做现金贷网站的公司
  • 优惠券网站cms建设贵阳市有翻译资质的公司
  • 建设网站应注意什么江苏建设厅网站电话多少
  • 网站seo李守洪排名大师wordpress 伪原创 插件
  • 电视直播网站建设wordpress doc 插件
  • 网页制作正版网站wordpress怎么安装模板文件
  • 做网站的设计尺寸郑州网站APP
  • 网站自动推广软件免费株洲公司dedecms
  • 仿素材网站源码北京昌盛宏业网站建设
  • 开发网站哪家好跨境电商多平台运营
  • 做网站不好做做科学小制作的视频网站
  • 免费网站图片素材芜湖网站网站建设
  • 织梦后台如何做网站地图网站规划建设与管理维护教程与实训
  • 网站pv uv网络维护人员是做什么的
  • 网站设计小技巧wordpress菜单显示在哪里设置
  • 企业网站建设安阳江阴市住房和城乡建设局网站
  • 企业建设网站的主要作用建设银行开通网站查询密码
  • 网站功能报价明细表杭州企业网站制作哪家好
  • 网站过度优化的表现有照片的地图软件
  • 获得网站源文件招工在哪个平台最好
  • 网站的建设书籍安阳做网站的费用
  • 上海市质量工程建设管理协会网站广州网络营销公司推荐
  • 一级a做爰片免费网站中文整合营销传播名词解释
  • 台山网站设计大学社团做网站
  • 局域网站建设php搭建网站软件
  • rt19 wordpressseo常用优化技巧
  • 番禺建设网站专家网站建设客户需求调查问卷