1.安装speedtest-cli speedtest-cli是一个用Python编写的轻量级Linux命令行工具,在Python2.4至3.4版本下均可运行。它基于Speedtest.net的基础架构来测量网络的上/下行速率。安装speedtest-cli很简单——只需要下载其Python脚本文件。 2.下载并授权 # wget https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py # chmod +rx speedtest.py # sudo mv speedtest.py /usr/local/bin/speedtest-cli # sudo chown root:root /usr/local/bin/speedtest-cli 使用speedtest-cli测试网速 使用speedtest-cli命令也很简单,它不需要任何参数即可工作。 # speedtest-cli 输入这个命令后,它会自动发现离你最近的Speedtest.net服务器(地理距离),然后打印出测试的网络上/下行速率。 speedtest-cli --bytes以字节计算的方式来测试上下行速度 speedtest-cli --share将速度测试的结果生成一张图片的连接,便于你分享 speedtest-cli --simple只显示ping和上下行速度 speedtest-cli --list 列出speedtest.net所有的服务器距离你的物理距离,单位是千米(km) 3.执行 4.在浏览器请求http连接,如下所示 查看帮助信息: speedtest-cli -h usage: speedtest-cli [-h] [--no-download] [--no-upload] [--bytes] [--share] [--simple] [--csv] [--csv-delimiter CSV_DELIMITER] [--csv-header] [--json] [--list] […]
Category: 常用命令
grep 命令是在文件中提取符合条件的行,也就是分析一行的信息,如果行中包含需要的信息,就把该行提取出来。而如果要进行列提取,就要利用 cut 命令了。 不过要小心,虽然 cut 命令用于提取符合条件的列,但是也要一行一行地进行数据提取。也就是说,先要读取文本的第一行数据,在此行中判断是否有符合条件的字段,然后再处理第二行数据。我们也可以把 cut 成为字段提取命令。命令格式如下: [root@localhost ~]# cut [选项] 文件名 选项: -f 列号:提取第几列; -d 分隔符:按照指定分隔符分割列; -c 字符范围:不依赖分隔符来区分列,而是通过字符范围(行首为 0)来进行字段提取。"n-"表示从第 n 个字符到行尾;"n-m"表示从第 n 个字符到第 m 个字符;"-m"表示从第 1 个字符到第 m 个字符; cut 命令的默认分隔符是制表符,也就是 Tab 键,不想对空格符支持得不怎么好。我们先建立一个测试文件,然后看看 cut 命令的作用。 [root@localhost ~]# vi student.txt ID Name gender Mark 1 Liming M 86 2 Sc M 90 3 Gao […]
1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 2.格式 grep [OPTIONS] PATTERN [FILE...] 3.主要参数 [options]主要参数: -a或--text 不要忽略二进制的数据。 -A<显示列数>或--after-context=<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之后的内容。 -b或--byte-offset 在显示符合范本样式的那一列之前,标示出该列第一个字符的位编号。 -B<显示列数>或--before-context=<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之前的内容。 -c或--count 计算符合范本样式的列数。 -C<显示列数>或--context=<显示列数>或-<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之前后的内容。 -d<进行动作>或--directories=<进行动作> 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。 -e<范本样式>或--regexp=<范本样式> 指定字符串做为查找文件内容的范本样式。 -E或--extended-regexp 将范本样式为延伸的普通表示法来使用。 -f<范本文件>或--file=<范本文件> 指定范本文件,其内容含有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每列一个范本样式。 -F或--fixed-regexp 将范本样式视为固定字符串的列表。 -G或--basic-regexp 将范本样式视为普通的表示法来使用。 -h或--no-filename 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。 -H或--with-filename 在显示符合范本样式的那一列之前,表示该列所属的文件名称。 -i或--ignore-case 忽略字符大小写的差别。 -l或--file-with-matches 列出文件内容符合指定的范本样式的文件名称。 -L或--files-without-match 列出文件内容不符合指定的范本样式的文件名称。 -n或--line-number 在显示符合范本样式的那一列之前,标示出该列的列数编号。 -q或--quiet或--silent 不显示任何信息。 -r或--recursive 此参数的效果和指定“-d recurse”参数相同。 -s或--no-messages 不显示错误信息。 -v或--revert-match 反转查找。 -V或--version 显示版本信息。 -w或--word-regexp 只显示全字符合的列。 -x或--line-regexp 只显示全列符合的列。 -y 此参数的效果和指定“-i”参数相同。 --help 在线帮助。 4.grep命令使用简单实例 $ grep ‘test’ d* 显示所有以d开头的文件中包含 test的行。 $ grep ‘test’ aa bb cc 显示在aa,bb,cc文件中匹配test的行。 $ grep […]
1、命令简介 nl (Number of Lines) 将指定的文件添加行号标注后写到标准输出。如果不指定文件或指定文件为"-" ,程序将从标准输入读取数据。 2、用法 nl [选项]... [文件]... 3、选项 -b, --body-numbering=样式 使用指定样式编号文件的正文行目 -d, --section-delimiter=CC 使用指定的CC 分割逻辑页数 -f, --footer-numbering=样式 使用指定样式编号文件的页脚行目 -h, --header-numbering=样式 使用指定样式编号文件的页眉行目 -i, --page-increment=数值 设置每一行遍历后的自动递增值 -l, --join-blank-lines=数值 设置数值为多少的若干空行被视作一行 -n, --number-format= 格式 根据指定格式插入行号 -p, --no-renumber 在逻辑页数切换时不将行号值复位 -s, --number-separator=字符串 可能的话在行号后添加字符串 -v, --starting-line-number=数字 每个逻辑页上的第一行的行号 -w, --number-width= 数字 为行号使用指定的栏数 --help 显示此帮助信息并退出 --version 显示版本信息并退出 默认的选项设置是-v1 -i1 -l1 -sTAB -w6 -nrn […]
一、基础篇 1、sed工作原理 sed工作的过程是先从文件中读取一行内容到模式空间里即sed专属的缓存空间,然后判断这行内容是否是需要处理的内容,如果不是就继续从文件中读取下一行,否则对改行内容进行相应处理后输出,然后继续读取下一行进行判断或处理,直到文件最后一行处理完毕整个过程结束。 2、sed命令使用说明 sed命令格式如下: sed 参数 功能选项 文件名或其他标准输入 sed参数如下: -i 修改文件内容 -n 取消默认输出 sed功能选项如下: a 追加内容到指定行后 i 插入内容到指定行前 d 删除指定行 c 用新行替换旧行(不常用) s 对每一行第一次匹配到的内容进行替换,配合标志g可以将一行中所有匹配到的内容进行替换 p 输出指定内容,默认会输出2次匹配到的内容 sed指定操作行的格式有以下几种: 10 匹配第十行10,20 匹配第十行到第二十行10,+20 匹配第十行到第三十行(10+20)1~2 匹配第一行开始的奇数行10,$ 匹配第十行到最后一行/oldboy/ 匹配有oldboy的行/oldboy/,/Alex/ 匹配有oldboy的行到有Alex的行/oldboy/,$ 匹配有oldboy的行到最后一行/oldboy/,10 匹配有oldboy的行到第十行,如果前十行没有匹配到有oldboy的行会对后面匹配到有oldboy的行进行操作1,/Alex/ 匹配第一行到有Alex的行/oldboy/,+2 匹配有oldboy的行及之后的两行 sed s 替换脚本命令 此命令的基本格式为: [address]s/pattern/replacement/flags 其中,address 表示指定要操作的具体行,pattern 指的是需要替换的内容,replacement 指的是要替换的新内容。 关于指定具体操作行(address)的用法,这里先不做解释,文章后续会对其做详细介绍。 此命令中常用的 flags 标记如表 2 所示。 表 2 sed […]
Linux sed 命令是利用脚本来处理文本文件。 sed 可依照脚本的指令来处理、编辑文本文件。 Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。 语法 sed [-hnV][-e<script>][-f<script文件>][文本文件] 参数说明: -e<script>或--expression=<script> 以选项中指定的script来处理输入的文本文件。 -f<script文件>或--file=<script文件> 以选项中指定的script文件来处理输入的文本文件。 -h或--help 显示帮助。 -n或--quiet或--silent 仅显示script处理后的结果。 -V或--version 显示版本信息。 动作说明: a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~ c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行! d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚; i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行); p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~ s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦! 实例 在testfile文件的第四行后添加一行,并将结果输出到标准输出,在命令行提示符下输入如下命令: […]
1.条件变量替换: Bash Shell可以进行变量的条件替换,既只有某种条件发生时才进行替换,替换 条件放在{}中. (1) ${value:-word} 当变量未定义或者值为空时,返回值为word的内容,否则返回变量的值. (2) ${value:=word} 与前者类似,只是若变量未定义或者值为空时,在返回word的值的同时将 word赋值给value (3) ${value:?message} 若变量以赋值的话,正常替换.否则将消息message送到标准错误输出(若 此替换出现在Shell程序中,那么该程序将终止运行) (4) ${value:+word} 若变量以赋值的话,其值才用word替换,否则不进行任何替换 (5) ${value:offset} ${value:offset:length} 从变量中提取子串,这里offset和length可以是算术表达式. (6) ${#value} 变量的字符个数 (变量的字符个数,并不是变量个数) (7) ${value#pattern} ${value##pattern} 去掉value中与pattern相匹配的部分,条件是value的开头与pattern相匹配 #与##的区别在于一个是最短匹配模式,一个是最长匹配模式. (8) ${value%pattern} ${value%%pattern} 于(7)类似,只是是从value的尾部于pattern相匹配,%与%%的区别与#与##一样 (9) ${value/pattern/string} ${value//pattern/string} 进行变量内容的替换,把与pattern匹配的部分替换为string的内容,/与//的区 别与上同 注意:上述条件变量替换中,除(2)外,其余均不影响变量本身的值 2.变量的算术运算 在Bash Shell中,只能进行两个整数间的运算,其结果仍为整数.要进行算术 运算,需要使用let命令,语法为: let expr expr是一个包含项和操作符的表达式,项可以是一个变量或是一个整数常数, 当使用整数常数时,其默认为十进制整数,用户可以用radio#number来指定其它 形式的整数,其中radio定义了整数是几进制表示的,number是该整数的值.若 radio>10,那么数字字符可从0-9和A-Z. 在表达式中支持的操作符及其含义为: +,-,*,/,% 加,减,乘,除,取模 >>,<<,&,^,| […]
第一类:数字性循环 ----------------------------- for1-1.sh #!/bin/bash for((i=1;i<=10;i++)); do echo $(expr $i \* 3 + 1); done ----------------------------- for1-2.sh #!/bin/bash for i in $(seq 1 10) do echo $(expr $i \* 3 + 1); done ----------------------------- for1-3.sh #!/bin/bash for i in {1..10} do echo $(expr $i \* 3 + 1); done ----------------------------- for1-4.sh #!/bin/bash awk 'BEGIN{for(i=1; i<=10; i++) […]
第一种 #!/bin/bash a=5 b=10 c=$[ $a+$b ] echo ${c} 第二种 #!/bin/bash a=5 b=10 let "c=a+b" echo ${c} 第三种 #!/bin/bash a=5 b=10 ((c=a+b)) echo ${c}
grep 命令是在文件中提取符合条件的行,也就是分析一行的信息,如果行中包含需要的信息,就把该行提取出来。而如果要进行列提取,就要利用 cut 命令了。 不过要小心,虽然 cut 命令用于提取符合条件的列,但是也要一行一行地进行数据提取。也就是说,先要读取文本的第一行数据,在此行中判断是否有符合条件的字段,然后再处理第二行数据。我们也可以把 cut 成为字段提取命令。命令格式如下: [root@localhost ~]# cut [选项] 文件名 选项: -f 列号:提取第几列; -d 分隔符:按照指定分隔符分割列; -c 字符范围:不依赖分隔符来区分列,而是通过字符范围(行首为 0)来进行字段提取。"n-"表示从第 n 个字符到行尾;"n-m"表示从第 n 个字符到第 m 个字符;"-m"表示从第 1 个字符到第 m 个字符; cut 命令的默认分隔符是制表符,也就是 Tab 键,不想对空格符支持得不怎么好。我们先建立一个测试文件,然后看看 cut 命令的作用。 [root@localhost ~]# vi student.txt ID Name gender Mark 1 Liming M 86 2 Sc M 90 3 Gao […]