Linux基本语法6

来源:互联网 发布:apple mac pro评测 编辑:程序博客网 时间:2024/05/19 23:16
bash的主要优点:
#命令记忆能力
#命令与文件补全功能
#命令别名设置功能
#作业控制、前台、后台控制
#程序脚本
#通配符

bash shell的内置命令:type
type [-tpa] name
参数:
type:不加任何参数时,type会显示出name是外部命令还是bash的内置命
-t:当加入-t参数时,type会将name以下面这些字眼显示出它的意义
file:表示为外部命令
alias:表示该命令为命令别名所设置的名称
builtin:表示该命令为bash内置的命令功能
-p:如果后面接的name为外部命令时,才会显示完整文件名
-a:会由PATH变量定义的路径中,将所有含有name的命令都列出来,包含alias


在命令执行过程中,反单引号(')这个符号代表的意义为何
 在一串命令中,在‘之内的命令将会被先执行,而其执行出来的结果将作为外部的输入信息。如uname -r会显示出目前的内核版本,而我们的内核版本在/lib/modules中。
因此,可以先执行uname -r找出内核版本,然后再以cd目录回到该目录下。

若你有一个常去的工作目录名称为“/cluster/server/work/taiwan_2005/003”,如何进行该目录的简化
再一般情况下,如果想进入上述的目录需要执行“cd/cluster/server/work/taiwan_2005/003”。但如此一来,变换目录就会很麻烦。所以一般采用下面的方式来降低执行的错误
work = “/cluster/server/work/taiwan_2005/003”
cd $work

变量键盘读取、数组与声明:read,array,declare
read:读取键盘输入的变量
read [-pt] variable
-p:后面可以接提示符
-t:后面可以接等待的秒数

declare/typeset:声明变量的类型。
如果使用declare后面没有接任何的参数,那么bash就会将所有的变量名称与内容全部显示出来,就像set一样。
declare [-aixr] variable
-a:将后面名为variable的变量定义为数组(array)类型
-i:将后面名为variable的变量定义为整数数字类型
-x:用法与export一样,就是将后面的variable变成环境变量
-r:将变量设置为readonly类型,该变量不可被更改内容,也不能被重设


数组:
数组的设置方式为:var[index]=content


与文件系统及程序的限制关系:ulimit
ulimit [-SHacdfltu] [配额]
-H:hard limit,严格的设置,必定不能超过这个这个设置的数值
-S:soft limit,警告的设置,可以超过这个设置置,但是若超过则有警告信息
在设置上,通常soft会比hard小,举例来说,soft可设置为80而hard为100.那么你可以使用到90,那么你可以使用90(因而没有超过100),但介与80~100之间时,会有警告信息
-a:后面不接任何参数,可列出所有的限制额度
-c:当某些进城发现错误时,系统可能会将该进城在内存中的信息写成文件。这种文件就被称为内核文件,此为限制每个内核文件的最大容量
-f:此shell可以创建的最大文件容量(一般可能设置潍2GB),单位为KB
-d:进程可使用的最大判断内存(segment)容量
-l:可用于锁定(lock)的内存量
-t:可使用的最大的CPU时间(单位为秒)
-u:单一用户可以使用的最大进程(process)数量

基础正则表达式:
[:alnum:]:代表英文大小写字符及数字,即0-9,A-Z,a-z
[:alpha:]:代表任何英文大小写字符,即A-Z,a-z
[:blank:]:代表空格键与[Tab]按键
[:cntrl:]:代表键盘上的控制按键,即包括CR,LF,Tab,Del等
[:digit:]:代表数字,0-9
[:graph:]:除空格符(空格键与(Tab))外的其他所有
[:lower:]:代表小写字符,即a-z
[:print:]:代表任何可以被打印出来的字符
[:punct:]:代表标点符号,即“ ‘ ? ! ; :# $
[:upper:]:代表大写字符,即A-Z
[:space:]:任何会产生空白的字符,包括空格键[Tab]CR等
[:xdigit:]:任何十六进制的数字类型,因此包括0-9,A-F,a-f的数字与字符

grep的一些高级参数
grep [-A] [-B] [--color=auto] '搜寻字符串' filename
参数
-A:后面可加数字,为after的意思,除了列出该行外,后序的n行也列出来
-B:后面可加数字,为before的意思,出来列出该行外,后面的n行也列出来

sed工具
sed [-nefr] [动作]
参数:
-n:使用安静模式,在一般的sed的用法中,所有来自STDIN的数据一般都会被列出在屏幕上。如果加上-n后,只有经过sed特殊处理的那一行才会被列出来
-e:直接在命令行模式上进行sed的动作编辑
-f:直接将sed的动作写在一个文件内,-f filename则可以执行filename内的sed动作
-r:sed的动作支持的是扩展型正则表达式的语法
-i:直接修改读取的文件内容,而不是由屏幕输出
动作说明:[n1[,n2]] function
n1,n2:不见得会存在,一般代表选择进行动作的行数。如我的动作是需要在10到20行之间进行的,则”10,20[动作行为]“

function有下面这些参数:
a:新增,a的后面可以接字符串,而这些字符串会在新的一行出现
c:替换,c的后面可以接字符串,这些字符串可以替换n1,n2之间的行
d:删除,因为是删除,所以d后面通常不接任何参数
i:插入,i的后面可以接字符串,而这些字符串会在新的一行出现
p:打印,也就是将某个选择的数据打印出来。通常p会与参数sed -n一起运行
s:替换,可以直接进行替换的工作。通常s的动作可以搭配正则表达式。

扩展正则表达式
+:重复一个或一个以上的钱一个RE字符
?:零个或一个的钱一个RE字符
|:用或or的方式找出数个字符串
():找出”组“字符串
()+:多个重复组的判别
1 0
原创粉丝点击