可以做网站的软件上传歌曲,綦江建站哪家正规,百度关键词统计,dw制作wap网站怎么做shell脚本重点记录
判断文件或者文件夹是否存在
if [ ! -d log ];thenchmod 707 $file1一个文件的权限包括读取、写入、执行#xff0c;权限范围包含所有者、所属组、其他人#xff0c;可以通过数字或者字母描述一个文件的权限#xff1a;读取权限对应r或4log ];thenchmod 707 $file1一个文件的权限包括读取、写入、执行权限范围包含所有者、所属组、其他人可以通过数字或者字母描述一个文件的权限读取权限对应r或4写入权限对应w或2执行权限对应x或1。例如7代表读取写入执行权限6代表读取写入权限5代表读取执行权限4代表读取权限3代表写入执行权限2代表写入权限1代表执行权限0代表无权限。
logls -l | grep monitor |awk {print $8} |sort -n | awk END{print} |cut -d _ -f 1ls -l 列出文件的具体信息。grep 提取包含monitor的行。awk对每一行分割并打印每一行第八个元素。使用纯数字进行排序。任何在BEGIN之后列出的操作在{}内将在Unix awk开始扫描输入之前执行而END之后列出的操作将在扫描完全部的输入之后执行。因此通常使用BEGIN来显示变量和预置初始化变量使用END来输出最终结果。sort递增的顺序排序,cut -d 分隔符 -f 第几段
cut用于对一行的文字进行分割 cut -d分隔字符 -f fields 用于有特定分隔字符cut -c 字符区间 用于排列整齐的讯息awk用于将一行的文字分为不同的字段后面接两个单引号并加上大括号 {} 来设定想要对数据进行的处理动作而默认的『字段的分隔符为 “空格键” 或 “[tab]键” 。 grep用于在多行文本中搜索字符串提取包含指定字符串的行
awk 条件类型 1{动作 1} 条件类型 2{动作 2} ... filenamegrep [-acinv] [--colorauto] 搜寻字符串 filename
选项与参数
-a 将 binary 文件以 text 文件的方式搜寻数据
-c 计算找到 搜寻字符串 的次数
-i 忽略大小写的不同所以大小写视为相同
-n 顺便输出行号
-v 反向选择亦即显示出没有 搜寻字符串 内容的那一行
--colorauto 可以将找到的关键词部分加上颜色的显示喔grep [-A] [-B] [--colorauto] 搜寻字符串 filename练习作业
目标提取CPU和内存的使用情况并保存为CSV文件并通过图标可视化。 shell脚本如下
#!/bin/bash interval1 output_filecpu_mem_info.csv start_time$(date %s) while true; do current_time$(date %s) run_time$((current_time - start_time)) us$(top -bn1 | grep Cpu(s) | awk {print $2}) sy$(top -bn1 | grep Cpu(s) | awk {print $4})ni$(top -bn1 | grep Cpu(s) | awk {print $6})id$(top -bn1 | grep Cpu(s) | awk {print $8})mem_total$(free -m | awk NR2{print $2}) mem_used$(free -m | awk NR2{print $3}) mem_free$(free -m | awk NR2{print $4})echo $run_time,$us,$sy,$ni,$id,$mem_total,$mem_used,$mem_free $output_file sleep $interval
donecsv文件的部分内容如下
0,0.8,0.4,2.0,96.7,16005,7608,481
1,0.8,0.4,2.0,96.7,16005,7607,482
3,0.8,0.4,2.0,96.7,16005,7605,484
5,0.8,0.4,2.0,96.7,16005,7623,466
6,0.8,0.4,2.0,96.7,16005,7620,469
8,0.8,0.4,2.0,96.7,16005,7617,472
10,0.8,0.4,2.0,96.7,16005,7617,472
12,0.8,0.4,2.0,96.7,16005,7617,472
13,0.8,0.4,2.0,96.7,16005,7624,472
15,0.8,0.4,2.0,96.7,16005,7613,483
17,0.8,0.4,2.0,96.7,16005,7613,484
19,0.8,0.4,2.0,96.7,16005,7612,485
20,0.8,0.4,2.0,96.7,16005,7613,484
22,0.8,0.4,2.0,96.7,16005,7613,484
24,0.8,0.4,2.0,96.7,16005,7613,484
25,0.8,0.4,2.0,96.7,16005,7612,484
27,0.8,0.4,2.0,96.7,16005,7612,484
29,0.8,0.4,2.0,96.7,16005,7612,484
31,0.8,0.4,2.0,96.7,16005,7613,484
32,0.8,0.4,2.0,96.7,16005,7612,484记录一段时间后csv可视化如下所示 系统移植笔记
在进行 Linux 驱动开发之前肯定需要先将Linux 系统移植到开发板上去。大致步骤分为移植bootloader代码、Linux内核和根文件系统
bootloader
bootloader用于启动Linux系统内核芯片上电之后会首先运行bootloader程序首先初始化DDR等外设然后将Linux内核从flash中拷贝到DDR中并启动Linux内核。U-Boot是最为广泛使用的bootloader程序。 uboot 官方的 uboot 源码是给半导体厂商准备的半导 体厂商会下载 uboot 官方的 uboot 源码然后将自家相应的芯片移植进去。我们自己做的板子就需要修改芯片厂商官方的 uboot使其支持我们自己做的板子。 uboot 官方的基本是不会用的因为支持太弱了。最常用的就是半导体厂商或者开发板厂商的 uboot所以uboot移植是指通过半导体厂商提供的uboot适配自己的开发板。