免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 905 | 回复: 0
打印 上一主题 下一主题

有用的信息!!!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-27 01:38 |只看该作者 |倒序浏览

用find & grep查找文件内容
查找 包含alias字符串的*.conf的文件
find / -name "*.conf" | xargs grep "alias"
1. grep -R -l 一些也可以实现,但是通过管道 | 比单纯用grep 复杂的参数更有效率。
2. xargs是用来展开find获得的结果,使其作为grep的参数。

//=======================================================
find . -name abc.txt 在当前目录及其子目录下查找文件abc.txt
find /usr -name abc.txt 在/usr目录及其子目录下查找文件abc.txt

grep命令用于查找指定的模式匹配格式为
grep [命令选项] 要查找的匹配模式 [要查找的文件]
例如
grep abc 123.txt 在123.txt 文件中查找abc字符串
grep -r abc /var/www 在/var/www 目录及其子目录下的所有文件中查找abc
grep -r abc .   在当前目录以及子目录下的文件中查找abc
grep -nr abc .    加上n参数则显示出行号

grep "text" * 只能查当前目录下的各个文件内容
//=======================================================
解压
zcat initrd-2.6.16.60-0.21-smp |cpio -i
打包
#假设当前目录位于准备好的initrd文件系统的根目录下
bash# find . | cpio -c -o > ../initrd.img
bash# gzip ../initrd.img
//======================================================
当grub的stage2载入内存运行后,它将读取硬盘上的kernel和initrd并载入内存。
我们可以使用下列命令来解出initrd的内容:
[root@dhcp-0-170 initrd]# zcat /boot/initrd-2.6.18-8.el5.img | cpio -i
10261 blocks
[root@dhcp-0-170 initrd]# ls
bin  dev  etc  init  lib  proc  sbin  sys  sysroot
各目录的内容如下:
[root@dhcp-0-170 bin]# ls
insmod  lvm  modprobe  nash
[root@dhcp-0-170 dev]# ls
console  null  ram   ram1  systty  tty0  tty10  tty12  tty3  tty5  tty7  tty9   ttyS1  ttyS3
mapper   ptmx  ram0  rtc   tty     tty1  tty11  tty2   tty4  tty6  tty8  ttyS0  ttyS2  zero
[root@dhcp-0-170 etc]# ls
lvm
[root@dhcp-0-170 etc]# cd lvm/
[root@dhcp-0-170 lvm]# ls
lvm.conf
[root@dhcp-0-170 lib]# ls
ata_piix.ko   dm-mod.ko       dm-zero.ko   ext3.ko  libata.ko    scsi_mod.ko  uhci-hcd.ko
dm-mirror.ko  dm-snapshot.ko  ehci-hcd.ko  jbd.ko   ohci-hcd.ko  sd_mod.ko
另外三个proc, sys, sysroot是三个挂载点,里面为空。实际经历了一个mount (执行该目录下的init脚本开始) --> umount (init脚本的最后执行switchroot,这时卸载掉这三部分,并启
动/sbin/init进程) 的过程。
内核解压initrd并执行init脚本,该脚本的主要作用:
1) 加载proc, sysfs等文件系统
2)创建设备节点
3)加载必需的设备驱动
4)以只读方式挂载根文件系统(这是根文件系统的第一次挂载,只读挂载可能是处于安全考虑)
5)切换到根下面并执行根下面的init程序(/sbin/init) (switchroot的工作)
/sbin/init进程是所有进程的父进程,当init起来之后,它首先会读取配置文件/etc/inittab,进行以下工作:
1)执行系统初始化脚本(/etc/rc.d/rc.sysinit),对系统进行基本的配置,以读写方式挂载根文件系统及其它文件系统,具体作用见后面说明。到这一步系统基本算运行起来了,后面需要进行
运行级别的确定及相应服务的启动。
2)确定启动后进入的运行级别
3) 执行/etc/rc.d/rc, 该文件定义了服务启动的顺序是先K后S,而具体的每个运行级别的服务状态是放在/etc/rc.d/rcn.d(n=0~6)目录下,所有的文件均链接至/etc/init.d下的相应文件。
4)有关key sequence的设置
5) 有关UPS的脚本定义
6)启动虚拟终端/sbin/mingetty
7)在运行级别5上运行X
这时呈现给用户的就是最终的登录界面。
说明:
1) /etc/rc.d/rc.sysint -- System Initialization Tasks
它的主要工作有:
配置selinux,
系统时钟,
内核参数(/etc/sysctl.conf),
hostname,
使能swap分区,
根文件系统的检查和二次挂载(读写),
激活RAID和LVM设备
使能磁盘quota
检查并挂载其它文件系统
等等。
2) 两次执行init(两次执行的是不同的文件,只是名字相同而已)
     a. 在initrd装载入内存后,会首先执行其中的init脚本,主要的作用如开头所述。
     b. 在第一次只读方式挂载根文件系统后,转换至系统真正的根目录下并执行/sbin/init程序,读取/etc/inittab信息并根据配置启动系统。
3)两次挂载根文件系统(同一个根文件系统)
     a. initrd载入内存后,执行init脚本,以只读方式挂载根文件系统(可能处于安全考虑,挂载的目的就是执行/sbin/init)
     b. 执行/sbin/init进程,读取/ etc/inittab文件内容,确定运行级别,执行/etc/rc.sysint,读写方式挂载根文件系统以及其它本地文件系统。
//=======================================================================================
 一,解开initrd.img
  gzip –cd /root/isolinux/isolinux/initrd.img>/tmp/initrd.ext2
  mount –o loop /tmp/initrd.ext2 /mnt/
  /mnt/目录下就是initrd.img中的微型系统
  二,生成initrd.img
  umount /mnt/
  gzip –c9 /tmp/initrd.ext2>/root/isolinux/isolinux/initrd.img
//======================================================================================
当grub的stage2载入内存运行后,它将读取硬盘上的kernel和initrd并载入内存。
我们可以使用下列命令来解出initrd的内容:
[root@dhcp-0-170 initrd]# zcat /boot/initrd-2.6.18-8.el5.img | cpio -i
10261 blocks
[root@dhcp-0-170 initrd]# ls
bin  dev  etc  init  lib  proc  sbin  sys  sysroot
各目录的内容如下:
[root@dhcp-0-170 bin]# ls
insmod  lvm  modprobe  nash
[root@dhcp-0-170 dev]# ls
console  null  ram   ram1  systty  tty0  tty10  tty12  tty3  tty5  tty7  tty9   ttyS1  ttyS3
mapper   ptmx  ram0  rtc   tty     tty1  tty11  tty2   tty4  tty6  tty8  ttyS0  ttyS2  zero
[root@dhcp-0-170 etc]# ls
lvm
[root@dhcp-0-170 etc]# cd lvm/
[root@dhcp-0-170 lvm]# ls
lvm.conf
[root@dhcp-0-170 lib]# ls
ata_piix.ko   dm-mod.ko       dm-zero.ko   ext3.ko  libata.ko    scsi_mod.ko  uhci-hcd.ko
dm-mirror.ko  dm-snapshot.ko  ehci-hcd.ko  jbd.ko   ohci-hcd.ko  sd_mod.ko
另外三个proc, sys, sysroot是三个挂载点,里面为空。实际经历了一个mount (执行该目录下的init脚本开始) --> umount (init脚本的最后执行switchroot,这时卸载掉这三部分,并启动/sbin/init进程) 的过程。
内核解压initrd并执行init脚本,该脚本的主要作用:
1) 加载proc, sysfs等文件系统
2)创建设备节点
3)加载必需的设备驱动
4)以只读方式挂载根文件系统(这是根文件系统的第一次挂载,只读挂载可能是处于安全考虑)
5)切换到根下面并执行根下面的init程序(/sbin/init) (switchroot的工作)
/sbin/init进程是所有进程的父进程,当init起来之后,它首先会读取配置文件/etc/inittab,进行以下工作:
1)执行系统初始化脚本(/etc/rc.d/rc.sysinit),对系统进行基本的配置,以读写方式挂载根文件系统及其它文件系统,具体作用见后面说明。到这一步系统基本算运行起来了,后面需要进行运行级别的确定及相应服务的启动。
2)确定启动后进入的运行级别
3) 执行/etc/rc.d/rc, 该文件定义了服务启动的顺序是先K后S,而具体的每个运行级别的服务状态是放在/etc/rc.d/rcn.d(n=0~6)目录下,所有的文件均链接至/etc/init.d下的相应文件。
4)有关key sequence的设置
5) 有关UPS的脚本定义
6)启动虚拟终端/sbin/mingetty
7)在运行级别5上运行X
这时呈现给用户的就是最终的登录界面。
说明:
1) /etc/rc.d/rc.sysint -- System Initialization Tasks
它的主要工作有:
配置selinux,
系统时钟,
内核参数(/etc/sysctl.conf),
hostname,
使能swap分区,
根文件系统的检查和二次挂载(读写),
激活RAID和LVM设备
使能磁盘quota
检查并挂载其它文件系统
等等。
2) 两次执行init(两次执行的是不同的文件,只是名字相同而已)
     a. 在initrd装载入内存后,会首先执行其中的init脚本,主要的作用如开头所述。
     b. 在第一次只读方式挂载根文件系统后,转换至系统真正的根目录下并执行/sbin/init程序,读取/etc/inittab信息并根据配置启动系统。
3)两次挂载根文件系统(同一个根文件系统)
     a. initrd载入内存后,执行init脚本,以只读方式挂载根文件系统(可能处于安全考虑,挂载的目的就是执行/sbin/init)
     b. 执行/sbin/init进程,读取/ etc/inittab文件内容,确定运行级别,执行/etc/rc.sysint,读写方式挂载根文件系统以及其它本地文件系统。



本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/94690/showart_2060911.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP