读《LINUX系统命令及shell脚本》

2017-07-30  本文已影响0人  HeyCoco

认知了

ps : Process Status

ps-aux 显示其他用户启动的进程(a)

查看系统中属于自己的进程(x)

启动这个进程的用户和它启动的时间(u)

grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

su命令后面还可以加上一个“-”参数,就是键盘上的中横线。加上这个参数后,切换成root用户时,不但身份变成了root,而且还能应用root的用户环境。

su-命令后还可以继续跟其他的用户名作为参数,这样就可以切换成指定用户的身份。

用其他用户的身份执行命令:sudo

sudo并不是真的切换了用户,而是使用其他用户的身份和权限执行了命令。

周期性执行的,其命令为cron;如果只是在某一个特定的时间执行一次,其命令为at。

[root@localhost ~]# at now + 30 minutes

at> /sbin/shutdown-h now

at>组合键Ctrl+D,输入结束;

job 1 at 2012-11-06 23:39

cron的精度是一分钟,所以它每分钟醒过来看看需要执行哪些任务

/etc

etc不是什么缩写,是and so on的意思 来源于 法语的 et cetera 翻译成中文就是 等等 的意思. /etc下面存放配置文件。

在Linux下,所有以点开始的文件都是“隐藏文件”,对于这类文件,只使用命令ls-l是看不到的,必须要使用ls-la才可以看到

[root@localhost ~]# tar-zcvf boot.tgz /boot

这里-z的含义是使用gzip压缩,-c是创建压缩文件(create),-v是显示当前被压缩的文件,-f是指使用文件名,也就是这里的boot.tgz文件。解压命令如下:

[root@localhost ~]# tar-zxvf boot.tgz

上面的命令会直接将boot.tgz在当前目录中解压成boot目录,-z是解压的意思。如需要指定压缩后的目录存放的位置,需要再使用-C参数。比如说将boot目录解压到/tmp目录中:

[root@localhost ~]# tar-zxvf boot.tgz-C /tmp

要确认网卡是否出现了物理或驱动故障,使用ping本机IP地址的方式,如果能ping通则说明本地设备和驱动都正常。

top命令提供了实时的系统状态监控,可以按照CPU使用、内存使用、执行时间等指标对进程进行排序。

正则表达式就是能用某种模式去匹配一类字符串的公式,它是由一串字符和元字符构成的字符串

❏\{n,\} 匹配前面的字符至少n次以上(含n次)。

\{n,m\} 匹配前面的字符n到m次。

4.“ ^”符号

这个符号位于键盘数字6的上面,又称尖角号。这个符号用于匹配开头的字符。比如说“^root”匹配的是以字母root开始的行。

[root@localhost ~]# grep '^root' /etc/passwd

root:x:0:0:root:/root:/bin/bash

5.“ $”符号

和上面的尖角号相对,“$”用于匹配尾部,比如说“abc$”代表的是以abc结尾的行。如果是“^$”则代表该行为空,因为^和$间什么都没有。

6.“ []”符号

这是一对方括号,用于匹配方括号内出现的任一字符。比如说单项选择题的答案,可能是A、B、C、D选项中的任意一种,用正则表达式表示就是[ABCD]。如果遇到比较大范围的匹配,比如说要匹配任意一个大写字母,就需要使用“-”号做范围限定,写成[A-Z],要匹配所有字母则写成[A-Za-z]。

看如何匹配手机号。手机号是11位连续的数字,第一位一定是1,所以表示为“^1”;第二位有可能是3(移动)或8(联通),表示为“[38]”;后面连续9个任意数字,表示为“[0-9]\{9\}”;所以整个表达式应该写为“^1[38][0-9]\{9\}”。

使用组合—“\<\>”用于精确匹配一个字符串。所以“\”可精确匹配单词hello

#grep支持一类特殊的POSIX字符,列举如下

#[:alnum:]  文字数字字符

#[:alpha:]  文字字符

#[:digit:]  数字字符

#[:graph:]  非空字符(非空格、控制字符)

#[:lower:]  小写字符

#[:cntrl:]  控制字符

#[:print:]  非空字符(包括空格)

#[:punct:]  标点符号

#[:space:]  所有空白字符(新行,空格,制表符)

#[:upper:]  大写字符

#[:xdigit:]  十六进制数字(0-9,a-f,A-F)

#搜索以大写字母开头的行

[root@localhost ~]# grep ^[[:upper:]] RegExp.txt

变量:MACHTYPE

说明:主机类型的GNU标识,这种标识有统一的结构。一般来说是“主机架构-公司-系统-gnu”,在RedHat系统中打印该变量值,如下所示:

[root@localhost ~]# echo $MACHTYPE

i686-redhat-linux-gnu

引用是指将字符串用某种符号括起来,以防止特殊字符被解析为其他意思。比如说上一小节中的转义符就是一种引用。Shell中一共有4种引用符,分别是双引号、单引号、反引号(在键盘上和波浪号位于同一个键)和转义符。其中双引号又叫“部分引用”或“弱引用”,可以引用除$符、反引号、转义符之外的所有字符;单引号又叫“全引用”或“强引用”,可以引用所有字符;反引号则会将反引号括起的内容解释为系统命令。

对str1的测试使用test方式,对str2的测试使用[]方式。

上一篇下一篇

猜你喜欢

热点阅读