读《LINUX系统命令及shell脚本》
认知了
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的测试使用[]方式。