linux命令补遗 - 4

1、部分行替换:

例如:将5到11行前面加上#(即注释掉5到11行): sed -i '5,11s/^/#/g' Hello.java
去掉开头的#号,在vi模式下使用: %s/^#//g
 
2、grep取上下行
cat  a.txt  |  grep -A1 saved       //取匹配行及其下一行
cat  a.txt  |  grep -B1 saved       //取匹配行及其上一行
cat  a.txt  |  grep -1  saved       //取匹配行及其上下一行
 
3、查看二进制文件
$ vim dir
然后输入":%!xxd"命令。如下:
 
会把二进制文件的内容转换为十六进制。
还可以用:":%!od"、":%!xxd -c N",N为数字,表示每行显示的字节数。
 
4、拷贝是保留模式、权限、时间戳
-p     same as --preserve=mode,ownership,timestamps
例:-p     same as --preserve=mode,ownership,timestamps
 
5、vi快捷键

Ctrl + a:去往首行

Ctrl + e: 去往末行

Alt + f: 前进一个字

Alt + b: 退后一个字 

 
6、yum安装与卸载
按照:yum install ...
卸载:yum remove ...
 
7、解压到指定目录:-d
例子: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
 
9、查看进程,去除头部
ps  --no-heading -C java -f --width 1000
 
10、echo -e
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参数的效果,让特殊字符生效
 
11、 注意调试:bash -x的输出
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 
done
 
 
13、yum卸载
 
查看安装情况
#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
#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"
 
15、文件编码方式转换:iconv
-f:from
-t:to
将文件从gbk编码转换成utf8编码: iconv -f gbk -t utf8 filename
 
16、条件判断参数查询: man test
使用man test可以查看if中参数的选择,例如:-z:判断字符串长度是否为0
 
17、分析apache的访问日志
例:以"为分隔符,查看refer(引用当前js的url)
awk -F "\"" '{print $4}' apache_access.log | more
 
18、查看文件的最后修改时间
-r, --reference=FILE
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 
 
 
19、去除VI中的某些文字的存在的下划线
: syntax off 
 
20、yum安装与卸载软件
yum list
yum install
卸载:yum erase
 
21、统计目录下所有文件以及文件夹大小和总大小
du -shc *
 
22、wget注意事项
(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"
 
 22、svn diff操作
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 
 
24、为软件打补丁
例如:gzip -cd php-5.2.6-fpm-0.5.9.diff.gz | patch -d php-5.2.6 -p1
 
25、命令行以打字模式一个一个字符显示
clear
echo "welcome to sample.so , you can learn IT by doing" | pv -qL 10
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值