学习shell
来源:互联网 发布:tunaproxy软件 编辑:程序博客网 时间:2024/06/05 16:12
一 vi文本处理器
vi文本处理器有三种模式:
1) 一般模式
2) 编辑模式
3) 命令行模式
常见命令见上一篇“vi常用命令”。
二Bash shell
1) 变量和变量的设定
变量是以一组文字或符号取代一些设定或一串数据。
l echo:显示当前的PATH变量,命令格式如下:
[root @test root]# echo $PATH
l env:读取当前系统中的主要变量
l set:显示当前的环境变量和自定义变量
l export:当取得一个bash之后,即得到了一个程序,但是若再次执行bash,那么将进入子程序,父程序中的变量设定将不继续存在,如果想让该变量内容继续在子程序中使用,要执行 export 变量
l unset 直接取消该变量内容
自定义变量的两个原因:
l 路径名称
l 在脚本中
设定变量的规则如下:
l 变量与变量内容以等号“=”连接;
l 等号两边不能直接接空格符;
l 变量名称只能是英文字母与数字,其中数字不能是开头字符;
l 若有空格符,可以使用双引号或单引号将变量内容结合起来,但要特别留意,双引号内的特殊字符可以保留变量特性,单引号内的特殊字符则仅为一般字符;
l 必要时以跳转字符“\”将特殊符号(如Enter,$,\,空格符等)变成一般符号;
l 在一串指令中,还需要借助其他指令提供的信息,这时可以使用quote”`command”;
l 若该变量需要在其他子程序执行,则以export使变量可以动作,如export PATH;
l 通常大写字符为系统预设变量,自定义变量可以使用小写字符,方便判断;
l 取消变量的方法为:unset变量名称。
2) 命令别名与历史命令
alias与unalias
例如将ls –al | more简化为lm
[test @test test]alias lm= ‘ls –al | more’
History查询我们曾经输入的指令
3) bash(Bourne Again Shell)的配置文件
l 系统设定值
默认的配置文件有下列几个:
/etc/profile
/etc/bashrc
/etc/man.config
l 个人设定值
/.bash_profile 定义了个人路径与环境变量的文件名称;
/.bashrc对于个人喜好的bash设定是最重要的;
/.bash_history用于将曾经用过的命令记录下来,而当再次以上下键搜寻或者直接以history搜寻时,就可以找到曾经用过的指令。
/.bash_logout:注销shell时,BASH做的事情。
4) 通配符与特殊符号
在shell中常用到一些通配符,这些通配符搭配一些特殊符号可以更好地利用指令。
5) 绝对路径与相对路径
l 绝对路径:将目录写全。
l 相对路径:系统默认是不主动搜寻当前目录下的执行文件。那么该如何执行当前目录下的执行文件?就是利用相对路径的概念。“..”是上层,而“.”是这一层。
6) 命令重定向
什么是重定向?就是将目前的所得数据转到其他地方。
l <:由<的右边读入参数文件;
l >:将原本由屏幕输出的正确数据输出到>右边的file或device;
l >>:将原本由屏幕输出的正确数据输出到>>右边,与>不同的是,该文件将不会被覆盖,而新的数据将以累加方式添加到文件的最后面;
l 2>:将原本应该由屏幕输出的错误数据输出到2>的右边;
l /dev/null:可以视为垃圾设备。
为何要使用命令输出重定向呢?
l 当屏幕输出的信息很重要,而且我们需要将它保存的时候;
l 背景执行中的程序,不希望它干扰屏幕正常的输出结果时;
l 一些系统的例行命令的执行结果,希望它可以保存下来时;
l 一些执行命令,我们已经知道可能的错误信息,所以想以2> /dev/null将它丢掉时;
l 错误信息与正确信息需要分别输出时。
7) 管线命令
如果一些数据必须经过几道手续之后才能得到我们想要的格式,需要用到管线命令。
常用管线命令:
cut:主要的用途在于将同一行里的数据进行分解。
sort:比较一些信息
wc:计算文件内容的工具
uniq:删除重复的行从而只显示一个
tee:将数据同时显示在屏幕上和文件中
三压缩指令与正规表示法
1)压缩解压指令
Linux中压缩文件后缀名大都是*.tar.gz,*.Z,*.bz2等类型。虽然linux中文件能不能执行与它的文件属性有关,与文件名的关系很小,为了帮助记忆,适当的文件名后缀名还是必要的:
*.Z:compress程序压缩的文件
*.bz2:bzip2程序压缩的文件
*gz:gzip程序压缩的文件
*.tar:tar程序打包的数据,没有经过压缩
*.tar.gz:tar程序打包的文件,且经过gzip压缩
l compress与uncompress:压缩与解压缩后缀名为*.Z的指令。
l bzip2,bzcat:bzip2是压缩解压缩指令,bzcat是读取压缩文件内容。
l tar:tar是一个多用途的压缩指令,compress和gzip只适用在一个文件的压缩,但是如果要压缩一个目录,这时应该使用tar。
l cpio:备份和还原。
2)正规表示法
正规表示法(Regular Express)使用的地方相当广泛。如grep指令
找出在/etc下文件内容含有*的文件名称?
执行:grep \* /etc/*
四脚本
下面用一个例子说明脚本的用法:
脚本的作用是检测主机的端口是否开启。
待续。
- shell学习
- shell 学习
- shell学习!
- 学习shell
- shell学习
- shell学习
- shell学习
- shell学习
- 学习shell
- Shell 学习
- shell学习
- shell 学习
- shell学习
- shell 学习
- shell学习
- shell 学习
- SHELL 学习
- shell学习
- DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704,
- multipart/form-data和application/x-www-form-urlencoded的区别
- 后台截屏
- Maven学习 (二) Eclipse 上安装 Maven3插件
- Maven学习 (三) 使用m2eclipse创建web项目
- 学习shell
- 数据仓库-数据管控
- Maven学习 (四) 使用Nexus搭建Maven私服
- css选择器
- hdu/hdoj 1015 Safecracker
- Maven学习 (五) Elipse中发布一个Maven项目到Tomcat
- HTML5学习2
- Maven学习 (六) 搭建多模块企业级项目
- Win7,安装.NetFx4时报“HRESULT 0xc8000222”错的解决办法