CentOS设置IP和hostname的shell脚本

把ens32替换为当前的网卡名称即可. #!/bin/bash if [ “(whoami)” == “root” ];then echo “当前执行权限: root” else echo “当前用户:”(whoami) echo “请使用管理员权限执行脚本.” exit fi while read -p “是否设置本机静态IP,退出输入:n,设置IP输入:y [y|n]” yn do if [[ {yn} == [Nn] ]];then exit elif [[{yn} == … “CentOS设置IP和hostname的shell脚本”

Read More

Ubuntu设置IP和hostname的shell脚本

以前有段时间经常新配虚拟机搭Kubrenetes环境,于是写了个shell脚本提示性输入配置,今天翻到了发上来. #!/bin/bash # By Swire Chen if [[ (whoami) == “root” ]];then echo “当前执行权限: root” else echo “当前用户:”(whoami) echo “请使用管理员权限执行脚本.” exit fi while read -p “是否设置本机静态IP,退出输入:n,设置IP输入:y [y|n]” yn do if [[ {yn} == [Nn] ]];then … “Ubuntu设置IP和hostname的shell脚本”

Read More

扩展zsh

解释器的介绍 Shell是中脚本编程语言,常见的Shell解释器有sh,ash,csh,zsh,bash,fish等等,当然用的最多的就是sh和bash. sh sh的全称是Bourne Shell,由 AT&T 公司的Steve Bourne开发,为了纪念他,就用他的名字命名了.sh是 UNIX 上的标准 Shell,很多 UNIX 版本都配有 sh.可以说sh是第一个流行的 Shell 解释器.它常见于一些嵌入式或工业定制化内核版本的Unix/Linux中,比如路由器,交换机中. bash bash由 GNU 组织开发,保持了对 sh Shell 的兼容性,并扩展了许多语法功能, 因此针对sh编写的 Shell 代码可以不加修改地在 bash 中运行.bash则是作为各种Linux发行版的默认Shell解释器,比如CentOS/Debian/Ubuntu. 虽然在很大程度上bash可以作为一个正统的Shell,但它还是太弱了,常常能感觉到在终端中使用bash时的一些繁琐步骤,比如用cd命令一层层进入一个目录时的无奈感,当然你可以用tree命令显示一下目录结构,但有时文件太多也会显得无力. 所以是时候加强它了,就像是存在有vi的加强版vim,bash同样也有加强版,还不少,比如:csh,fish这些都是它的加强版. 其实我尝试用了zsh和fish,感觉都挺好,打个比喻的话,zsh那就像是一个Vim,可高度定制;而fish则有点像是IDE,直接就能用上许多牛逼的功能.但还是选择用了zsh,并不是说fish的定制不如zsh,而是我发现了一个牛逼的开源库Oh My Zsh. Oh My … “扩展zsh”

Read More

dd命令测试硬盘性能

上周买了vps,网上有一键测试vps性能的脚本,跑了下,发现有些看不懂,所以就单独只测试我想要的硬盘读写性能. 首先man dd一下,可以看到dd命令的作用是convert and copy a file,转换并复制数据块. 参数: – if=文件名:输入文件名,缺省为标准输入。即指定源文件 – of=文件名:输出文件名,缺省为标准输出。即指定目的文件 – bs=bytes:同时设置读入/输出的块大小为bytes个字节 – cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小 – ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节 – obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节 – skip=blocks:从输入文件开头跳过blocks个块后再开始复制 – seek=blocks:从输出文件开头跳过blocks个块后再开始复制 – count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数 – conv=conversion:用指定的参数转换文件,可用参数如下(哥英语菜就不翻译了): ascii from EBCDIC to ASCII ebcdic from … “dd命令测试硬盘性能”

Read More

tar命令

tar命令来自自由软件基金会的GNU开源项目,它是一个打包文件的命令. 在Linux世界中,tar这个家伙是必不能少的. 通常在Linux发行版中,tar都已经集成,使用方法可以用man tar命令查看. 哥不过是在此做个简单的学习记录. tar: – -f: 指定某个文件名称 – -c: 归档 – -x:解档 – -t:查看内容 – -r:在归档文件末尾追加文件 – -u:更新原压缩包中的文件 – -z: 使用gizp压缩方式归档 – -j: 使用bzip2压缩方式归档 – -v: 显示详情 – -O: 指定输出路径 – –xz: 使用xz压缩方式归档 … “tar命令”

Read More

Shell-算术运算

由于shell的所有变量默认都是字符型,所以shell的算术运算需要对变量进行特殊声明. var1=1 var2=2 var3={var1}+{var2} echo ${var3} 以上代码输出的结果是1+2,可以看到只是单纯的字符串拼接,并没有做任何的算术运算. decalre 若要参与运算,可以使用命令declare. declare usage: declare [-aAfFgilnrtux] [-p] [name[=value] …] – -:给变量设定类型属性; – +:取消变量的类型属性; – -a:将变量声明为数组型; – -i:将变量声明为整数型(integer); – -r:将变量声明为只读变量。注意,一旦设置为只读变量,既不能修改变量的值,也不能删除变量,甚至不能通过 +r 取消只读属性; – -x:将变量声明为环境变量; – -p:显示指定变量的被声明的类型; var1=1 var2=2 declare … “Shell-算术运算”

Read More

Shell-输出/判断/管道

学习就要趁热打铁. 输入输出 Linux下有标准的输出输出,为stdin,stdout,stderr.其中stdin是从键盘获取输入,文件描述符为0;stdout则是将内容输出到屏幕,文件描述符为1;而stderr则类似stdout,也是输出到屏幕,但文件描述符为2. 三者都可以重定向. shell中可以使用echo,printf将内容输出. echo语法: echo “content.” printf语法: printf format-string [arguments…] 其中format-string可以使用%s %c %d %f等格式替代符,并支持指定宽度与小数位数. 即: #!/bin/bash printf “%-10s %-8s %-6s\n” Name Sex Weight printf “%-10s %-8s %-6.2f\n” Allen male 60.2222 printf “%-10s %-8s … “Shell-输出/判断/管道”

Read More

Shell-注释和变量

注释 shell中单行注释以#开头. 多行注释则如下: #!/bin/bash var=1 <<COMMENT this is comment. this is comment. this is comment. COMMENT 其中<<COMMENT的意思是重定向该行以下内容,直到在再次遇到以COMMENT为内容的新行,其中COMMENT可以替换为任意字符串. 多行注释,并不推荐使用. 关键字与变量 shell变量分为3种: 1. 预定义变量 2. 预环境变量 3. 自定义变量 预定义变量 预定义变量常用来获取命令行的输入,有下面这些: 环境变量 环境变量继承自系统和当前用户,可以在执行的时候获取,在执行也可修改,但只对此次执行的脚本有效,对当前系统无效. 使用env或printenv命令即可获取所有当前环境变量,用法与自定义变量无异. shell关键字 太多了.放链接: – shell … “Shell-注释和变量”

Read More

Shell-基础

看了一些关于shell的概念,并开始看POSIX标准的shell联机手册,感觉shell不像是一种语言,倒像是一种会调用各个命令的语法的执行地方,虽然里边也有if,while,for这些关键字. Whatever,哥对shell还是很感兴趣的. 起手式 正规的shell脚本文件需要在文本的首行指出它要的解释器,例如这样: #!/bin/bash 其中的#!指出了改脚本的解释路径,当然,如果找不到,也没关系,Linux系统,会使用默认的解释器.而/bin/bash则是解释器的路径了,你也可以写成/bin/sh,不过sh和bash的关系就像vi和vim的关系,sh太弱了,有些语法会不认识或不兼容,而bash则强大的多,bash也有好多中,一般用的都是cbash. 当然也可以不写,将后缀名改为.sh后,并执行chmod +x xxx.sh,赋予执行权限后,即可执行,但这不符合标准,要知道世界是有众多的规则和标准组成的. 无规矩,不方圆. 参考: – POSIX标准 shell在线手册

Read More

cat不是猫,top不是置顶

cat cat命令是用来查看Linux下文本的输出命令. cat的命令格式为: cat [-AbeEnstTuv] [–help] [–version] file 参数: -n 或 –number 由 1 开始对所有输出的行数编号 -b 或 –number-nonblank 和 -n 相似,只不过对于空白行不编号 -s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行 -v 或 –show-nonprinting 用例 cat查看某个文件内容: cat someFile cat合并文件: cat someFile1 … “cat不是猫,top不是置顶”

Read More