本文共 3297 字,大约阅读时间需要 10 分钟。
例如:将5到11行前面加上#(即注释掉5到11行):
sed -i '5,11s/^/#/g' Hello.java 去掉开头的#号,在vi模式下使用:
%s/^#//g cat a.txt | grep -A1 saved //取匹配行及其下一行
cat a.txt | grep -B1 saved //取匹配行及其上一行
cat a.txt | grep -1 saved //取匹配行及其上下一行
3、查看二进制文件 还可以用:":%!od"、":%!xxd -c N",N为数字,表示每行显示的字节数。
-p same as --preserve=mode,ownership,timestamps 例:-p same as --preserve=mode,ownership,timestamps
Ctrl + a:去往首行
Ctrl + e: 去往末行
Alt + f: 前进一个字
例子:unzip spring-framework-3.1.0.M2-with-docs.zip -d /home/kejuwang/works/opensource/spring 8、正确和错误输出: > exp.out 2>&1
bash -x ./startws.sh > exp.out 2>&1
ps --no-heading -C java -f --width 1000
echo -e 后一般会接参数,-e 若参数出现以下字符,则特别加以处理,而不会将它当成一般文字输出: \a 发出警告声; \b 删除前一个字符; \c 最后不加上换行符号; \f 换行但光标仍旧停留在原来的位置; \n 换行且光标移至行首; \r 光标移至行首,但不换行; \t 插入tab; \v 与\f相同; \\ 插入\字符; \nnn 插入nnn(八进制)所代表的ASCII字符;
- [admin@inc-platform-133-132 ~]$ echo -e "abc\n"
- abc
-
- [admin@inc-platform-133-132 ~]$ echo "abc\n"
- abc\n
【注意】注意
echo -e "abc\n"的最后多输出了一行(空行),也就是-e参数的效果,让特殊字符生效
- memcached_pid=`ps --no-heading -C memcached -f --width 1000 | grep "$MEMCACHED_INSTALL_CTL" |awk '{print $2}'
当
$MEMCACHED_INSTALL_CTL未定义时,同样可以执行,所以会带来执行执行和脚本中执行的区别,注意调试。
12、输出1到100:seq 1 100,常用于循环中:
- for i in `seq 1 100`
- do
- echo $i
- don
- #yum list | grep httpd
- alibaba-httpd.x86_64 2.0.63-17 installed
- alibaba-httpd22.x86_64 2.2.15-2 installed
- alibaba-httpd.x86_64 2.2.15-22 update
- alibaba-httpd-int.x86_64 2.0.61-17 update
- alibaba-httpd_module-img_private.x86_64 1.0-2 update
- #yum remove alibaba-httpd.x86_64
安装:线上是安装是
alibaba-httpd.x86_64 2.2.15-22 - yum install alibaba-httpd.x86_64
14、vi中部分行替换:“
:1,57s/^/#/g”
例子:将:将1到57行中的全部注释,方法:":1,57s/^/#/g"
将文件从gbk编码转换成utf8编码:
iconv -f gbk -t utf8 filename 使用man test可以查看if中参数的选择,例如:-z:判断字符串长度是否为0
例:以"为分隔符,查看refer(引用当前js的url) awk -F "\"" '{print $4}' apache_access.log | more display the last modification time of FILE
- [admin@hz-unicorn1 2]$ date -r apache_access.log.2.tar.gz
- Wed Nov 16 02:55:06 PST 2011
- kejuwang@kejuwang-desktop:~/work/unicorn-docs$ date -d"2010/09/02 13:00:00" +"%Y%m%d%H%M"
- 201009021300
将文件的最后修改时间进行格式化:
"`date -r unicorn-accesslog-backup.sh`" - date -d"`date -r unicorn-accesslog-backup.sh`" +"%Y-%m-%d"
- kejuwang@kejuwang-desktop:~/work/unicorn-docs$ date -r apache_access.log +"%Y_%m_%d %H:%M:%S"
- 2011_11_16 15:59:59
(1)wget在访问url的时候,
后面的url最好放在双引号之中,因为经常有url中包含&符号,命令行会将url截断,认为&为后台执行。
例如:wget -c "http://www.baidu.com/s?tn=baiduhome_pg&bs=request+getHeader+User-Agent+%BF%D5&f=8&rsv_bp=1&rsv_spt=1&wd=request+getHeader+User-Agent+null&inputT=1013"
svn diff -r newversion:oldversion path svn diff -r 1327 : 1326 mcsd_svc.php 23、tar解压到制定目录(条件:目录需存在,且使用大写的-C)
tar zxvf hummock.server.db-2.3.1.tar.gz -C db
例如:gzip -cd php-5.2.6-fpm-0.5.9.diff.gz | patch -d php-5.2.6 -p1 本文转自 tianya23 51CTO博客,原文链接:http://blog.51cto.com/tianya23/586185,如需转载请自行联系原作者