工作,学习,生活,这里将会有一些记录. 备用域名:http://meisw.wdlinux.cn 注册 | 登陆
浏览模式: 标准 | 列表分类:linux

sed使用

sed -e '编辑指令1' -e '编辑指令2' ... 文件档

其中 , 所有编辑指令都紧接在选项 -e 之後 , 并置於两个 " ' " 特殊字元间。
另外 , 命令上编辑指令的执行是由左而右。

 一般编辑指令不多时 , 使用者通常直接在命令上执行它们。例如 , 删除 yel.
dat 内 1 至 10 行资料 , 并将其
 馀文字中的 "yellow" 字串改成 "black" 字串。此时 , 可将编辑指令直接在命
令上执行 , 其命令如下 :

   sed -e '1,10d' -e 's/yellow/black/g' yel.dat

在命令中 , 编辑指令 '1,10d'(解[5])执行删除 1 至 10 行资料 ; 编辑指令
's/yellow/black/g'(解[6]) ,

 

2.2.1 位址(address)参数的表示法
 实际上 , 位址参数表示法只是将要编辑的资料行 , 用它们的行数或其中的字串
来代替表示它们。下面举几个例子
 说明(指令都以函数参数 d(参照[section4.2]) 为例) :
删除档内第 10 行资料 , 则指令为 10d。
删除含有 "man" 字串的资料行时 , 则指令为 /man/d。
删除档内第 10 行到第 200 行资料, 则指令为 10,200d。

 

执行多个文件档的编辑
 在 sed 命令列上 , 一次可执行编辑多个文件档 , 它们跟在编辑指令之後。例
如 , 替换
  white.dat、red.dat、black.dat 档内的 "yellow" 字串成 "blue" , 其命令
如下:
     sed -e 's/yellow/blue/g' white.dat red.dat black.dat

上述命令执行时 , sed 依 white.dat、red.dat、black.dat 顺序 , 执行编辑指
令 s/yellow/blue/(请参照[section 4.1] ,
进行字串的替换。

 


对t.txt文件内容前加上#
sed -i -e 's/^/#/' t.txt


sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
把config里的enforcing替换为disabled

sed -i -e '/alias vi=vim/d' /root/.bashrc
删除所有含有"alias vi=vim"的行

sed -i -e 's/alias vi=vim//g' /root/.bashrc
替换所有"alias vi=vim"串为空,也即是删除

sed -i "8 s/^/alias vi='vim'/" /root/.bashrc
在第8行增加"alias vi='vim'"

sed -i -e 's/^LANG=.*/LANG="zh_CN.GB18030"/'   /etc/sysconfig/i18n
将LANG开头的行替换为LANG="zh_CN.GB18030"

sed -i '205 s#;open_basedir =#open_basedir = /data/www/wwwroot:/tmp#g' /usr/local/Zend/etc/php.ini
把 ;open_basedir = 替换为 open_basedir = /data/www/wwwroot:/tmp
sed -i '205 s#open_basedir = /data/www/wwwroot:/tmp#;open_basedir =#g' /usr/local/Zend/etc/php.ini

查看CPU型号和编译参数

    查看分析你的CPU型号:
    http://gentoo-wiki.com/Safe_Cflags 查找您的GCC编译参数.

    确定系统CPU类型:
     cat /proc/cpuinfo | grep "model name"
    执行后会看到系统中CPU的具体型号,记下CPU型号。

TC流量控制

控制整个网段

tc qdisc add dev eth0 root handle 1: htb r2q 1
tc class add dev eth0 parent 1: classid 1:1 htb rate 10kbit burst 10k
tc filter add dev eth0 parent 1: protocol ip prio 16 u32 match ip dst 10.10.10.0/8 flowid 1:1

patch

patch -p0 <  /download/patch-2.6.10-bk4 或
patch -p0  -i /download/patch-2.6.10-bk4 
我认为这样才是真的在做patch
patch -R //对new和old文件通通应用patch
      -N //忽略反向的或已经应用的补丁
      -f  //不回答[y/n],假定不选择-R
      -t //不回答[y/n],假定选择-R
例:让它自动完成patch -tp0 < patch-file 
bzip2 -dc /download/patch-2.6.10-bk4.bz2 |patch -p1
一次打多个,
bzip2 -dc /download/patch-*.bz2 |patch -p1
但要求patch-*.bz2的字母排列顺序和补丁顺序是一样的.

patch -d dietlibc-0.27 -p1 < dietlibc-0.27-signal.patch

 

ppp-2.4.3
patch -p0 -i ppp-2.4.3-mppe-mppc-1.1.patch.gz

 

 

文件系统维护(转载)

ext2/ext3通过数据块储存文件

格式化文件系统:

mkfs.ext3 –b 4096 –i 8192 –m 5 /dev/sdb4

-b       数据块大小

-i inode节点表示的字节数(或数据块大小)

-m 5       为管理员保留的磁盘管理空间5%   

ls –lh /mnt/u

du –sh /mnt/u

df –lh

#tune2fs –l /dev/sdb1          打印文件系统属性

#df

tune2fs 调整ext2/ext3文件系统特性的工具

-l 查看文件系统信息

-m      保留块百分比

-c <count>   设置强制自检的挂载次数

-i <n day>   设置强制自检的间隔时间

-j           ext2转成ext3



tune2fs –c -1 /dev/sdb1    不管挂载多小次都不自检

tune2fs –c -1 –i 0 /dev/sdb1   让分区永远不自检

#mkfs.ext2 /dev/sdb4   格式化成ext2

#tune2fs –j /dev/sdb4   转换为ext3

#df –T              查看分区信息

判断间ext2还是ext3:

tune2fs –l /dev/sdb1 | grep features

看Filesystem features: has_journal

是否有has_journal,有则是ext3文件系统



grep –i “name”   不区分大小写

df –T 分区类型

fsck       检查文件系统数据完整性的工具

用法一、fsck –t ext2 /dev/sdb1

   二、fsck.ext3 /dev/sdb1

#more /etc/fstab

如发现挂载选项有1或2,那么应该进行自检了

#fsck.ext3 –y /dev/sdb1          自动修复错误

用文件来占据内存空间

用文件来占据内存空间,文件可以用 下面的方法产生512M文件,占据512M内存

mount none /tmpfs -t tmpfs
cd /tmpfs
dd if=/dev/zero of=test bs=1M conunt=512




这样就会使512M内存空间被文件test占据

用rsync作备份文件

使用rsync,每次只是同步修改过的部分,而且包括时间,权限,所有者都同步。
rsync -au /web/ /bak/
如果你要同步到其他的服务器可以:
rsync -au rsync://www.abc.com/bak/ /bak
或者是
rsync -au /bak rsync://www.abc.com/bak/

如何查看当前系统版本是32位还是64位

getconf WORD_BIT