shell编程基础知识汇总

上传人:添*** 文档编号:189760413 上传时间:2021-08-07 格式:DOC 页数:6 大小:25.50KB
返回 下载 相关 举报
shell编程基础知识汇总_第1页
第1页 / 共6页
shell编程基础知识汇总_第2页
第2页 / 共6页
shell编程基础知识汇总_第3页
第3页 / 共6页
shell编程基础知识汇总_第4页
第4页 / 共6页
shell编程基础知识汇总_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《shell编程基础知识汇总》由会员分享,可在线阅读,更多相关《shell编程基础知识汇总(6页珍藏版)》请在金锄头文库上搜索。

1、1. shell程序的执行先将shell脚本放置于linux系统任意目录下,最好自己创建一个目录,如然后chmod命令对脚本进行赋予可执行权限。选择./xxx.sh或者bash x xxx.sh执行shell脚本,后者可以显示每条命令的运行结果,调试脚本时候非常有用。2. 变量变量名区分大小写,无须声明,可以直接赋值;引用变量需要在变量前面加$符号。注意:直接赋值时变量和=之间不带空格,如var=100。如果需要用变量和其他字符组成新的字符串,可以把变量用括起来。变量后还可以加一个参数表示如果变量没有初始化就使用的值.形式是var:-val,例如:$varname:=word 如果varnam

2、e存在且不为空,则使用varname的值;否则将其值设置为word,并返回其值$ varname: +message 如果varname存在且非full,则返回word;否则返回null对于未赋值的变量,bash会以空值对待,也可以使用unset命令来清除给变量赋的值。数组形式为:变量名下标=值,或者 变量名=多个值。下标可以用字符。declare或typeset可以使用+/-r选项来设置/撤销变量的只读属性。export可以把变量输出到环境中,以使其他程序也可以使用。相反,使用local声明的变量是局部变量,仅供在当前函数内使用。特定shell变量:$0当前命令对应的可执行文件名;$1-$9

3、命令参数;$#参数个数;$*所有参数;$所有参数,并且每个参数以括住;$当前进程ID号;$?最后的命令的退出状态,如果正常退出则返回0,反之为非0值。3. 特有命令: 空,永远返回true,可用于while循环作为条件shift 可以后跟一个数字n来左移n个参数read 从输入设备读入变量值,后必须跟一个变量名echo 显示信息eval 它把参数连接成一个命令让shell执行exec 执行命令return/break/continue 在函数和循环中使用4. 比较语句使用test expression或 expression 形式. 注意,在bash语法中,if语句中应该使用 进行判断。字符串

4、比较:比较两个字符串内容是否相同可以直接使用=或!=操作符。选项-n用于判断字符串是否非空。选项-z用于判断字符串是否为空。使用=来判断正则匹配,比如 $line = .*$keywd.* 来判断line中是否包含keywd。注意:对字符串进行判断时,一定要使用括住变量,而不能直接判断变量,否则会得到错误的结果。例如$nu; 则 -n $nu 为真; -n $nu 为假。数值比较:使用选项-eq,-ne,-lt,-gt,-le,-ge来判断两个数值之间的大小。文件操作:选项-d,-f,-L分别用于判断对象类型是否是目录,文件和符号链接。选项-r,-w,-x分别用于判断文件属性是否是可读,可写,

5、可执行。选项-e用来判断文件是否存在,选项-s用来判断文件长度是否大于零。选项-n用来判断第一个文件是否比第二个文件新(根据修改日期)。逻辑操作:使用选项-a,-o,!来表示与,或,非的逻辑操作。5. 算术计算语句使用let expression或( expression )形式可以在表达式里使用多种操作符,如+,-,*,/,%,=,=,!=,=等注:返回的是一个变量,故赋值前要加$符号,使用类似以下方式赋值:var=100var=$($var+1)6. 控制语句for循环语法格式如下:for var in listdo.done以上语句对list列表中以空格等分隔的对象实行遍历。while循

6、环语法格式如下:while conditiondo.done当条件为真时循环执行。until循环语法格式如下:until conditiondo.done当条件为假时循环执行。if语句语法如下:if cond1then.elif cond2 then.else.ficase语句语法如下:case string instr1|str2).;str3).;*).;Esacselect语句语法如下:select name in listdo. #一般在这里使用casedone7. linux基本命令grep 它能使用正则表达式搜索文本并把匹配的行显示出来。选项-v只显示不匹配的行,-i匹配时忽略大小

7、写。sort 排序uniq 去除重复,选项-d是只显示重复项tee 输出结果同时输出到标准输出和文件中expr 进行数学运算alias 为字符串或命令起别名,unalias禁止一个别名history 显示已输入过的命令,使用!加命令号码可以重新执行该命令times 后加命令可以显示该命令执行所用的时间type 查询命令类型,是否是shell内建命令.clear 清屏export 导出变量,如添加新路径,但重启后就会恢复修改。8. 文件的操作cd 切换目录。cd-返回上一个目录,cd进入用户的home目录。ls 目录列表。选项-a显示全部文件,-l显示长信息,R递归列出所有子目录的内容,-sor

8、t=time按更新时间降序排序。注:alias ll=ls -l -color=ttymkdir 建立目录。rmdir 删除目录。rm 删除文件。选项-f强制删除,-i删除前给出提示信息,-r|-R递归删除所有子目录和文件。cp 复制。选项-r|-R递归复制所有子目录和文件,-u不覆盖更新的文件,-b为被覆盖的文件创建备份(默认以为后缀)。mv 移动或重命名文件。ln 建立连接文件.chmod 改变文件的存取权限。a为所有用户,u为所有者,g为组用户,o为其他用户,对这几种范围可以使用+,-,=来设置r,w,x属性。-R来做递归修改。umask 改变文件的默认存取权限chown 改变文件的属主

9、chgrp 改变文件所属的组touch 更新文件的时间标志或创建新文件pwd 显示当前工作路径cat 显示文件内容,选项-n显示行号,-s显示时合并多个空行为一个空行,-T将tab符显示为Imore 按页显示文件内容,中途可以按q提前退出less 按页显示文件内容,可以使用翻页键来前后翻页wc 统计文件中的行数,单词数和字符数find 查找文件。选项-name后可跟文件名的匹配模式,-iname则文件名忽略大小写,-exec cmd ;使用每一个匹配的文件名作为参数执行指定的命令。其他常用参数:-group -user -nouser -empty -size +/-512k -amin -n

10、 -atime -n -mmin-n -mtime -nlocate 定位路径。支持多个搜索字符串和正则表达式匹配。file 判断可执行文件的具体类型strings 查找一个二进制文件中的可显示字符串9. 用户帐号管理命令useradd 添加用户passwd 为用户制定密码userdel 删除用户,选项-r会删除该用户账户拥有的所有目录和文件usermod 更改用户的设置groupadd 增加一个用户组groupdel 删除一个用户组groupmod 更改一个用户组的设置10. 进程管理命令nice 改变指定进程的优先级,优先级默认为10,值越小优先级越高ps 对当前的进程状态进行快照并显示.

11、top 动态显示进程状态,选项-d指定刷新间隔,单位为秒kill 杀死指定PID的对应进程,选项-9/-KILL是强行结束,-1/-HUP是重新运行,不加参数默认是-15/-TERM11. 磁盘和设备管理名称df 检查文件系统的磁盘空间占用情况,选项-a显示所有文件系统du 显示指定目录的磁盘空间的使用情况,选项-s只显示总数,-a递归显示所有文件和子目录,默认是只递归显示子目录mount 加载设备,选项-t type dev dir用来加载设备的文件系统到指定的目录,type指定分区类型,vfat为FAT32或FAT16,ntfs为NTFS分区,ocodepage=936,iocharset

12、=cp936指定用中文显示文件名和目录。例如:加载U盘:mount /dev/sda1 /usb -ocodepage=936,iocharset=cp936。加载软盘:mount /dev/df0 /mnt/floppy加载光盘:mount /dev/cdrom /mnt/cdrom如果需要开机时自动加载,需要把以上命令的参数加入etc/fstabumount 卸载指定目录对应的文件系统12. 网络管理命令nslookup 将域名解析为IP地址ifcongfig 网络接口配置,可以配置IP地址,子网掩码等route 路由配置netstat 显示网络状态信息ping 命令,选项-c后跟测试次数

13、traceroute 跟踪路由,得到数据包从源主机到目标地址的路由信息service 启动某个守护进程arp 地址解析协议命令,选项-a可以显示当前访问的所有远程主机名,IP地址和硬件地址telnet 远程登陆命令ftp 命令13. awk程序模型简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk pattern + action filenames其中 pattern 表示 AWK 在数据中查找的内容,而 action 是在找到匹配内容时所执行的一系列命令。花括号()不需要在程序中始终出现,但它们用于根据特定的模式对一系列指令进行分组。 p

14、attern就是要表示的正则表达式,用斜杠括起来。awk语言的最基本功能是在文件或者字符串中基于指定规则浏览和抽取信息,awk抽取信息后,才能进行其他文本操作。完整的awk脚本通常用来格式化文本文件中的信息。通常,awk是以文件的一行为处理单位的。awk每接收文件的一行,然后执行相应的命令,来处理文本。14. sed命令sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非

15、你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。rootwww # sed -nefr 动作选项与参数:-n :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到终端上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。-e :直接在命令列模式上进行 sed 的动作编辑;-f :直接将 sed 的动作写在一个文件内, -f filename 则可以运行 filename 内的 sed 动作;-r :sed 的动作支持的是延伸型正规表示法的语法。(默认是基础正规表示法语法)-i :直接修改读取的文件内容,而不是输出到终端。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 存储

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号