shell grep 查找进程的小技巧
[ 2012/12/29 17:34 | by selboo ]
大部分人在写Shell 过滤进程的时候 都会使用 grep 在 ps aux 的输出结果中查找指定的进程,但此时也会把 grep 进程也显示出来 比如查找 pptpd 进程,会匹配出来两条:
root 20191 0.0 0.2 5108 704 pts/2 R+ 16:58 0:00 grep pptp
root 22054 0.0 0.1 1952 608 ? Ss Oct22 0:00 /usr/sbin/pptpd
常见的防止grep进程出现的方法就是在对加一个管道 grep -v grep 进行过滤:
root 22054 0.0 0.1 1952 608 ? Ss Oct22 0:00 /usr/sbin/pptpd
还有一个更方便的方法是用 正则 grep [p]ptpd来搜索pptpd这个进程:
root 22054 0.0 0.1 1952 608 ? Ss Oct22 0:00 /usr/sbin/pptpd
This is The Code
[root@selboo ~]# ps aux | grep pptproot 20191 0.0 0.2 5108 704 pts/2 R+ 16:58 0:00 grep pptp
root 22054 0.0 0.1 1952 608 ? Ss Oct22 0:00 /usr/sbin/pptpd
Parsed in 0.000 seconds at N/A
常见的防止grep进程出现的方法就是在对加一个管道 grep -v grep 进行过滤:
This is The Code
[root@selboo ~]# ps aux | grep pptp | grep -v greproot 22054 0.0 0.1 1952 608 ? Ss Oct22 0:00 /usr/sbin/pptpd
Parsed in 0.000 seconds at N/A
还有一个更方便的方法是用 正则 grep [p]ptpd来搜索pptpd这个进程:
This is The Code
[root@selboo ~]# ps aux | grep [p]ptp root 22054 0.0 0.1 1952 608 ? Ss Oct22 0:00 /usr/sbin/pptpd
Parsed in 0.000 seconds at N/A
Linux ar 命令
[ 2011/10/01 18:58 | by selboo ]
功能说明:建立或修改备存文件,或是从备存文件中抽取文件。
语 法:ar[-dmpqrtx][cfosSuvV][a<成员文件>][b<成员文件>][i<成员文件>][备存文件][成员文件]
补充说明:ar可让您集合许多文件,成为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限。
参 数:
指令参数
-d 删除备存文件中的成员文件。
-m 变更成员文件在备存文件中的次序。
-p 显示备存文件中的成员文件内容。
-q 将问家附加在备存文件末端。
-r 将文件插入备存文件中。
-t 显示备存文件中所包含的文件。
-x 自备存文件中取出成员文件。
选项参数
a <成员文件> 将文件插入备存文件中指定的成员文件之后。
语 法:ar[-dmpqrtx][cfosSuvV][a<成员文件>][b<成员文件>][i<成员文件>][备存文件][成员文件]
补充说明:ar可让您集合许多文件,成为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限。
参 数:
指令参数
-d 删除备存文件中的成员文件。
-m 变更成员文件在备存文件中的次序。
-p 显示备存文件中的成员文件内容。
-q 将问家附加在备存文件末端。
-r 将文件插入备存文件中。
-t 显示备存文件中所包含的文件。
-x 自备存文件中取出成员文件。
选项参数
a <成员文件> 将文件插入备存文件中指定的成员文件之后。
Git 远程仓库的使用
[ 2011/08/07 22:43 | by selboo ]
要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库。远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写。同他人协作开发某 个项目时,需要管理这些远程仓库,以便推送或拉取数据,分享各自的工作进展。管理远程仓库的工作,包括添加远程库,移除废弃的远程库,管理各式远程库分 支,定义是否跟踪这些分支,等等。本节我们将详细讨论远程库的管理和使用。
查看当前的远程库
要查看当前配置有哪些远程仓库,可以用 git remote 命令,它会列出每个远程库的简短名字。在克隆完某个项目后,至少可以看到一个名为 origin 的远程库,Git 默认使用这个名字来标识你所克隆的原始仓库:
$ git clone git://github.com/schacon/ticgit.git
Initialized empty Git repository
查看当前的远程库
要查看当前配置有哪些远程仓库,可以用 git remote 命令,它会列出每个远程库的简短名字。在克隆完某个项目后,至少可以看到一个名为 origin 的远程库,Git 默认使用这个名字来标识你所克隆的原始仓库:
$ git clone git://github.com/schacon/ticgit.git
Initialized empty Git repository
mount disk Image
[ 2011/07/19 15:14 | by selboo ]
如果你今天面对的是disk image而不是一般的partition image,当使用mount -o loop是将无法mount成功。这很容易理解,因为你必须知道disk image中partition的位置之后才能mount起來,怎么做呢?
需求: mount test.img 并更改第一个partition中的某个文件
我们先看看如果直接用mount -o loop会如何:
[code]lawrence@lawrence-x24:~/Desktop$ sudo mount -o loop test.img /mnt/test/
mount: you must specify the filesystem type
lawrence@lawrence-x24:~/Desktop$ sudo mount -o loop -t ext3 test.img /mnt/test/
mount: wrong fs type, bad opti[
需求: mount test.img 并更改第一个partition中的某个文件
我们先看看如果直接用mount -o loop会如何:
[code]lawrence@lawrence-x24:~/Desktop$ sudo mount -o loop test.img /mnt/test/
mount: you must specify the filesystem type
lawrence@lawrence-x24:~/Desktop$ sudo mount -o loop -t ext3 test.img /mnt/test/
mount: wrong fs type, bad opti[
Could not open device at /dev/ipmi0
[ 2011/04/29 17:32 | by selboo ]
[root@selboo ~]# ipmitool sensor list
Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No
such file or directory
Get Device ID command failed
Unable to open SDR for reading
需要添加如下:
[root@selboo ~]# modprobe ipmi_watchdog
[root@selboo ~]# modprobe ipmi_poweroff
[root@selboo ~]# modprobe ipmi_devintf
[root@selboo ~]# modprobe ipmi_si
[root@selboo ~]# modprobe ipmi_msghandler