当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪linux的内核文件vmlinuz介绍      linux的内核文件vmlinuz介绍,供大家学习参考。   vmlinuz是可引导的、压缩的内核。“vm”代表 “Virtual Memory”。Linux 支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制。Linux能够使用.........
    ▪深入理解Linux重定向的使用           介绍:Linux重定向是指修改原来默认的一些东西,对原来系统命令的默认执行方式进行改变,比如说简单的我不想看到在显示器的输出而是希望输出到某一文件中就可以通过Linux重定向.........
    ▪"网卡eth0,未识别的端口"的解决方法      用service network restart 后,有时会得到这样的提示(serivce network status 读取的是etc/sysconfig/network-script/ifcfg-*文件) Shutting down loopback interface:                          [  OK  ] Bringing.........

[1]linux的内核文件vmlinuz介绍
    来源: 互联网  发布时间: 2013-12-24

linux的内核文件vmlinuz介绍,供大家学习参考。

  vmlinuz是可引导的、压缩的内核。“vm”代表 “Virtual Memory”。Linux 支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制。Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。vmlinuz是可执行的Linux内核,它位于/boot/vmlinuz,它一般是一个软链接。

  vmlinuz建立的两种方式

  一、编译内核时通过“make zImage”创建,然后通过:
  “cp /usr/src/linux-2.4/arch/i386/linux/boot/zImage /boot/vmlinuz”产生。zImage适用于小内核的情况,它的存在是为了向后的兼容性。

  二、内核编译时通过命令make bzImage创建,然后通过:“cp /usr/src/linux-2.4/arch/i386/linux/boot/bzImage /boot/vmlinuz”产生。bzImage是压缩的内核映像,需要注意,bzImage不是用bzip2压缩的,bzImage中的bz容易引起误解,bz表示“big zImage”。 bzImage中的b是“big”意思。

  zImage(vmlinuz)和bzImage(vmlinuz)都是用gzip压缩的。它们不仅是一个压缩文件,而且在这两个文件的开头部分内嵌有gzip解压缩代码。所以你不能用gunzip 或 gzip –dc解包vmlinuz。

  内核文件中包含一个微型的gzip用于解压缩内核并引导它。两者的不同之处在于,老的zImage解压缩内核到低端内存(第一个640K), bzImage解压缩内核到高端内存(1M以上)。如果内核比较小,那么可以采用zImage 或bzImage之一,两种方式引导的系统运行时是相同的。大的内核采用bzImage,不能采用zImage。

  vmlinux是未压缩的内核,vmlinuz是vmlinux的压缩文件。

  vmlinux-2.4.20-8是未压缩内核,vmlinuz-2.4.20-8是vmlinux-2.4.20-8的压缩文件。


    
[2]深入理解Linux重定向的使用
    来源: 互联网  发布时间: 2013-12-24

     介绍:Linux重定向是指修改原来默认的一些东西,对原来系统命令的默认执行方式进行改变,比如说简单的我不想看到在显示器的输出而是希望输出到某一文件中就可以通过Linux重定向来进行这项工作。

  Linux默认输入是键盘,输出是显示器。你可以用重定向来改变这些设置。比如用wc命令的时候本来是要手动输入一篇文字来计算字符数的,用了重定向后可以直接把一个已经写好的文件用‘<’指向这条命令,就直接可以统计这个文件的字符数等了。输出也是一样,你可以把屏幕输出重定向到一个文件里,再到文件里去看结果。重定向操作符可以用来将命令输入和输出数据流从默认位置重定向到其他位置,其输入或输出数据流的位置称为句柄(是某个文件描述符);常见的句柄有三种,当然句柄可以自行扩展,一般的OS都提供类似的功能。

  句柄 句柄代号 句柄描述
  STDIN 0 键盘输入
  STDOUT 1 输出信息到提示符窗口
  STDERR 2 输出错误信息到提示符窗口

  默认的 < 重定向输入操作符是 0,而默认的 > 重定向输出操作符是 1。键入 < 或 > 操作符之后,必须指定数据的读写位置,可以是文件名或其他现有的句柄。
  要指定重定向到现有句柄,请使用与 & 字符,后面接要重定向的句柄号(即 &句柄号)。

  例如,下面的命令可以将句柄 2(即 STDERR)重定向到句柄 1(即 STDOUT):2>&1
  下表列出了可用于重定向输入和输出数据流的操作符:
  Linux重定向操作符 功能描述
  > 将命令输出写入文件或设备,而不是命令提示符或句柄
  < 从文件而不是从键盘或句柄读入命令输入
  >> 将命令输出添加到文件末尾而不删除文件中已有的信息
  >& 将一个句柄的输出写入到另一个句柄的输入中
  <& 从一个句柄读取输入并将其写入到另一个句柄输出中
  | 从一个命令中读取输出并将其写入另一个命令的输入中;也称为管道操作符

  现在我们回过头来看看上面的那条语句mysh > mylog.txt 2>&1就可明白:
  > mylog.txt意思是将标准输出重定向到mylog.txt,等价于mysh 1> mylog.txt;
  2 >& 1 意思是将错误输出重定向到句柄1标准输出;综合起来就是mysh命令执行过程中产生的标准输出和错误输出都会被重定向到mylog.txt中;

  重定向的功能十分强大,有兴趣的可以去尝试各种不同的组合,看看前后位置变下会有什么结果?
  某些时候我们可能并不希望记录什么标准输出或者是错误输出,那可以用mysh >null 2>null或者mysh >/dev/null 2>/dev/null;

  I/O重定向详解
  1、 基本概念(这是理解后面的知识的前提,请务必理解)
  a、 I/O重定向通常与 FD有关,shell的FD通常为10个,即 0~9;
  b、 常用FD有3个,为0(stdin,标准输入)、1(stdout,标准输出)、2(stderr,标准错误输出),默认与keyboard、monitor、monitor有关;
  c、 用 < 来改变读进的数据信道(stdin),使之从指定的档案读进;
  d、 用 > 来改变送出的数据信道(stdout, stderr),使之输出到指定的档案;
  e、 0 是 < 的默认值,因此 < 与 0<是一样的;同理,> 与 1> 是一样的;
  f、 在IO重定向 中,stdout 与 stderr 的管道会先准备好,才会从 stdin 读进资料;
  g、 管道“|”(pipe line):上一个命令的 stdout 接到下一个命令的 stdin;
  h、 tee 命令是在不影响原本 I/O 的情况下,将 stdout 复制一份到档案去;
  i、 bash(ksh)执行命令的过程:分析命令-变量求值-命令替代(``和$( ))-重定向-通配符展开-确定路径-执行命令;
  j、 ( ) 将 command group 置于 sub-shell 去执行,也称 nested sub-shell,它有一点非常重要的特性是:继承父shell的Standard input, output, and error plus any other open file descriptors。
  k、 exec 命令:常用来替代当前 shell 并重新启动一个 shell,换句话说,并没有启动子 shell。使用这一命令时任何现有环境都将会被清除。exec 在对文件描述符进行操作的时候,也只有在这时,exec 不会覆盖你当前的 shell 环境。

  2、 基本IO
  cmd > file 把 stdout 重定向到 file 文件中;
  cmd >> file 把 stdout 重定向到 file 文件中(追加);
  cmd 1> fiel 把 stdout 重定向到 file 文件中;
  cmd > file 2>&1 把 stdout 和 stderr 一起重定向到 file 文件中;
  cmd 2> file 把 stderr 重定向到 file 文件中;
  cmd 2>> file 把 stderr 重定向到 file 文件中(追加);
  cmd >> file 2>&1 把 stderr 和 stderr 一起重定向到 file 文件中(追加);
  cmd < file >file2 cmd 命令以 file 文件作为 stdin,以 file2 文件作为 stdout;
  cat <>file 以读写的方式打开 file;
  cmd < file cmd 命令以 file 文件作为 stdin;
  cmd << delimiter Here document,从 stdin 中读入,直至遇到 delimiter 分界符。

  3、 进阶IO
  >&n 使用系统调用 dup (2) 复制文件描述符 n 并把结果用作标准输出(即把标准输出重定向到文件描述符n);
  <&n 标准输入复制自文件描述符 n;
  <&- 关闭标准输入(键盘);
  >&- 关闭标准输出;
  n<&- 表示将 n 号输入关闭;
  n>&- 表示将 n 号输出关闭;

  上述所有形式都可以前导一个数字,此时建立的文件描述符由这个数字指定而不是缺省的 0 或 1。如:
  ... 2>file 运行一个命令并把错误输出(文件描述符 2)定向到 file。
  ... 2>&1 运行一个命令并把它的标准输出和输出合并。(严格的说是通过复制文件描述符 1 来建立文件描述符 2 ,但效果通常是合并了两个流。)

  我们对 2>&1详细说明一下 :2>&1 也就是 FD2=FD1 ,这里并不是说FD2 的值 等于FD1的值,因为 > 是改变送出的数据信道,也就是说把 FD2 的 “数据输出通道” 改为 FD1 的 “数据输出通道”。如果仅仅这样,这个改变好像没有什么作用,因为 FD2 的默认输出和 FD1的默认输出本来都是 monitor,一样的!但是,当 FD1 是其他文件,甚至是其他 FD 时,这个就具有特殊的用途了。请大家务必理解这一点。
  exec 0exec 1>outfilename # 打开文件outfilename作为stdout。
  exec 2>errfilename # 打开文件 errfilename作为 stderr。
  exec 0<&- # 关闭 FD0。
  exec 1>&- # 关闭 FD1。
  exec 5>&- # 关闭 FD5。

您可能感兴趣的文章:

Linux重定向实例详解
解析:Linux之管道与重定向
深入linux中重定向及管道详解
深入linux上shell重定向详解>>
Linux中重定向命令行的方法总结
shell i/o常用重定向方法详解
linux文件描述符与输入输出重定向
有关I/O重定向的详细教程

    
[3]"网卡eth0,未识别的端口"的解决方法
    来源: 互联网  发布时间: 2013-12-24

用service network restart 后,有时会得到这样的提示(serivce network status 读取的是etc/sysconfig/network-script/ifcfg-*文件)
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                              [  OK  ]
Bringing up interface eth0:  Error: No suitable device found: no device found for connection ' System eth0'.
                                                                                [FAILED]
用ifconfig eth0 up 提示eth0: unknown interface: No such device

网络在启动的时候会去配置文件 /etc/udev/rules.d/70-persistent-net.rules 读取相应的信息,如:
# PCI device 0x8086:0x100e (e1000) (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:25:d3:1c", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:37:20:1e", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

表明在 setup 网络设置中设置了两个网卡,eth0 和 eth1,系统看到这个信息会自动去读取网卡对应的文件:
etc/sysconfig/network-script/ifcfg-eth0  和 etc/sysconfig/network-script/ifcfg-eth1

会发现这 eth0 文件的网卡物理地址和电脑的网卡不匹配,才会出现开始的错误信息提示,可以把 eth1 中信息 copy 到 eth0中,这样在启动时,eth0就可以找到与之匹配的网卡设备。


    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
▪nagios 分发文件实现代码
▪阿里云云服务器Linux系统更新yum源Shell脚本
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪CentOS 6.3下给PHP添加mssql扩展模块教程
▪监控网站是否可以正常打开的Shell脚本分享
▪shell脚本编程之if语句学习笔记
▪shell脚本编程之循环语句学习笔记
▪shell脚本编程之case语句学习笔记
▪Shell脚本实现的阳历转农历代码分享
▪Shell脚本实现复制文件到多台服务器的代码分...
▪Shell脚本实现批量下载网络图片代码分享
▪Shell脚本实现检测文件是否被修改过代码分享
▪Shell脚本数组用法小结
▪Shell脚本批量重命名文件后缀的3种实现
▪C语言实现的ls命令源码分享
▪Linux下查找后门程序 CentOS 查后门程序的shell脚...
▪Shell 函数参数
▪linux shell 自定义函数方法(定义、返回值、变...
▪Shell实现判断进程是否存在并重新启动脚本分...
▪Shell脚本break和continue命令简明教程
▪Shell脚本函数定义和函数参数
▪让代码整洁、过程清晰的BASH Shell编程技巧
▪shell常用重定向实例讲解
▪awk中RS、ORS、FS、OFS的区别和联系小结
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3