linux下有很多命令,我估计我这一辈子也记不住所有的命令.所以只能学一个记一个,慢慢积累.
1、简单执行跟踪(set -x)
程序是人写的,难免会出错.想知道你的程序正在什么,在linux下有个很好的办法,就是执行跟踪.这个会使得Shell显示被执行的每一个命令,并在前面加上"+";一个加号后面跟着一个空格.
例如:
-
[skytrails@localhost vimcdoc-1.9.0]$ cat trace1.sh
-
###########################################################
-
#Author: skytrails
-
#Mail: skytrails@163.com
-
#Created Time: 2014年10月24日 星期五 21时35分31秒
-
###########################################################
-
#!\bin\bash
-
set -x
-
echo 1st echo
-
-
set +x
-
echo 2nd echo
-
-
[skytrails@localhost vimcdoc-1.9.0]$ chmod +x trace1.sh
-
[skytrails@localhost vimcdoc-1.9.0]$ ./trace1.sh
-
++ echo 1st echo
-
1st echo
-
++ set +x
-
2nd echo
-
[skytrails@localhost vimcdoc-1.9.0]$
2、查找文本
Linux下都是命令符,除非你安装了xwindows,否则你面对的将是无止尽的字符。当然这里不是记录怎样安装xwindows,而是在这样一个字符的世界里怎样查找出你相要的文件或带某个字符串的文件。
-
语法
-
grep [选项]... PATTERN [FILE]...
-
用途
-
显示匹配一个或多个模式的文本行。时常会作为管道(|)的第一步,以便对匹配的数据作进一步的处理。
-
主要选项
-
-E
-
使用扩展正则表达式进行匹配,grep -E可以取代传统的egrep。
-
-F
-
使用固定字符串进行匹配。grep -F可以取代传统的fgrep。
-
-e
-
通常,第一个非选项的参数会指定要匹配的模式。你也可以提供多个模式,只要将它们放在引号里并以换行符分隔它们。模式以减号开关时,grep会混淆,而将它视为选项。这就是-e选项上场的时候了,它可以指定其参数为模式 --即使它以减号开关。
-
-i
-
模式匹配时忽略字母大小写差异。
-
-l
-
列出匹配模式的文件名称,而不是打印匹配的行。
-
-v
-
显示不匹配的行。
上面只是列出了一部分,但是如果你相搜索文件夹下带某个字符的文件时,你可以用下面的命令(注意最后的"."):
-
[skytrails@localhost shell]$ grep -r 'set' .
-
./trace1.sh:set -x
-
./trace1.sh:set +x
-
./list.ctags: s sets
3、时间的显示:date命令
给定的格式FORMAT 控制着输出,解释序列如下:
-
%% 一个文字的 %
-
%a 当前locale 的星期名缩写(例如: 日,代表星期日)
-
%A 当前locale 的星期名全称 (如:星期日)
-
%b 当前locale 的月名缩写 (如:一,代表一月)
-
%B 当前locale 的月名全称 (如:一月)
-
%c 当前locale 的日期和时间 (如:2005年3月3日 星期四 23:05:25)
-
%C 世纪;比如 %Y,通常为省略当前年份的后两位数字(例如:20)
-
%d 按月计的日期(例如:01)
-
%D 按月计的日期;等于%m/%d/%y
-
%e 按月计的日期,添加空格,等于%_d
-
%F 完整日期格式,等价于 %Y-%m-%d
-
%g ISO-8601 格式年份的最后两位 (参见%G)
-
%G ISO-8601 格式年份 (参见%V),一般只和 %V 结合使用
-
%h 等于%b
-
%H 小时(00-23)
-
%I 小时(00-12)
-
%j 按年计的日期(001-366)
-
%k hour, space padded ( 0..23); same as %_H
-
%l hour, space padded ( 1..12); same as %_I
-
%m month (01..12)
-
%M minute (00..59)
-
%n 换行
-
%N 纳秒(000000000-999999999)
-
%p 当前locale 下的"上午"或者"下午",未知时输出为空
-
%P 与%p 类似,但是输出小写字母
-
%r 当前locale 下的 12 小时时钟时间 (如:11:11:04 下午)
-
%R 24 小时时间的时和分,等价于 %H:%M
-
%s 自UTC 时间 1970-01-01 00:00:00 以来所经过的秒数
-
%S 秒(00-60)
-
%t 输出制表符 Tab
-
%T 时间,等于%H:%M:%S
-
%u 星期,1 代表星期一
-
%U 一年中的第几周,以周日为每星期第一天(00-53)
-
%V ISO-8601 格式规范下的一年中第几周,以周一为每星期第一天(01-53)
-
%w 一星期中的第几日(0-6),0 代表周一
-
%W 一年中的第几周,以周一为每星期第一天(00-53)
-
%x 当前locale 下的日期描述 (如:12/31/99)
-
%X 当前locale 下的时间描述 (如:23:13:48)
-
%y 年份最后两位数位 (00-99)
-
%Y 年份
-
%z +hhmm 数字时区(例如,-0400)
-
%:z +hh:mm 数字时区(例如,-04:00)
-
%::z +hh:mm:ss 数字时区(例如,-04:00:00)
-
%:::z 数字时区带有必要的精度 (例如,-04,+05:30)
-
%Z 按字母表排序的时区缩写 (例如,EDT)
阅读(1189) | 评论(4) | 转发(0) |