Chinaunix首页 | 论坛 | 博客
  • 博客访问: 284129
  • 博文数量: 82
  • 博客积分: 2607
  • 博客等级: 少校
  • 技术积分: 785
  • 用 户 组: 普通用户
  • 注册时间: 2006-09-14 15:23
文章分类

全部博文(82)

文章存档

2012年(4)

2010年(1)

2009年(2)

2008年(8)

2007年(34)

2006年(33)

我的朋友

分类: LINUX

2007-02-08 13:53:02

遍历删除所有.svn的目录

find -name ".svn" -and -type d | xargs rm -rf

 

1.在命令行下改使用最高权限用户

$ su -
$ su
这两个有个区别

su - 使用Root的环境变量


重启网络
-------------------------------
/etc/init.d/network restart
-------------------------------

--------------------
[maojj@localhost ~]$ su
Password:
[root@localhost maojj]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/maojj/bin
[root@localhost maojj]#


[maojj@localhost ~]$ su -
Password:
[root@localhost ~]#
[root@localhost ~]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
[root@localhost ~]#

---------------------

 

2.远程的拷文件
--------------------------------------
Qi Wenmin - BG1REN 说:
scp local_path/.
Qi Wenmin - BG1REN 说:
scp local_file .


scp /tmp/
-----------------------------------

-------------------------------
rpm 用法
rpm -ivh vim-X11-6.3.046-0.40E.7.i386.rpm
-----------------------------------------

解.tar.gz
----------------------
tar -zxvf
-------------
压 tar
------------
tar -cvf qa.tar qa
------------

 

3.给一个目录加权限
-------------------------------
$ chmod -R 755 dirname
----------------------------

4.查看进程命令
-------------------------
ps -ef |grep XXX
------------------------

5.删除目录
-------------------------------
$ rm -fr dirname
-------------------------------
-f 强制
-r 递归

6.文件中字符串替换(强)

在Freebsd下我们常常要进行字符串的查找替换,有在vim编辑器里面进行的,也有在shell下进行的,这样的事情常遇到,但是每次都会感到有些概念模糊,尤其对类似awk、sed、

grep、find等命令的具体参数使用问题上老是糊涂,下面收集几个常用的方法,实在不能理解就死记算了!

1、在vi中使用的查找替换方法
利用 :s 命令可以实现字符串的替换。具体的用法包括:
:s/str1/str2/ 用字符串 str2 替换行中首次出现的字符串 str1
:s/str1/str2/g 用字符串 str2 替换行中所有出现的字符串 str1
:.,$ s/str1/str2/g 用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1
:1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1
:g/str1/s//str2/g 功能同上从上述替换命令可以看到:g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索字符串的首次出现进行替换;g 放在命

令开头,表示对正文中所有包含搜索字符串的行进行替换操作。

2、在shell中使用find结合grep进行文件的替换
# find ./ -exec grep str1 ‘{}’ \; -exec sed -i.bak s/str1/str2/g ‘{}’ \;
上面命令可以在当前目录下(包括子目录)查找包含str1的文件,自动替换成str2,并且生成源文件的bak文件

*************************
重要、手工测试常用 nc命令
*************************


查看端口程序
-------------
lsof -i :8883

侦听 8883 4000秒,-v 显示收到信息
-------------------------
nc -l -p 8883 -w 4000 -v
-----------------------

--------------------------------
nc -l -p 8883 -w 4000 -v < mao.txt
---------------------------------


发送信息
--------------------------------------
nc -vv localhost 7777 --------------------------------------


rm /usr/local/gemini/mgw/var/data/*.* -rf

etc/init.d/mgw status

netstat -tlnp |grep smb
ls -ltr
ls -al

scp  -r 10.21.200.103:/root/qa/tools/mmscSink/*py


runTcpServer.py
-------------------------
dos2unix runTcpServer.py
./runTcpServer.py -p 8883
--------------------------

看链接命令
---------------------------
alias
-------------------------

echo ${#A}

echo $A | grep -o -e "[0-9]\+"
说明
-o 表示提出匹配内容
-e 表示使用正则表达式

 

--------------------------------------
[dumm@localhost ~]$ grep -o -e "([0-9\\. ]\+)" a
(192.168.10.25 192.168.10.26 10.8.0.5)
(255.255.255.0 255.0.0.0)
[dumm@localhost ~]$ grep -o -e "([0-9\\. ]\+)" a | sed "2d"
(192.168.10.25 192.168.10.26 10.8.0.5)
[dumm@localhost ~]$ grep -o -e "([0-9\\. ]\+)" a | sed "2d" | sed "1x"

[dumm@localhost ~]$ grep -o -e "([0-9\\. ]\+)" a | sed "2d" | sed "/(/d"
[dumm@localhost ~]$ grep -o -e "([0-9\\. ]\+)" a | sed "2d" | sed "s/(/g"
sed: -e expression #1, char 5: unterminated `s' command
[dumm@localhost ~]$ grep -o -e "([0-9\\. ]\+)" a | sed "2d" | sed "s/(//g"
192.168.10.25 192.168.10.26 10.8.0.5)
[dumm@localhost ~]$ grep -o -e "([0-9\\. ]\+)" a | sed "2d" | sed
"s/[()]//g"
192.168.10.25 192.168.10.26 10.8.0.5
[dumm@localhost ~]$ grep -o -e "([0-9\\. ]\+)" a | sed "2d" | sed
"s/[()]//g" | awk '{print $0}'
192.168.10.25 192.168.10.26 10.8.0.5
[dumm@localhost ~]$ grep -o -e "([0-9\\. ]\+)" a | sed "2d" | sed
"s/[()]//g" | awk '{print $1}'
192.168.10.25
[dumm@localhost ~]$ grep -o -e "([0-9\\. ]\+)" a | sed "2d" | sed
"s/[()]//g" | awk '{print $2}'
192.168.10.26
[dumm@localhost ~]$ grep -o -e "([0-9\\. ]\+)" a | sed "2d" | sed
"s/[()]//g" | awk '{print $3}'
10.8.0.5
[dumm@localhost ~]$ grep -o -e "([0-9\\. ]\+)" a | sed "2d" | sed
"s/[()]//g" | awk '{print $4}'

[dumm@localhost ~]$ grep -o -e "([0-9\\. ]\+)" a | sed "2d" | sed
"s/[()]//g" | awk '{print $1}'
192.168.10.25
[dumm@localhost ~]$ grep -o -e "([0-9\\. ]\+)" a | sed "2d" | sed
"s/[()]//g" | awk '{print $2}'
192.168.10.26
[dumm@localhost ~]$ cat a
dumm address (192.168.10.25 192.168.10.26 10.8.0.5) mask (255.255.255.0
255.0.0.0) # IP alloc
[dumm@localhost ~]$
-----------------------------------------------------------------------------

用正则表达式查找行号方法
----------------------------------------------------------
grep -m 1 -n -e "--Next" MM7.submit120.req | awk -F":" '{ print $1 }'
-----------------------------------------------------------

 

 

------------------------------------------------
mount -t smbfs -o username=guest,password= //maojj/mao /mnt/maojj

---------------------
smbmount //holibut/C$ /mnt/hpc -o "credentials=/etc/samba/auth.smb,uid=administrator,gid=administrator,fmask=664,dmask=775"
-----------------
auth.smb
username=administrator
password=****

建立链接
ln -s "/mnt/hs/R&D(Engiering)/MMSC QA/maojj" mao21

查看share name
smbclient -U guest -L 10.20.0.21


shell loop
-------------------------------------------------
#!/bin/bash
i=0
times=500
while [ $i -le $times ]
do
touch $i
    let "i++"
done
 
 
程序2:
#!/bin/bash
i=0
times=500
while [ $i -le $times ]
do
rm -f $i
    let "i++"
done
--------------------------------------------------

删除操作

:%s/r//g 删除DOS方式的回车^M
:%s= *$== 删除行尾空白

:%s/^(.*)n1/1$/ 删除重复行

:%s/^.{-}pdf/new.pdf/ 只是删除第一个pdf

:%s/// 又是删除多行注释(咦?为什么要说「又」呢?)

:g/s*^$/d 删除所有空行 :这个好用有没有人用过还有其他的方法吗?
:g!/^dd/d 删除不含字符串'dd'的行
:v/^dd/d 同上 (译释:v == g!,就是不匹配!)

:g/str1/,/str2/d 删除所有第一个含str1到第一个含str2之间的行


:v/./.,/./-1join 压缩空行
:g/^$/,/./-j 压缩空行


-----------------------------------------------
把前七行的加到另一个文件的头部

( head -7 MM7.submit100.req ; cat mm7.submit.req ) > mao

 


------------------------------------------------

ndw 或 ndW 删除光标处开始及其后的 n-1 个字符。
d0 删至行首。
d$ 删至行尾。
ndd 删除当前行及其后 n-1 行。
x 或 X 删除一个字符。
Ctrl+u 删除输入方式下所输入的文本。
^R 恢复u的操作
J 把下一行合并到当前行尾
V 选择一行
^V 按下^V后即可进行矩形的选择了
aw 选择单词
iw 内部单词(无空格)
as 选择句子
is 选择句子(无空格)
ap 选择段落
ip 选择段落(无空格)
D 删除到行尾
x,y 删除与复制包含高亮区

dl 删除当前字符(与x命令功能相同)
d0 删除到某一行的开始位置
d^ 删除到某一行的第一个字符位置(不包括空格或TAB字符)
dw 删除到某个单词的结尾位置
d3w 删除到第三个单词的结尾位置
db 删除到某个单词的开始位置
dW 删除到某个以空格作为分隔符的单词的结尾位置
dB 删除到某个以空格作为分隔符的单词的开始位置
d7B 删除到前面7个以空格作为分隔符的单词的开始位置
d) 删除到某个语句的结尾位置
d4) 删除到第四个语句的结尾位置
d( 删除到某个语句的开始位置
d) 删除到某个段落的结尾位置
d{ 删除到某个段落的开始位置
d7{ 删除到当前段落起始位置之前的第7个段落位置
dd 删除当前行
d/text 删除从文本中出现“text”中所指定字样的位置,
一直向前直到下一个该字样所出现的位置(但不包括该字样)之间的内容
dfc 删除从文本中出现字符“c”的位置,一直向前直到下一个该字符所出现的位置(包括该字符)之间的内容
dtc 删除当前行直到下一个字符“c”所出现位置之间的内容
D 删除到某一行的结尾
d$ 删除到某一行的结尾
5dd 删除从当前行所开始的5行内容
dL 删除直到屏幕上最后一行的内容
dH 删除直到屏幕上第一行的内容
dG 删除直到工作缓存区结尾的内容
d1G 删除直到工作缓存区开始的内容

 

vi 高手总结
---------------------------------------------
ma
mb
:'a,'b w! ss.txt

在命令模式下按下 ma mb 分别记下了光标所在的位置
这时可以将a b 之间的文本写入到一个文件里
:'a,'b w! ss.txt
---------------------------------------

--------------------------------------
ln -s /usr/bin/gzip /usr/bin/compress
ln -s /usr/bin/gunzip /usr/bin/uncompress
------------------------------------------
----------------------------------------------

在安装盘里找rpm
---------------------------------------------
mount -t iso9660 -o loop /mnt/maojj/sys/RHL4-U3-i386-AS-disc4.iso /mnt/RH4
---------------------------------------------

------------------------------
find ./RH*/ -name *gcc*
-----------------------
rpm -ivh **.rpm
--------------------------

--------------------------------
linux 下安装 python 2.5
tar -zvxf *********安装包
cd ******解压后的目录
./configure --prefix=/usr/local/python25
make
make install
mv /usr/bin/python /usr/bin/python2.3.4
ln -s /usr/local/python25/bin/python2.5 /usr/bin/python
--------------------------------------------------------


Tcpdump使用方法
---------------------------------------------------------------------
tcpdump -vvv -s0 -i any port 2888 -w ~/cap`date + %Y%m%d%H%M%S`.cap

-s0 表示 s0 网卡
any 表示全部报文
port 表示捕获的端口号
-w 表示写入
date是把时间加入到生成的文件名里
----------------------------------------------------------------------

--------------------------------------
lsof -i 55555
看那个进程 使用了55555这个端口
----------------------------------
 
---------------------------------
这个命令 是只显示每两个回车后的第一行 不解 先记下了
 
$ awk 'NR==1||cnt-->0;/^$/{cnt=1}' aa.txt
 
---------------------------------------
阅读(1571) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~