压缩大文件时如何限制CPU使用率?----几种CPU资源限制方法的测试说明

一、说明

我们的MySQL实例在备份后需要将数据打包压缩,部分低配机器在压缩时容易出现CPU打满导致报警的情况,需要在压缩文件时进行CPU资源的限制。

因此针对此问题进行了相关测试,就有了此文章。

二、测试过程

0. 正常打包

正常打包压缩操作:

[root@mysql-test data1]$ du -sh 5555
34G     5555
[root@mysql-test data1]$ tar -czf 5555.tar.gz 5555

打包压缩过程中的CPU占用:

no_tool

1. nice 命令打包

nice 命令用于设定进程的优先级,取值范围[-20,19],-20为最高,19为最低。

使用nice命令:

[root@mysql-test data1]$ du -sh 5555
34G     5555
[root@mysql-test data1]$ nice -n 19 tar -czf 5555.tar.gz 5555

过程中CPU占用:

nice_tool

  • 第4列 NI 列为19,表示优先级,此时已经是使用了最低优先级
  • 由于平时并没有太多的任务进行(夜间备份期间更是如此),因此即使设置了最低优先级,依旧占用CPU较高

2. cpulimit 命令打包

cpulimit 可以为进程设置CPU使用率上限值并实时监控,若超出上限则暂停运行一段时间

使用该命令需要先进行安装:

wget -O cpulimit.zip https://github.com/opsengine/cpulimit/archive/master.zip
unzip cpulimit.zip
cd cpulimit-master
make
sudo cp src/cpulimit /usr/bin

a. 安装后使用如下命令测试:

cpulimit -l 60 tar -czf 5555.tar.gz 5555         # 限制进程CPU占用率上限为60%

结果如下:

cpulimit

  • cpulimit 只针对单个进程进行限制,而gzip是另一个子进程,因此无效

b. 同时限制子进程

使用cpulimit的-i参数可以同时限制其子进程的资源占用:

cpulimit -i -l 60 tar -czf 5555.tar.gz 5555

其gzip子进程也成功限制:

cpulimit_i

c. 使用进程号进行限制:

如果无法在命令上使用cpulimit,比如进程已经在跑了,还可以指定进程号进行限制:

先进行正常打包压缩操作:

tar -czf 5555.tar.gz 5555

找到该任务的gzip进程,使用cpulimit:

[root@mysql-test data1]$ cpulimit -l 60 -p 1695
Process 1695 found

CPU使用率被限制在60%:

cpulimit_gzip

3. cgroups 命令集

Linux 内核提供的一种机制,利用它可以指定一组进程的资源分配,不限于CPU

该命令只在多个进程争抢资源时才生效,因此在此不再测试,有兴趣同学可自行研究,或参考最后链接的文章。

三、结论对比

  • nicecgroups 命令适用于多个进程任务争抢CPU资源时,进行资源的分配与限制;而只有单一进程任务时依旧会最大限度占用资源
  • cpulimit 针对单个进程生效,可以设定单个进程对CPU资源的使用率上限

四、参考文章

http://www.linuxidc.com/Linux/2015-01/112382.htm

五、附(2017.10.31更新,感谢评论区兄弟提醒)

cpulimit命令的 -i 参数可以同时针对子进程也进行限制,无需再另外指定进程号,用法如下:

cpulimit -i -l 60 tar -czf 5555.tar.gz 5555

转载于:https://my.oschina.net/feicuigu/blog/1509639

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该软件无论在 Windows XP还是在Windows 7都能获得比系统自带的复制功能要快20%~120%的性能提升。根据官方的视频显示其不仅比Windows 7自带的文件复制功能要快,甚至还比目前国外流行的TeraCopy和SuperCopier还要快得多。这种高效率的文件复制功能对目前越来越多和越来越大的硬盘占用容量的文件用户来说是非常实用的工具。 ExtremeCopy Pro是一款Windows文件复制移动增强软件,它会根据硬件和系统资源自动优化文件复制和移动速度,据软件官方介绍,它比Windows 自身的复制移动速度快20%到120%,免费是针对大文件较为明显。而且ExtremeCopy使用方便,如果你愿意,可以直接使用ExtremeCopy来接管Windows自身的复制移动功能。 ExtremeCopy 可以支持 XP~Windows 8,支持32与64位系统,可以非常有效地提高文件复制/移动的速度和稳定性,大大减小复制过程中产生错误的可能性。官方称其能让你获得比原系统的复制功能高达 20%~120% 的性能提升!(对于体积巨大的文件,或者文件数量巨大的文件夹效果最为明显)。并且在复制期间还能大大减小CPU占用率,提高电脑的响应速度。 ExtremeCopy Pro 2.3.4 复制文件过程中可以暂停或跳过文件,经测试可以用 ExtremeCopy 复制局域网上的 NAS 网络文件,而且向左和向下的箭头还能看到更多有用的信息。 在安装软件之后,ExtremeCopy 可以取代 Windows 的资源管理器的自带复制/移动功能,使其成为系统默认的复制、剪切/粘贴工具。你依然可以跟往常一样右键复制、剪切/粘贴,或者使用 Ctrl+C、Ctrl+X / Ctrl+V 键盘快捷键进行操作,系统会直接调用 ExtremeCopy 来进行更高速稳定的文件复制/移动操作,非常方便。如果对于某些文件你喜欢使用 Win 自带的复制功能而不 ExtremeCopy,那么在右键菜单中你只需选择 “Windows 粘贴” 即可。当然,你可以随在软件配置里设置是否让 ExtremeCopy 成为系统的默认复制工具。 我们都知道,如果你想将电脑上不同路径的多个文件(夹)复制到一处,或者将一个文件(夹)复制到多个不同文件夹去,那么往往需要复制粘贴好几次才行。ExtremeCopy 则可以让你一次指定多个源文件(夹)和多个目标文件夹,你可以非常灵活地一次完成全部的复制移动操作!对于有此类特殊需求的用户可以节省大量的间。 譬如你有D:\音乐,E:\电影两个文件夹,想将它们两分别同复制到移动硬盘F:\和U盘G:\上,那么只需将音乐和电脑的文件夹拖放到在源文件框上,然后将移动硬盘和U盘的文件夹拖放到目标文件夹框中,即可一次完成所有工作。而且ExtremeCopy 会自动将任务进行排序,完成一项再做下一项,不会同读写移动硬盘造成复制过程变得缓慢。 ExtremeCopy 可以支持通配符,譬如你的某个文件夹里面有着各种各样格式的文件,而现在只希望将其中全部的 MKV 和 AVI 视频拷贝到移动硬盘,那么你只需将文件夹拖放到源文件框里面,点选该文件夹后,按下“过滤”按钮即可指定「通配符」。如输入 *.mkv,*.avi 则可以将这两种文件全部筛选出来。对于这个已经设定了“过滤”的文件夹,在复制或移动,只会对 mkv 和 avi 文件有效,其他的文件均不会被复制或移动。 当然,这不只是可以用来过滤扩展名,文件名也能通过这个功能来过滤,而且除了*号之外,还能支持?号进行匹配。譬如 iplaysoft* 或者 pic??.jpg,前者可以匹配开头的任意数量字符文件名,后者两个问号则只能匹配2个字母(如pic01.jpg / picab.jpg),总之,善用通配符可以让你的复制过程变得非常方便快捷。这个有用来整理混乱的文件很有作用。 ExtremeCopy Pro 对于目前越来越巨大的硬盘容量,以及越来越巨大的文件体积,ExtremeCopy 这种能真正提高文件复制、移动效率的软件确实非常实用!不但可以提高文件拷贝的速度,也会大大减少文件传输出错的几率,而且独有的多文件夹复制移动以及通配符的支持也能让它变得更加灵活方便。对于有更高端需求的朋友,还可以让 ExtremeCopy 在执行复制/移动任务完成之后再执行指定的命令行/批处理对文件进行再加工 (譬如调用 WinRAR 解压缩文件等/下图底部可以看到)。
1. 概要 这是嵌入式PowerPC, ARM和MIPS系统中使用DENX U-Boot和Linux的指导手册。文档中描述了如何在嵌入式PowerPC, ARM和MIPS系统上配置、编译、使用Das U-Boot(常常缩写为“U-Boot”)和Linux操作系统。文档中涵盖了所有你可能需要的用于配置、编译、运行U-Boot和Linux的工具。 2. 绪论 首先,我们介绍如何安装交叉编译开发工具Embedded Linux Development Kit(ELDK),这个开发套件你很有可能会用到——至少当你在标准的x86 PC上使用Linux或者Sun Solaris系统作为开发环境的候,你会需要它的。 然后,我们会阐述通过串口与你的目标板连接:你需要配置一个终端控制程序,如cu或者kermit。 你常常需要通过网线把映像文件下载到你的目标板上。为了实现这个目的,你需要TFTP和DHCP/BOOTP服务器。文档中提供了简要的相关配置说明。 接下来则是描述如何配置和编译U-Boot使之适用于某个特定的平台,以及如何安装和在该硬件平台上运行。 下一步的工作是配置、建立和安装Linux。我们使用SELF(Simple Embedded Linux Framework)来展示如何建立一个开发环境(包括通过NFS挂载的根文件系统)和一个嵌入式目标板配置(从基于busybox的ramdisk映像文件中运行)。 本文档不会给出如何把U-Boot或者Linux移植到一个新的硬件平台,而是默认你的开发板已经被U-Boot和Linux所支持。 本手册各种文档格式的最新版本可以从以下网址获取: · HTML http://www.denx.de/wiki/publish/DULG/DULG-canyonlands.html · plain ASCII text http://www.denx.de/wiki/publish/DULG/DULG-canyonlands.txt · PostScript European A4 format http://www.denx.de/wiki/publish/DULG/DULG-canyonlands.ps · PDF European A4 format http://www.denx.de/wiki/publish/DULG/DULG-canyonlands.pdf 3. 嵌入式Linux开发工具套件 嵌入式Linux开发工具套件(ELDK)包括GNU交叉开发工具,如编译器、binutils、gdb等工具,和一些已经编译好的目标工具以及负责提供在目标平台上函数调用的库文件。还免费提供了所有的源代码,包括全部补丁、扩展文件、以及用于编译开发工具使用的程序和脚本。安装包都是基于RPM包管理器。 3.1 获取ELDK 可以通过以下方式获得ELDK。 ·DENX计算机系统光盘 ·从以下服务器中下载 FTP方式 ftp://mirror.switch.ch/mirror/eldk/eldk/ ftp://sunsite.utk.edu/pub/linux/eldk/ ftp://ftp.sunet.se/pub/Linux/distributions/eldk/ ftp://ftp.leo.org/pub/eldk/ HTTP方式 http://mirror.switch.ch/ftp/mirror/eldk/eldk/ http://ftp.sunet.se/pub/Linux/distributions/eldk/ http://archiv.leo.org/pub/comp/os/unix/linux/eldk/ 3.2 初始安装 初始安装可以使用放在ELDK目录树根目录下的安装工具。安装工具使用语法如下; $ ./install [-d ] [] [] … -d 确定ELDK安装在哪个目录。如果省略ELDK会安装在当前目录。 确定目标平台的CPU。如果此项设置了一项以上的参数,则会将这些CPU的支持都安装。如果省略将会安装所有CPU的支持。你也可以把ELDK安装到任何空目录下,这么做的唯一条件是你有那个目录的写和执行权限。安装过程并不需要超级用户的特权。由安装的参数决定安装几个目标组件集合。ELDT包是肯定会安装的。 $ export CROSS_COMPILE=ppc_4xx- //加入环境变量 $ PATH=$PATH:/opt/eldk/usr/bin:/opt/eldk/bin //加入PATH 这样加入的话,每次重启系统后必须重新加入,一劳永逸的办法是编辑/root/.bashrc 加上 export CROSS_COMPILE=ppc_4xx- export PATH=$PATH:/opt/eldk/usr/bin:/opt/eldk/bin 重启系统后即可使用ELDK。 4. 系统设置 在目标平台上安装和配置U-Boot和Linux需要一些工具。特别是在开发过程中,你需要和目标平台保持联系。这一节将告诉你如何配置你的主机以达到上述目的。 4.1 设置串口 为了更好地使用U-Boot和Linux,你需要通过串口将目标板和你的主机连接。U-Boot和Linux可以配置成自动执行而不需要任何用户的干涉。 通过串口有很多种方法来控制你的目标板,比如说使用终端服务器。不过最常见的做法是使用你本机的串口,这,你主机需要安装一个终端程序,如cu或者kermit。 4.2 配置“kermit” kermit这个名字就代表了它是连接串口和网络的通信软件。事实上在很多计算机和操作系统上使用它,能够很好地满足我们的目的。 kermit在执行其它命令之前,会执行你的用户目录下的初始文件.kermrc,所以可以非常简单的通过初始化命令来定制kermit。下面是使用U-Boot和Linux推荐配置: ~/.kermrc: set line /dev/ttyS0 set speed 115200 set carrier-watch off set handshake none set flow-control none robust set file type bin set file name lit set rec pack 1000 set send pack 1000 set window 5 这个设置假定你使用的是主机第一个串口(/dev/ttyS0),以115200这个波特率与目标板的串口连接。 然后你可以连接目标板了: $ kermit -c Connecting to /dev/ttyS0, speed 115200. The escape character is Ctrl-\ (ASCII 28, FS) Type the escape character followed by C to get back, or followed by ? to see other options. —————————————————- 下载kermit这个软件,你会发现有两个kermit包。你只需要安装ckermit。其中gkermit仅仅是实现kermit传输协议的一个命令行工具。如果你主机上的Linux系统没有安装kermit,你可以到kerimt的官方网站 http://www.columbia.edu/kermit/ 下载。 4.3 使用minicom minicom是另外一种非常流行的串口通信终端。很遗憾的是,很多用户发现在使用U-Boot和Linux,minicom有很多问题,尤其是试图使用它来下载image的候。因此,不推荐大家使用minicom。 4.4 配置TFTP服务器 使用U-Boot下载Linux内核或者应用程序的最快捷的方法是通过网络传输。为了这一目的,U-Boot实现了TFTP协议(参见U-Boot中的tftpboot命令)。为了使主机支持TFTP,你必须确保TFTP后台程序/usr/sbin/in.tftpd已经安装。在RedHat系统中,你可以运行下面的命令来确认: $ rpm -q tftp-server 如果没有安装,请从你的Linux安装盘或者其它媒介安装。 大多数的Linux发行版都默认关闭TFTP服务。以RedHat系统为例,如果要使能TFTP服务,编辑文件/etc/xinetd.d/tftp,移除这一行: disable = yes 或者注释掉它,或者修改disable = no 此外,确保/tftpboot目录存在,而且有访问权限(至少应该"dr-xr-xr-x")。 5. Das U-Boot 5.1 当前版本 Das U-Boot(或者简称“U-Boot”)是针对嵌入式PowerPC, ARM, MIPS和x86处理器的开放源代码软件。U-Boot项目已经在Sourceforge设立,你可以访问这个官方网站:http://www.denx.de/wiki/UBoot U-Boot最新版的源代码可以在Sourcefoge通过匿名CVS得到。当要求输入匿名用户anonymous的密码只需要直接按下回车键。 $ cvs -d:pserver:[email protected]:/cvsroot login $ cvs -z6 -d:pserver:[email protected]:/cvsroot co -P u-boot 官方发布的U-Boot也可以通过FTP方式获取。你可以到ftp://ftp.denx.de/pub/u-boot/下载tar形式的压缩包。 或者通过git的方式获取: git clone git://www.denx.de/git/u-boot.git u-boot/ git clone http://www.denx.de/git/u-boot.git u-boot/ git clone rsync://www.denx.de/git/u-boot.git u-boot/ 5.2 源代码包的解压 如果你是通过CVS得到的U-Boot源代码,你可以跳过这一步,因为你得到的已经是解压后的目录树了。如果你是从FTP服务器上下载的tar压缩包,那么你需要按照以下步骤解压: $ cd /opt/eldk/usr/src $ wget ftp://ftp.denx.de/pub/u-boot/u-boot-1.3.2.tar.bz2 $ rm -f u-boot $ bunzip2 < u-boot-0.4.5.tar.bz2 | tar xf - $ ln -s u-boot-0.4.5 u-boot $ cd u-boot 5.3 配置 $ export BUILD_DIR=/opt/eldk/build //指定编译的输出目录 进入U-Boot源代码根目录后,可以先使用如下命令确保已经清除以前编译的结果: $ make distclean 下一步是为Makalu板配置U-Boot: $ make makalu_config (译者注:应该根据你自己的具体开发板配置,如$ make _config,如果没有相应的开发板,应该自己照着建立相应的目录和配置文件。) 最后我们可以开始编译U-Boot了: $ make all 5.4 安装 5.4.1 动手之前 5.4.1.1 安装所需 以下的章节假定你的开发板使用flash作为存储设备。如果不是,则以下的指令不会工作。如果你想使用U-Boot,需要换掉存储设备。 5.4.1.2 开发板识别数据 所有的Makalu开发板使用一个序列号加以识别。而且开发板需要分配一个以太网MAC地址。如果这些数据丢失,你可能会失去授权。在安装U-Boot或者改变开发板的配置之前,你需要搜集足够的信息。 5.4.2 使用BDM/JTAG调试器安装U-Boot.bin 把数据烧入flash中的一个简单而又快速的办法是通过BDM或者JTAG接口的调试器或者flash烧写器。当flash中没有任何数据(比如说一块新的开发板),这种方法是唯一的选择。 我们(强烈推荐)使用Abatron公司的BDI2000(见http://www.abatron.ch/BDI/bdiGDB.html )。 其它的BDM/JTAG调试器也可以使用,但是如何操作它们不是本文档要讨论的范围。如果你想使用别的工具请参照它们的说明文档。(我没有使用BDI2000,故略去操作BDI2000的方法。我烧写u-boot.bin就是简单地通过JTAG口。) 5.4.3 使用U-Boot安装U-Boot.bin 如果U-Boot已经在你的板子上安装运行,你可以使用这些命令来下载新的U-Boot映像来代替当前的。 警告:在你安装新的映像之前,你必须擦除当前的u-boot.bin。如果出现什么差错,你的开发板将不能运行。因此强烈建议: 做一个能工作的U-Boot映像文件的备份; 你清楚如何在一个新的开发板上安装u-boot.bin。 过程如下: => tftp 100000 /tftpboot/uboot.bin ARP broadcast 1 TFTP from server 10.0.0.2; our IP address is 10.0.0.100 Filename ””/tftpboot/uboot.bin””. Load address: 0×100000 Loading: ############################### done Bytes transferred = 155376 (25ef0 hex) => protect off 40000000 4003FFFF Un-Protected 5 sectors => era 40000000 4003FFFF Erase Flash from 0×40000000 to 0x4003ffff ……… done Erased 5 sectors => cp.b 100000 40000000 $(filesize) Copy to Flash… done => setenv filesize => saveenv Saving Enviroment to Flash… Un-Protected 1 sectors Erasing Flash… .. done Erased 1 sectors Writing to Flash… done Protected 1 sectors => reset 5.5 工具的安装 U-Boot加载Linux内核、Ramdisk或者其它映像使用一种特殊的映像格式。这种格式包含了一些信息,如创建间、操作系统压缩格式、映像类型、映像名和CRC32校验和。 mkimage用来创建这种格式的映像文件或者显示它包含的信息。如果使用ELDK,那么mkimage这个命令已经包含在ELDK中。 如果你不想使用ELDK,你应该把mkimage安装在某个能够直接执行的目录里,比如: $ cp tools/mkimage /usr/local/bin/ 5.6 初始化 初始化你的Makalu板上的U-Boot,你需要通过终端连接板子的串口。 Makalu板的串口默认配置是波特率为115200/8N1(115200bps,每个字符8bit,无奇偶校验,1bit停止位,无握手)。 如果你的主机是Linux操作系统,我们建议你用kermit或者cu作为终端控制程序。确定硬件和软件控制流都已经关闭。 5.7 开始的步骤 在默认配置中,U-Boot运行在一种互动模式,它通过串口“UART1”提供命令行形式的用户接口。 这意味着U-Boot显示一个提示符(默认是:=>),等待着接受用户的输入。然后你输入一个命令,按下回车键。U-Boot将运行这个命令,然后又出现提示符等待下一条命令。 你可以使用help(或者简单地一个?)来查看所有的U-Boot命令。它将会列出在你当前配置下所有支持的命令。[请注意到尽管U-Boot提供了很多配置选项,并不是所有选项都支持各种处理器和开发板,有些选项可能在你的配置中并没有被选上。] => help ? – alias for ‘help’ askenv – get environment variables from stdin autoscr – run script from memory base – print or set address offset bdinfo – print Board Info structure boot – boot default, i.e., run ‘bootcmd’ bootd – boot default, i.e., run ‘bootcmd’ bootelf – Boot from an ELF image in memory bootm – boot application image from memory bootp – boot image via network using BootP/TFTP protocol bootstrap – program the I2C bootstrap EEPROM bootvx – Boot vxWorks from an ELF image cmp – memory compare coninfo – print console devices and information cp – memory copy crc32 – checksum calculation date – get/set/reset date & time dhcp – invoke DHCP client to obtain IP/boot params dtt – Digital Thermometer and Thermostat echo – echo args to console eeprom – EEPROM sub-system erase – erase FLASH memory exit – exit script ext2load- load binary file from a Ext2 filesystem ext2ls – list files in a directory (default /) fatinfo – print information about filesystem fatload – load binary file from a dos filesystem fatls – list files in a directory (default /) fdt – flattened device tree utility commands flinfo – print FLASH memory information getdcr – Get an AMCC PPC 4xx DCR’s value getidcr – Get a register value via indirect DCR addressing go – start application at address ‘addr’ help – print online help icrc32 – checksum calculation iloop – infinite loop on address range imd – i2c memory display iminfo – print header information for application image imls – list all images found in flash imm – i2c memory modify (auto-incrementing) imw – memory write (fill) imxtract- extract a part of a multi-image inm – memory modify (constant address) iprobe – probe to discover valid I2C chip addresses irqinfo – print information about IRQs isdram – print SDRAM configuration information itest – return true/false on integer compare loadb – load binary file over serial line (kermit mode) loads – load S-Record file over serial line loady – load binary file over serial line (ymodem mode) loop – infinite loop on address range loopw – infinite write loop on address range md – memory display mdc – memory display cyclic mii – MII utility commands mm – memory modify (auto-incrementing) mtest – simple RAM test mw – memory write (fill) mwc – memory write cyclic nand – NAND sub-system nboot – boot from NAND device nfs – boot image via network using NFS protocol nm – memory modify (constant address) pci – list and access PCI Configuration Space ping – send ICMP ECHO_REQUEST to network host printenv- print environment variables protect – enable or disable FLASH write protection rarpboot- boot image via network using RARP/TFTP protocol reginfo – print register information reset – Perform RESET of the CPU run – run commands in an environment variable saveenv – save environment variables to persistent storage setdcr – Set an AMCC PPC 4xx DCR’s value setenv – set environment variables setidcr – Set a register value via indirect DCR addressing sleep – delay execution for some time test – minimal test like /bin/sh tftpboot- boot image via network using TFTP protocol usb – USB sub-system usbboot – boot from USB device version – print monitor version =>使用help 你可以得到更多的命令信息: => help tftpboot tftpboot [loadAddress] [[hostIPaddr:]bootfilename] => => help setenv printenv setenv name value … - set environment variable ‘name’ to ‘value …’ setenv name - delete environment variable ‘name’ printenv - print values of all environment variables printenv name … - print value of environment variable ‘name’ => 大多数命令可以缩写,只要字符串的内容仍然可以被确定: => help fli tftp flinfo - print information for all FLASH memory banks flinfo N - print information for FLASH memory bank # N tftpboot [loadAddress] [[hostIPaddr:]bootfilename] => 5.8 首次上电 把主机指定的串口和在Makalu板上标有UART1的端口连接,运行终端程序,给Makalu板接上电源。你可以看到如下信息: => reset U-Boot 1.3.3-rc2-01466-g4f27098 (May 1 2008 – 13:57:57) CPU: AMCC PowerPC 460EX Rev. A at 600 MHz (PLB=200, OPB=100, EBC=100 MHz) Security/Kasumi support Bootstrap Option H – Boot ROM Location I2C (Addr 0×52) Internal PCI arbiter disabled 32 kB I-Cache 32 kB D-Cache Board: Canyonlands – AMCC PPC460EX Evaluation Board, 2*PCIe, Rev. 13 I2C: ready DTT: 1 is 48 C DRAM: 256 MB (ECC not enabled, 400 MHz, CL3) FLASH: 64 MB NAND: 32 MiB PCI: Bus Dev VenId DevId Class Int PCIE0: link is not up. PCIE0: initialization as root-complex failed PCIE1: link is not up. PCIE1: initialization as root-complex failed Net: ppc_4xx_eth0, ppc_4xx_eth1 Type run flash_nfs to mount root filesystem over NFS Hit any key to stop autoboot: 0 => => 你可以按下任意键来中止倒计数。如果你不那么做,你可能会看到一些(无关紧要的)错误,因为系统没有初始化。 有你可能会看到一种信息: *** Warning – bad CRC, using default environment 这条信息没有害处,只要你初始化和保存环境变量之后,它就不会出现了。 首先,你必须输入你的开发板的序列号和网卡地址。需要特别注意的是,这些参数是写保护的,一旦保存了就无法改变(通常制造商已经设置好了)。使用U-Boot的setenv命令可以输入数据,命令后面跟上变量名和值,参数之间用空格(或者Tab符)隔开。例如,使用变量名serial#设置开发板的ID或者说序列号,变量名ethaddr用于设置以太网地址: => => setenv ethaddr !!!!!!FILL_THIS!!!!!! => setenv serial# CF56-216F-400A 使用printenv确认你已经输入正确的值: => printenv serial# ethaddr ## Error: "serial#" not defined ethaddr=5e:ed:18:38:81:85 => 请仔细核查显示值是否正确!等保存之后你将不能更正任何错误。如果发现错误,请重新启动开发板。如果检查无误,你可以使用saveenv命令永久保存这些参数。 => saveenv Saving Environment to Flash… Un-Protected 1 sectors Un-Protected 1 sectors Erasing Flash… . done Erased 1 sectors Writing to Flash… done Protected 1 sectors Protected 1 sectors => 5.9 U-Boot命令介绍 这一节将介绍U-Boot中最重要的指令。U-Boot可配置性非常强,所以并不是所有的命令都已经在你的硬件平台上安装,此外可能也有这儿没提到的命令。你可以使用help命令来显示根据你的配置所有可用的命令列表。 对于大多数命令,你不必打全这些命令,只需输入一些字符足以。比如,help可以简写为h。 一些命令的执行依赖于U-Boot的配置以及U-Boot中一些环境变量的定义。 所有的U-Boot命令都把输入的数字当作十六进制的格式。 不要使用除了退格键之外的其它编辑键,因为在诸如环境变量中隐藏的字符是很难被发现的。 具体命令略 6. Linux内核的编译 6.1 下载Linux内核 可以通过git下载到最新的内核,命令如下: $ cd /opt/eldk/usr/src $ git clone git://www.denx.de/git/linux-2.6-denx.git linux-2.6-denx $ cd linux-2.6-denx 6.2 内核的配置及编译 下面的步骤需要powerpc的交叉开发工具,所以您必须确认您的PATH变量中有ELDK的编译工具的地址。 首先使用下面的命令清除以前的编译信息: $ make mrproper 使用下面的命令导入适合Makalu开发板的默认配置,这些配置是经过官方多次测试的: $ make ARCH=powerpc CROSS_COMPILE=ppc_4xx- makalu_defconfig //导入默认配置 注:这些默认的配置文件位于arch/powerpc/configs/XXX_defconfig ,根据您的开发板的型号选择。如果找不到相应的配置文件,可以去arch/ppc/configs/中寻找相应的配置文件,那里还有一些。makalu_defconfig这个就是位于arch/ppc/configs/下面,而arch/powerpc/configs/中没有。 当然您还可以自己去修改内核的配置,使用如下命令: $ make ARCH=powerpc CROSS_COMPILE=ppc_4xx- config //手动改动配置 或者 $ make ARCH=powerpc CROSS_COMPILE=ppc_4xx- menuconfig //手动改动配置 注:因为一些问题(尤其是老版本的内核),"make xconfig"这个命令不被推荐 使用下面的命令编译内核: $ make ARCH=powerpc CROSS_COMPILE=ppc_4xx- uImage //编译 编译生成的目标文件uImage是通过mkimage(位于U-Boot包中) 创建的,位于/opt/eldk/usr/src/linux-2.6-denx/arch/powerpc/boot/uImage,它可以通过U-Boot来下载和引导 配置和安装模块使用如下命令: $ make ARCH=powerpc CROSS_COMPILE=ppc_4xx- modules $ make ARCH=powerpc CROSS_COMPILE=ppc_4xx- INSTALL_MOD_PATH=/opt/eldk/ppc_4xx modules_install 6.3 安装 将文件复制到tftpboot目录下面,然后通过tftp烧写: $ cp arch/powerpc/boot/uImage /tftpboot/uImage 7. 根文件系统的设计与编译 7.1 根文件系统的设计 嵌入式开发中根文件系统的设计并不是很容易的事,主要的问题是: (1)里面要包括哪些内容 (2)使用哪种文件系统类型 (3)怎样存储和引导 现在假设根文件系统中的内容我们已经知道,那么我们主要关注后面两点。 我们使用ELDK安装生成的镜像 SELF (Simple Embedded Linux Framework),它位于 /opt/eldk//images/ 文件夹下,ramdisk_image.gz这个文件便是。 (1)解压ramdisk: $ gzip -d -c -v /opt/eldk/ppc_4xx/images/ramdisk_image.gz >/tmp/ramdisk_image //解压 (2)挂载ramdisk $ mount -o loop /tmp/ramdisk_image /mnt/tmp //挂载 (3)创建压缩文件,为了避免下面步骤需要root权限,不包括设备文件 $ cd /mnt/tmp $ tar -zc –exclude=’dev/*’ -f /tmp/rootfs.tar.gz * //创建tarball,为了避免下面步骤需要root权限,不包括设备文件 (4)将设备文件创建成单独的压缩文件(使用cramfs) $ tar -zcf /tmp/devices.tar.gz dev/ //将设备文件创建成单独的tarball $ cd /tmp (5)取消挂载 $ umount /mnt/tmp //取消挂载 7.2 根文件系统的编译 我们使用ramdisk的形式来生成根文件系统的镜像文件,一般情况下,它使用ext2文件系统。 (1)创建目录,解压压缩文件 $ cd /opt/eldk/ $ mkdir rootfs $ cd rootfs $ tar zxf /tmp/rootfs.tar.gz (2)我们使用genext2fs来创建ramdisk镜像文件,因为它使用一个简单的文本文件来描述设备,因而不需要root权限。使用设备表rootfs_devices.tab: # /dev d 755 0 0 – - – - - /dev/console c 640 0 0 5 1 – - - /dev/fb0 c 640 0 0 29 0 – - - /dev/full c 640 0 0 1 7 – - - /dev/hda b 640 0 0 3 0 – - - /dev/hda b 640 0 0 3 1 1 1 16 /dev/kmem c 640 0 0 1 2 – - - /dev/mem c 640 0 0 1 1 – - - /dev/mtd c 640 0 0 90 0 0 2 16 /dev/mtdblock b 640 0 0 31 0 0 1 16 /dev/mtdr c 640 0 0 90 1 0 2 16 /dev/nftla b 640 0 0 93 0 – - - /dev/nftla b 640 0 0 93 1 1 1 8 /dev/nftlb b 640 0 0 93 16 – - - /dev/nftlb b 640 0 0 93 17 1 1 8 /dev/null c 640 0 0 1 3 – - - /dev/ptyp c 640 0 0 2 0 0 1 10 /dev/ptypa c 640 0 0 2 10 – - - /dev/ptypb c 640 0 0 2 11 – - - /dev/ptypc c 640 0 0 2 12 – - - /dev/ptypd c 640 0 0 2 13 – - - /dev/ptype c 640 0 0 2 14 – - - /dev/ptypf c 640 0 0 2 15 – - - /dev/ram b 640 0 0 1 0 0 1 2 /dev/ram b 640 0 0 1 1 – - - /dev/rtc c 640 0 0 10 135 – - - /dev/tty c 640 0 0 4 0 0 1 4 /dev/tty c 640 0 0 5 0 – - - /dev/ttyS c 640 0 0 4 64 0 1 8 /dev/ttyp c 640 0 0 3 0 0 1 10 /dev/ttypa c 640 0 0 3 10 – - - /dev/ttypb c 640 0 0 3 11 – - - /dev/ttypc c 640 0 0 3 12 – - - /dev/ttypd c 640 0 0 3 13 – - - /dev/ttype c 640 0 0 3 14 – - - /dev/ttypf c 640 0 0 3 15 – - - /dev/zero c 640 0 0 1 5 – - - 具体的格式描述请参见genext2fs的帮助文档。 (3)使用genext2fs来创建一个ext2文件系统的镜像: $ ROOTFS_DIR=/opt/eldk/rootfs # 路径 $ ROOTFS_SIZE=8192 # 文件系统镜像的大小,如果此值太小,当生成的文件超过此值,会报错 $ ROOTFS_FREE=100 # free space wanted $ ROOTFS_INODES=380 # number of inodes $ ROOTFS_DEVICES=rootfs_devices.tab # device description file $ ROOTFS_IMAGE=ramdisk.img # generated file system image $ genext2fs -U \ -d ${ROOTFS_DIR} \ -D ${ROOTFS_DEVICES} \ -b ${ROOTFS_SIZE} \ -r ${ROOTFS_FREE} \ -i ${ROOTFS_INODES} \ ${ROOTFS_IMAGE} (4)压缩文件 $ gzip -v9 ramdisk.img (5)创建适合U-Boot的images: $ mkimage -T ramdisk -C gzip -n ‘Test Ramdisk Image’ \> -d ramdisk.img.gz uRamdisk 至此,ELDK的开发环境便基本搭建完成。
〖千千静听〗使用技巧十七招 1、千千静听搜索歌词   千千静听是通过识别MP3标签来在线自动搜索歌词的,可现在网上下载的许多MP3文件的标签信息并不完整或文件名杂乱,如“S.H.E的痛快-标题Raciness”这样就会使千千静听无法正常下载到合适的歌词,这我们可以右击千千静听播放列表中欲识别文件,选择“文件信息命令”,在这里我们可以“偷懒”地点击“从文件名猜测标签”并选择合适的歌曲文件名样式,一般就可以帮助千千静听寻找到合适的歌词了。如果无效则只能手式在“文件信息”对话框标签栏中的标题里输入正确标题,最后记信要点击“保存到文件”按钮,再在千千静听中播放此音乐文件,便可轻松获取合适的歌词了。 2、自动选取择最佳歌词   千千静听的歌词服务器上储存着大量歌词,我们经常会遇到歌曲名相同而内容不同的音乐文件,这千千静听会要求我们选择合适的歌词,但这样经常会打扰我们的正常工作,为避免骚扰,可以在千千静听播放栏空白处右击鼠标选择“选项…”,在“歌词搜索”标签中勾选“有多个可选下载自动选择最佳” 3、歌词与音频文件“合一”   千千静听的歌词一般都保存在“C:\ProgramFiles\TTPlayer\Lyrics\”目录下,如果用闪存拷贝歌曲到其他电脑上既要拷贝歌词又拷贝音频文件真是麻烦,我们可以在“千千选项”的“歌词秀”标签中勾选“自动嵌入歌词到音频文件”,这样只需要拷贝音频文件就能将歌词一起带走了。 另外,当你想让千千静听换歌曲马上向你报告即将播放的歌曲名,可以在“千千选项→常规”中勾选“在屏幕右下角弹出播放提示”,总之,多对“千千选项”进行个性设置,定会让千千静听更适合你。 4、用千千静听制作高质量MP3   “千千静听”播放器自带的“格式转换”功能,可以让我们在欣赏CD音乐的同还能将音乐转换为MP3文件保存在电脑中。虽然“千千静听的MP3转换功能采用了经典的“Lame V3.90.3”编码引擎,但仍有许多朋友觉得效果不是很好,而宁愿使用其他附带原版或更高版本Lame编码引擎的MP3转换软件,这样无疑就让转换操作繁杂了许多。其“千千静听”是支持调用外挂编码引擎的,它可以使用其它软件的Lame编码引擎,这样就可以打消人们的顾虑,实现用“千千静听”转换高质量MP3的愿望了。   在“千千静听”的“播放列表”窗口中用右键音击要转换为MP3的音乐文件,选择“转换格式”选项,在“输出格式”框中选中“命令行编码器 V1.0”选项,点击“配置”按钮打开“命令行编码器”窗口点击“编码程序”框的“浏览”按钮定位到你要使用的“Lame”编码引擎所在的文件夹,并选中其中的“Lame.exe”文件,点击“打开”按钮即可。然后在“编码器方案”框中四种“Lame”编码方案(以Lame为开头)中选择一种,点击“确定”按钮后回到“转换格式”窗口,再进行相关设置后,点击“立即转换”按钮就可以让“千千静听”播放器用你喜欢的“Lame”编码引擎转换MP3文件了。 5、妙用千千静听录制电台广播   现在越来越多的传统广播电台都在互联网上进行同步转播,从此再也不用担心地域限制而无法收听到自己喜爱的节目了。下面为大家介绍用千千静听来收听电台还有录制广播的方法。   用千千静听听广播   千千静听中并没有内置收音机功能,但我们完全可以利用它的URL地址播放功能自己进行添加。获取在线广播网络地址的方法很简单,只要登陆相关电台的网站,点击“在线收听”功能即可通过播放器的“属性”获得,并且绝大多数地址都是没有加密的。   然后,在千千静听的主界面中,依次点击“添加/添加URL”,将获得的在线广播地址复制过来,确认后双击这个地址就可以收听了。   录制实广播   当想录制广播节目,可右击下下在播放的电台地址,选中“转换格式”配置录制文件的参数。   为了尽量减少录制文件的体积,可在“输出格式”中选择“WMA编码”,继续点击“配置”按钮,在“恒定比特率”中选择“96Hz”后确认退出并回到“转换格式”界面。   由于广播节目属于流媒体广播,其中大多数都是单纯的语音,即使播放音乐也无法与CD等介质的音乐质量相提并论。因此,除了在“选项”中的“目标文件夹”中指定好存放录制文件的目录,其他参数保持默认的即可。最后点击“开始转换”按钮开始录制。   现在就可以将录制和播放窗口最小化不用管了,当遇到播放广告,用鼠标点击系统托盘中的千千静听图标激活窗口,占击“暂停转换”跳过广告的录制,然后点击“继续转换”按钮接着录制,想结束录制点击“终止转换”按钮即可。   从此以后,无论是球赛还是演唱会转播放者可以自由录制保存了,如果为了提高兼容性,也可保存为MP3格式,这样放在MP3播放器中收听也OK! 6、常用软件之卡拉永远OK   千千静听本身不具有原唱消音功能,但可以为它安装一款志门的原唱消音插件“DeFX v0.97”来实现。这个插件为单独的一个“dsp_DeFX.dll”文件,将它保存到“千千静听”安装文件夹的“Plugins”目录中。然后打开“千千静听选项”面板,切换到“音效插件”窗口,点击“插件目录”框的“浏览”按钮并定位到“Plugins”目录,即可在下面的列表中看到“DeFX v0.97”选框,勾选这个选框即可弹出“DeFX”的操作窗口,占击“卡拉OK”栏的“启用”按钮即可进入卡拉OK状态。此用千千静听播放歌曲,就会对原唱的人声进行消音处理,由于千千静听具有自动搜索和显示同步歌词的功能,此就可以边跟着处理后的音乐边看着歌词边唱卡拉OK了。 7、简繁文字转换   如果你有一些文字想转换成繁体或者简体,也可以通过千千静听来搞定,方法很简单,先把要转换的文字都保存在一个文本文件中,接着在“歌词秀”面板中点击鼠标右键,选择“编辑歌词”把文件导入,在编辑框中按“Ctrl+A”来全部选中导入的文字,然后点击鼠标右键选择“简繁转换-繁体(或简体)”就可以了。 8、定关机   有候想听着电脑里面播放的歌曲睡觉,万一睡着了怎么办?那电脑要开一个晚上了,浪费电啊,其实我们可以让千千静听来定关机。   右键点击千千静音的空白处来选择“选项”,点击“常规”标签,接着把右面的“自动关闭计算机”选中,在后面设置一下要定关机的间就可以了。 9、通吃网上歌曲   在千千静音中添加网上歌曲,一般只能选择一个在线的歌曲(如下图)。现在网速相当快,我们完全可以利用千千静音收听网上歌曲。   先打开MP3的搜索网站,如mp3.baidu.com,然后单击MP3标签,在其中输入歌手的名字,可以查到该歌手的歌曲。右击,选择“使用网际快车下载全部链接”,再在打开的窗口中单击下方“选择特定”按钮,在打开窗口中选中歌曲文件扩展名,如mp3、wma,接着单击窗口上方“名称”标签,这样尽可能让相同扩展名的文件排在一起(如所有mp3文件),接着单击第一个歌曲名,再按下Shift键不松开,单击最后一个歌曲名,然后右击,选择“将网址复制到剪贴板”。   打开“记事本”,将复制后的地址粘贴到其中,接下来选择“文件→保存”,将文件名设置为“weblist.m3u”。   最后要提醒大家的是,利用此技巧可以用于随收听网上的多个听力文件,这些听力文件经常更新,但是文件名一般不会变,这样我们就可以经常听到最新的资料,从而加强自己的听力能力。   千千静听的每一次升级都会给我们带来惊喜,因为它增加的新功能都是在总结用户的建议后开发的,具有很强的实用性。 10、发送   歌词到MP3播放机   使用千千静听的“发送到”功能可以将当前播放的歌曲快速拷贝到MP3机里,新版的千千静听还可以把对应歌曲的歌词同步发送到MP3机里。在“播放列表”中选中歌曲,用右键点击歌曲并选择“发送到”功能拷贝歌曲,会弹出“是否同发送相应的歌词到”提示点击“是”按钮即可将歌曲与歌词同步同发送到目的地。如果歌词与歌曲的文件名不同,千千静听还会自动将歌词文件的主文件名改为与歌曲的文件名,以便歌词可以在用户的MP3机中正常显示。 11、换肤记忆   新版千千静听的“换肤记忆”功能对于喜欢更换皮肤的朋友来说是一大福音,它可以自动保存每个皮肤在使用中的窗口位置、字体、颜色等设置,当你下次重新使用该皮肤就会自动加载上次的使用状态,满足你的个性需求。 12、拼音速查   新版千千静听提供了“拼音速查”功能,它可以帮助用户在“播放列表”中快速查找到歌曲,比以前的“快速定位”还要快!首先激活播放列表,然后快速按顺序按下歌曲名中前几个字的拼音首字母,即可快速定位到最近的一个符合条件的歌曲。由于千千静听中的歌曲名是按拼音排序的,所以即使有N首歌有重码,它们也是排在一起的,找起同样很迅速。   提示:播放列表中的歌曲名以ID3信息为准,也就说按键应以ID3信息的拼音首字母为准。 13、半批量改变MP3的标签   在千千静听的MP3列表上点击右键,选择“文件信息”,从这里我们可以直接改变该MP3文件的标题、所属流派、艺术家等通用标签信息。你修改完一个以后,只要点击“保存到文件”按钮,就可以将这些信息嵌入MP3当中,按“上一首”、“下一首”即可继续修改邻近文件的标签信息,达到半批量修改目的。   物理删除MP3文件的疑惑   有的人很奇怪,为什么在播放列表右键菜单上面的“物理删除”功能总是灰色的?其实只要设置一下,就能让这个功能“重见天日”。方法是进入千千静听的选项后,在左方点击“播放列表”,然后将右方的“禁用物理文件删除功能”前的小勾去掉即可开启物理删除功能。 14、巧用千千删除MP3中重复文件用千千来K歌   千千本身不具有原唱清音功能,但可以为它安装一款专门的原唱清音插件“DeFX v0.97”来实现。它是一个单独的一个“dsp_DeFX.dll”文件,将它保存到千千静听安装文件夹的Plugins目录中。然后打开“千千静听选项”面板,切换到“音效插件”窗口,点“插件目录”框的“浏览”定位到“Plugins”目录,可在下列的表中看到“DeFX v0.97”选框,勾选可以弹出DeFX的操作窗口,点“卡拉OK”栏的“启用”就可以进入卡拉OK状态。此用TT播放歌曲,就会对原唱的人声进行消音处理。大家都知道TT具有自动显示同步歌词的功能,此就可以边跟着处理后的音乐边看着歌词边唱卡拉OK了。 15、如果你的电脑连网的话,那么你的千千就能够收音啦   首先在网上找到相关网络电台,登录相关电台网站后,点在线收听,可通过其播放器的。   “属性”获得其地址(URL),找到后我们打开千千静听,在其主界面中点:添加/添加URL。   把刚刚获得的在线广播地址复制过来确认后双击该地址就可以了然后就会听到你的扬声器中传来美妙的广播电台的声音了你的千千又比别人的多了项好玩的不是吗? 16、关于音频转换的补充   转换MP3格式,建议只考虑用变长码率(VBR)的编码,   千千自带的MP3变长码率(VBR)的编码有8个选项,最后4个是不需要考虑的,因为没多大意义.前4个压缩出来的音质好坏的顺序为:Insane>Extreme>Standard>R3mix,而压缩出来的体积大小也是这个顺序,具体怎么取舍要看自己的需要。Insane是320K码, 是MP3编码的极限了,个人认为Extreme比较均衡。   转换WMA格式,这是个在低码率下有不错表现的格式,64K到128K的WMA格式的音乐,比同码率的MP3划算,不过高码率下还是用MP3吧~   关于APE格式转换,APE是无损格式的一种,也就是说,如果设备条件和方法都比较好的话,它的音质可以和正版CD完全一样.千千自带APE的编码器的有几个选项,但出来的APE文件的音质是相同的,不同的是转换的快慢和体积的大小,建议用Normal或High即可,更高的会大大增加播放CPU占用率,不划算。   用千千转换APE还要注意,不要打上“音效处理”的任何一个勾。   如果你买的正版CD,想转换成APE格式,建议使用更专业的软件EAC来抓出来WAVE格式的文件,再用千千转换.直接用千千转换原CD的话,很难做到音质完美无暇。 17、千千的主窗口找不到了?   有候,千千的主窗口会不小心拉到屏幕显示范围以外,而再也拉不回来了,覆盖安装也没用,你是不是很发愁啊?   解决方法:右击系统托盘中的千千图标,选“查看”下的“重新排列”。   千千静听的那个字体转换功能还蛮有实用性的如果你有候想聊天或者注册什么的想用繁体字的话但你不想用繁体的输入法,觉得那样麻烦那你可以这样子:在千千歌词秀里面-编辑歌词,然后输入你想要的繁体字的简体字完成后,全选所输入的,右键点简体转繁体就可 以了呵呵方便吧
汉化说明 ================================ 软件名称:P4MagicSpeed 软件版本:RC2.3 软件类型:免费软件 运行平台:Win2K/XP 软件大小:80.2 KB (82,195 字节) 官方网站:GZEasy 软件汉化:Xlong 软件简介: 根据用户的使用自动调节 P4 CPU (包括含 HT 功能的 P4C/E)的有效频率,在对性能影响最小化的同极大的节约了能源和减小系统发热量 详细介绍: 运行以后出现一个蓝色的主窗口。 左边黑色背景的长方形中显示的是最近的 CPU 活跃程度和使用率。 蓝色区域代表可用资源,绿色区域代表实际使用了的资源。而黑色部分则代表节约了的资源资源使用率每隔 1 秒刷新一次,同程序将根据近期的 CPU 使用方式来预测用户所做的活动,从而动态的调整 CPU 频率来达到资源的最优化使用。 CPU 的频率总共有 4 个档位可以调,分别为最大频率的 25%, 50%, 75%, 100% 。 而程序设置的使用模式 (Mode) 总共有 4 种。 待机模式,媒体/娱乐模式 ,浏览/办公模式 和 游戏/性能测试模式。 针对每个模式,程序都有设置好的 CPU 频率跳动算法来适应。 完全不需用户干预。 程序设计背景: P4 CPU 都有 On Demand Clock Modulation 功能,这个功能用来人为的调整 CPU 的“有效频率”。 所谓的有效频率,是指 物理频率 x 有效周期率。 例如 主频为 3000 MHz 的 CPU 当把 On Demand Clock Modulation 值设定为 50.0% 的候,CPU 将每隔一个钟周期工作一个钟周期,也就是说每两个钟周期有一个在工作,而另一个被跳过了。 这样一来有效频率就是 1500MHz 了。 P4 的这种功能是官方认可的,人为调整不会对 CPU 及系统造成不良的影响,所以才有了 Pentium 4 MagicSpeed 这个软件。 安装与运行: Pentium 4 MagicSpeed 是绿色软件,下载之后只需要解压缩到一个目录即可使用。使用的候运行 P4MagicSpeed.exe 即可。 不适用的用户: * 狂热的评测爱好者:评测爱好者的要求是分数高,可是 P4 MagicSpeed 将会降低评测分数。比如 Super PI 1M 的速度将会降低 4-5s。所以评测爱好者试用后一定会失望。(因为 P4 MagicSpeed 在 CPU 满载 5 秒之后才会切换到 游戏/评测 模式,所以前 5 秒将会跑的很郁闷,而后面的速度则不受影响) * 主频低于 1.5 GHz 的 P4 拥有者:低于 1.5 GHz 的 P4 在运行现在的新软件常常会满负荷,所以使用 P4 MagicSpeed 基本没有什么节能降温效果。 * AMD Athlon 系列的用户?!实在抱歉,不是不想为 AMD CPU 节能,而是目前还没有找到 AMD CPU 节能的方法,日后不排除推出 A64 MagicSpeed 的可能 。呵呵~! =================================================== 汉化札记: =================================================== P4MagicSpeed RC2.3修正版,从新用VBExplorer汉化一遍; 主要改正了 系统托盘 的提示问题,和字体(由于第一次汉化VB程序字体并没有修改)! 本来想新版的出来在汉化,等待了好几个月没看见新版的; 只好从新汉化一遍,这次使用VBExplorer汉化的; 比起GetVBRes来说,VBExplorer可以修改字体、字号、更改Label的位置和大小等等! 不过VBExplorer用起来也有不方便的地方,比如不能在汉化字符串复制原来的字符串等。 感谢万涛的VBExplorer[[email protected]] 随便给P4MagicSpeed做了个图标(最近好象已经给好几个软件改过ICO了); 看见原来的16色的,不是很好看; 没办法PS功底不好,做的一般般! 蓝圈中间的写的是MagicSpeed, 以平铺方式查看还可以看见,图标方式就看不大清楚了! 我就不明白P4MagicSpeed好像就是中国人写的, 怎么就没有中文版的呢?难道他中文不好! 我看见 文件属性-版本-语言-中文(中国)明明是中文的嘛! 第二次写这么 长 的汉化说明!!!
★国人的骄傲★国产大型开源多用户博客系统 关于 X3-BLOG X3BLOG: 国内效率最快的AJAX多用户博客系统 国内搜索引擎最强大的多用户博客系统 国内唯一支持所有浏览器的多用户博客系统 国内唯一应用AJAX+XML+XSL三种技术于一体的博客系统 X3-BLOG 是基于XML+XSLT+AJAX技术构建的开源多用户博客门户系统,服务器端采用当前最流行的动态网页开发语 言之一ASP.NET(C#) 2.0编写,支持多种数据库,包括SQLSERVER2000\SQLSERVER2005\ORACLE\MYSQL\DB2等,默认使用 SQLSERVER2000。 X3-BLOG 遵从 GENERAL PUBLIC LICENSE(GPL) 开源协议,这意味着可以修改程序的一个或几个副本或程式的任何 部分,以此形成基於这些程式的衍生作品。必须在修改过的档案中附有明显的说明:您修改了此一档案及任何修改的 日期。 您必须让您发布或出版的作品,包括本程式的全部或一部分,或内含本程式的全部或部分所衍生的作品,允许 第三方在此许可证条款下使用,并且不得因为此项授权行为而收费。 功能与特点 X3-BLOG完美的利用了浏览器的XML解析技术,完全实现数据和界面的分离,使网络传输数据量大大减少,加载速 度远远超过了市面上所有的BLOG产品,有效的减轻了服务器的带宽压力,服务器端使用四大动态网站开发语言中速度 最快的ASP.NET(C#)编写,屏弃了传统的控件开发方式,所有执行过程采用单向流的生成方式,使其对服务器CPU及内 存资源占用降至最低水平,并通过gzip压缩进一步缩减服务器的网络带宽消耗,提高响应速度 。 无Session设计杜绝了用户会话无故丢失的尴尬,客户端关联的会话加密方式带来了用户数据的高安全性,独特的 XSL结构设计,彻底消除了跨站脚本攻击的隐患,杜绝恶意代码的执行,同保证了文章内容的完整性。 DIV+CSS布局,交互方式采用当前最流行的AJAX技术,所有操所在一个页面完成,并实现了AJAX的最高应用—— AjaxUpload,所有操作一气呵成,带来前所未有的用户体验。 简洁的主题与皮肤开发技术,更合理的模块化设计,大大减轻了后续开发的难度,使模板开发变得轻而易举。 自主研发的中文分词技术,速度超过3MB/s,准确率达到90%以上,大大超过网上各种开源中文分词技术,几乎可 以和中科院的ICTCLAS相媲美,结合当前最成熟的Lucene的.net版本,实现了功能强大执行快速的全文检索引擎。 兼容性 兼容市面上所有主流浏览器(包括google Chrome浏览器) 演示地址: http://blog.muchool.com 官方下载: http://www.shinechain.com.cn/downloads/software.htm 在线查看完整源代码: http://www.muchool.com/project/X3BLOG_DYHB/1.1.0.beta1.htm 版本更新内容 * 使用开源UrlRewrite筛选器Ionic's Isapi Rewriter替换了商业的ISAPI Rewriter * 修正了一处安装为虚拟目录的路径指向错误 * 加入了类似QQ空间的相册上下翻页功能 * 加入了大量的服务器端和脚本代码注释 * 实现对最新的Google Chrome浏览器的支持 * 优化了安装程序,杜绝了对安装目标设置ASP.NET版本是导致IIS进程崩溃的现象 * 解决了作为虚拟目录执行的web.config继承问题 * 修正了多处目录指向错误 * 增加对虚拟目录的支持 * 加入了安装项目 * 修正了后太管理中上传图片不能访问的错误 后台用户名:admin 密码:123456
★国人的骄傲★国产大型开源多用户博客系统 关于 X3-BLOG X3BLOG: 国内效率最快的AJAX多用户博客系统 国内搜索引擎最强大的多用户博客系统 国内唯一支持所有浏览器的多用户博客系统 国内唯一应用AJAX+XML+XSL三种技术于一体的博客系统 X3-BLOG 是基于XML+XSLT+AJAX技术构建的开源多用户博客门户系统,服务器端采用当前最流行的动态网页开发语 言之一ASP.NET(C#) 2.0编写,支持多种数据库,包括SQLSERVER2000\SQLSERVER2005\ORACLE\MYSQL\DB2等,默认使用 SQLSERVER2000。 X3-BLOG 遵从 GENERAL PUBLIC LICENSE(GPL) 开源协议,这意味着可以修改程序的一个或几个副本或程式的任何 部分,以此形成基於这些程式的衍生作品。必须在修改过的档案中附有明显的说明:您修改了此一档案及任何修改的 日期。 您必须让您发布或出版的作品,包括本程式的全部或一部分,或内含本程式的全部或部分所衍生的作品,允许 第三方在此许可证条款下使用,并且不得因为此项授权行为而收费。 功能与特点 X3-BLOG完美的利用了浏览器的XML解析技术,完全实现数据和界面的分离,使网络传输数据量大大减少,加载速 度远远超过了市面上所有的BLOG产品,有效的减轻了服务器的带宽压力,服务器端使用四大动态网站开发语言中速度 最快的ASP.NET(C#)编写,屏弃了传统的控件开发方式,所有执行过程采用单向流的生成方式,使其对服务器CPU及内 存资源占用降至最低水平,并通过gzip压缩进一步缩减服务器的网络带宽消耗,提高响应速度 。 无Session设计杜绝了用户会话无故丢失的尴尬,客户端关联的会话加密方式带来了用户数据的高安全性,独特的 XSL结构设计,彻底消除了跨站脚本攻击的隐患,杜绝恶意代码的执行,同保证了文章内容的完整性。 DIV+CSS布局,交互方式采用当前最流行的AJAX技术,所有操所在一个页面完成,并实现了AJAX的最高应用—— AjaxUpload,所有操作一气呵成,带来前所未有的用户体验。 简洁的主题与皮肤开发技术,更合理的模块化设计,大大减轻了后续开发的难度,使模板开发变得轻而易举。 自主研发的中文分词技术,速度超过3MB/s,准确率达到90%以上,大大超过网上各种开源中文分词技术,几乎可 以和中科院的ICTCLAS相媲美,结合当前最成熟的Lucene的.net版本,实现了功能强大执行快速的全文检索引擎。 兼容性 兼容市面上所有主流浏览器(包括google Chrome浏览器) 演示地址: http://blog.muchool.com 官方地址: http://www.shinechain.com.cn/downloads/software.htm 在线查看完整源代码: http://www.muchool.com/project/X3BLOG_DYHB/1.1.0.beta1.htm 版本更新内容 * 使用开源UrlRewrite筛选器Ionic's Isapi Rewriter替换了商业的ISAPI Rewriter * 修正了一处安装为虚拟目录的路径指向错误 * 加入了类似QQ空间的相册上下翻页功能 * 加入了大量的服务器端和脚本代码注释 * 实现对最新的Google Chrome浏览器的支持 * 优化了安装程序,杜绝了对安装目标设置ASP.NET版本是导致IIS进程崩溃的现象 * 解决了作为虚拟目录执行的web.config继承问题 * 修正了多处目录指向错误 * 增加对虚拟目录的支持 * 加入了安装项目 * 修正了后太管理中上传图片不能访问的错误 后台用户名:admin 密码:123456
下智能语音交互市场火热,越来越多的设备都开始支持远场AI语音交互。 例如:智能音箱,智能电视等等。但这类产品的识别率和误唤醒率还需再不断的优化提升,以至于日常生活中人们还是离不开各式各样的遥控器。而蓝牙语音遥控器这一产品,作为远场语音交互的一个近场配件,也搭上了这趟语音交互的快速列车,成长速度令人惊讶。基于Actions炬芯的ATB1103芯片的语音遥控器,打造了一个AIoT代的高性价比精品。 一、遥控器应用总体架构 遥控器总体架构分四层,从上到下依次为应用层、应用框架层、硬件抽象层、底层驱动层 1.1、应用层 • 应用状态机– 事件触发让遥控器应用处理不同的状态 • 应用定器– 定触发不同的事件,驱动遥控器正常运行 • 应用输入处理– 处理底层来的不同按键消息 • 应用音频输入处理– 将底层的音频处理消息,进行编码,然后通过蓝牙发送给对端设备 • BLE profile – HID profile,提供按键输入输出接口服务 – BAS service,提供电池服务 – DIS service,提供读取设备基本信息的接口服务 – ota profile,提供OTA 升级服务 1.2、应用框架层 • 输入管理– 按键映射处理、按键过滤机制 • 消息管理– 消息分配和释放、 消息发送和接收 • 内存管理– 动态内存管理 • 闪灯管理– 灯资源分配和释放 • 电池管理– 电量读取、电量管理策略 1.3、硬件抽象层 将应用层和驱动层剥离开的中间件层 1.4、底层驱动层 底层硬件操作接口 二、遥控器模块流程概述 2.1、系统启动 系统相关初始化、板级相关外设初始化、蓝牙协议栈相关初始化、HidApp 应用初始化,并进入Main 主循环,等待消息处理 2.2、遥控器状态机 遥控器在运行过程中,主要靠如下3 种状态维持他的正常运行。 2.2.1. 触发遥控器进去空闲状态的事件: > 广播状态,没有连接成功,出现超事件,进入idle > 连接状态,断开连接,如无操作主动断开连接,然后进入idle 2.2.2. 触发遥控器进入激活状态的事件: > 空闲状态,有按键、首次上电,进入激活状态 > 连接状态,出现异常断开,需要回连,进入激活状态 2.2.3. 触发遥控器进入工作状态的事件: > 激活状态下,配对成功或者回连成功,进入工作状态。 2.3、按键处理 由于遥控器的键值较多,通常用矩阵键盘方式以节省pin 的使用。当使能Key 模块后,Key 控制器就会处于矩阵扫描状态,当检测到外部按键有值,就会产生中断,中断就将按键信息上报给应用。 2.4、红外处理 • 在非连接状态下,按下按键,就会发射红外码,进而通过红外操作对端设备,如使用红外进行配对. • IRC 协议上,最短的红外码重发间为108 ms,而按键的重复上报间,可能小于108ms,也可能大于108ms,因此按键输入和红外发送模块间上存在三种可能: 2.4.1. 慢速点按 慢速点按动作特征是在大于Trpc 间后有多次的按键输入。在Ta 刻,发出初次按键值,在Tb 刻,不做任何响应,在Tc 刻,继续发送检测到的按键值,不会发送重复码. 2.4.2. 快速点按 快速点按的动作特征是用户在Trpc 间内有两次或者以上的按键按下弹起的动作. 在Ta 刻,将发送出初次按键,而Tb 刻并不发送按键值,在Tc 刻,如果按键仍然是按下状态,将发出按键值,否则将丢掉按键值. 2.4.3. 长按 长按的动作特征是按键按下后,一直不放开。此CPU 检测到按键的持续按下,则在Ta 刻发送出初次按键,发送出此按键对应的红外键码,而在Trpc 间内没有检测到按键的松开,则在Tb 间输出重复码,直至检测到按键弹起为止. 2.5、语音采集 • 当启动Voice Key 后,ADC 开始采集 • 采集的数据通过DMA 搬运到应用的循环buffer 中,同发送消息给Main 线程,让其处理语音数据。 • 如果Main 线程处理速度不够快,audioin 驱动就会因为分不到buffer,而将采集的语音数据丢弃。 2.6、BLE数据传送 • 将audioin 驱动发送上来的数据进行编码压缩。 • 然后将编码后的压缩数据切成几个20byte 的数据包 • 最后通过hid profile notify 接口发送给BLE 协议栈 2.7、应用软件Timer管理模块 2.8、LED管理模块 遥控器定义了几种LED 指示灯,用于指示遥控器的一些状态,如下表所示 通常遥控器只有一个物理的LED 灯用于各种场景的指示,这就需要软件上让其分复用,如果同需要显示两种状态,状态需要定义优先级,优先级高的状态先指示。如在配对模式下,处于闪灯状态下,这候按下按键,那么灯还是处于快闪状态。 2.9、O
文件为doc版,可自行转成txt,在手机上看挺好的。 本资源来自网络,如有纰漏还请告知,如觉得还不错,请留言告知后来人,谢谢!!!!! 入门学习Linux常用必会60个命令实例详解 Linux必学的60个命令 Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统,就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统。 不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200多个。这里笔者把比较重要和使用频率最多的命令,按照它们在系统中的作用分成下面六个部分一一介绍。 ◆ 安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last; ◆ 文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln; ◆ 系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab; ◆ 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup; ◆ 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who; ◆ 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。 本文以Mandrake Linux 9.1(Kenrel 2.4.21)为例,介绍Linux下的安装和登录命令。 immortality按:请用ctrl+f在本页中查找某一部分的内容或某一命令的用法。 -------------------------------------------------------------------------------- Linux必学的60个命令(1)-安装与登陆命令 login 1.作用 login的作用是登录系统,它的使用权限是所有用户。 2.格式 login [name][-p ][-h 主机名称] 3.主要参数 -p:通知login保持现在的环境参数。 -h:用来向远程登录的之间传输用户名。 如果选择用命令行模式登录Linux的话,那么看到的第一个Linux命令就是login:。 一般界面是这样的: Manddrake Linux release 9.1(Bamboo) for i586 renrel 2.4.21-0.13mdk on i686 / tty1 localhost login:root password: 上面代码中,第一行是Linux发行版本号,第二行是内核版本号和登录的虚拟控制台,我们在第三行输入登录名,按“Enter”键在Password后输入账户密码,即可登录系统。出于安全考虑,输入账户密码字符不会在屏幕上回显,光标也不移动。 登录后会看到下面这个界面(以超级用户为例): [root@localhost root]# last login:Tue ,Nov 18 10:00:55 on vc/1 上面显示的是登录星期、月、日、间和使用的虚拟控制台。 4.应用技巧 Linux 是一个真正的多用户操作系统,可以同接受多个用户登录,还允许一个用户进行多次登录。这是因为Linux和许多版本的Unix一样,提供了虚拟控制台的访问方式,允许用户在同一间从控制台(系统的控制台是与系统直接相连的监视器和键盘)进行多次登录。每个虚拟控制台可以看作是一个独立的工作站,工作台之间可以切换。虚拟控制台的切换可以通过按下Alt键和一个功能键来实现,通常使用F1-F6 。 例如,用户登录后,按一下“Alt+ F2”键,用户就可以看到上面出现的“login:”提示符,说明用户看到了第二个虚拟控制台。然后只需按“Alt+ F1”键,就可以回到第一个虚拟控制台。一个新安装的Linux系统允许用户使用“Alt+F1”到“Alt+F6”键来访问前六个虚拟控制台。虚拟控制台最有用的是,当一个程序出错造成系统死锁,可以切换到其它虚拟控制台工作,关闭这个程序。 shutdown 1.作用 shutdown命令的作用是关闭计算机,它的使用权限是超级用户。 2.格式 shutdown [-h][-i][-k][-m][-t] 3.重要参数 -t:在改变到其它运行级别之前,告诉init程序多久以后关机。 -k:并不真正关机,只是送警告信号给每位登录者。 -h:关机后关闭电源。 -c:cancel current process取消目前正在执行的关机程序。所以这个选项当然没有间参数,但是可以输入一个用来解释的讯息,而这信息将会送到每位使用者。 -F:在重启计算机强迫fsck。 -time:设定关机前的间。 -m: 将系统改为单用户模式。 -i:关机显示系统信息。 4.命令说明 shutdown 命令可以安全地将系统关机。有些用户会使用直接断掉电源的方式来关闭Linux系统,这是十分危险的。因为Linux与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至在有的系统中会损坏硬件设备(硬盘)。在系统关机前使用 shutdown命令,系统管理员会通知所有登录的用户系统将要关闭,并且login指令会被冻结,即新的用户不能再登录。 halt 1.作用 halt命令的作用是关闭系统,它的使用权限是超级用户。 2.格式 halt [-n] [-w] [-d] [-f] [-i] [-p] 3.主要参数说明 -n:防止sync系统调用,它用在用fsck修补根分区之后,以阻止内核用老版本的超级块覆盖修补过的超级块。 -w:并不是真正的重启或关机,只是写wtmp(/var/log/wtmp)纪录。 -f:没有调用shutdown,而强制关机或重启。 -i:关机(或重启)前,关掉所有的网络接口。 -f:强迫关机,不呼叫shutdown这个指令。 -p: 当关机的候顺便做关闭电源的动作。 -d:关闭系统,但不留下纪录。  4.命令说明 halt 就是调用shutdown -h。halt执行,杀死应用进程,执行sync(将存于buffer中的资料强制写入硬盘中)系统调用,文件系统写操作完成后就会停止内核。若系统的运行级别为0或6,则关闭系统;否则以shutdown指令(加上-h参数)来取代。  reboot 1.作用 reboot命令的作用是重新启动计算机,它的使用权限是系统管理者。 2.格式 reboot [-n] [-w] [-d] [-f] [-i] 3.主要参数 -n: 在重开机前不做将记忆体资料写回硬盘的动作。 -w: 并不会真的重开机,只是把记录写到/var/log/wtmp文件里。 -d: 不把记录写到/var/log/wtmp文件里(-n这个参数包含了-d)。 -i: 在重开机之前先把所有与网络相关的装置停止。 install 1.作用 install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户。 2.格式 (1)install [选项]... 来源 目的地 (2)install [选项]... 来源... 目录 (3)install -d [选项]... 目录... 在前两种格式中,会将复制至或将多个文件复制至已存在的,同设定权限模式及所有者/所属组。在第三种格式中,会创建所有指定的目录及它们的主目录。长选项必须用的参数在使用短选项也是必须的。 3.主要参数 --backup[=CONTROL]:为每个已存在的目的地文件进行备份。 -b:类似 --backup,但不接受任何参数。 -c:(此选项不作处理)。 -d,--directory:所有参数都作为目录处理,而且会创建指定目录的所有主目录。 -D:创建前的所有主目录,然后将复制至 ;在第一种使用格式中有用。 -g,--group=组:自行设定所属组,而不是进程目前的所属组。 -m,--mode=模式:自行设定权限模式 (像chmod),而不是rwxr-xr-x。 -o,--owner=所有者:自行设定所有者 (只适用于超级用户)。 -p,--preserve-timestamps:以文件的访问/修改间作为相应的目的地文件间属性。 -s,--strip:用strip命令删除symbol table,只适用于第一及第二种使用格式。 -S,--suffix=后缀:自行指定备份文件的。 -v,--verbose:处理每个文件/目录印出名称。 --help:显示此帮助信息并离开。 --version:显示版本信息并离开。 mount 1.作用 mount命令的作用是加载文件系统,它的用权限是超级用户或/etc/fstab中允许的使用者。 2.格式 mount -a [-fv] [-t vfstype] [-n] [-rw] [-F] device dir 3.主要参数 -h:显示辅助信息。 -v:显示信息,通常和-f用来除错。 -a:将/etc/fstab中定义的所有文件系统挂上。 -F:这个命令通常和-a一起使用,它会为每一个mount的动作产生一个行程负责执行。在系统需要挂上大量NFS文件系统可以加快加载的速度。 -f:通常用于除错。它会使mount不执行实际挂上的动作,而是模拟整个挂上的过程,通常会和-v一起使用。 -t vfstype:显示被加载文件系统的类型。 -n:一般而言,mount挂上后会在/etc/mtab中写入一笔资料,在系统中没有可写入文件系统的情况下,可以用这个选项取消这个动作。 4.应用技巧 在Linux 和Unix系统上,所有文件都是作为一个大型树(以/为根)的一部分访问的。要访问CD-ROM上的文件,需要将CD-ROM设备挂装在文件树中的某个挂装点。如果发行版安装了自动挂装包,那么这个步骤可自动进行。在Linux中,如果要使用硬盘、光驱等储存设备,就得先将它加载,当储存设备挂上了之后,就可以把它当成一个目录来访问。挂上一个设备使用mount命令。在使用mount这个指令,至少要先知道下列三种信息:要加载对象的文件系统类型、要加载对象的设备名称及要将设备加载到哪个目录下。 (1)Linux可以识别的文件系统 ◆ Windows 95/98常用的FAT 32文件系统:vfat ; ◆ Win NT/2000 的文件系统:ntfs ; ◆ OS/2用的文件系统:hpfs; ◆ Linux用的文件系统:ext2、ext3; ◆ CD-ROM光盘用的文件系统:iso9660。 虽然vfat是指FAT 32系统,但事实上它也兼容FAT 16的文件系统类型。 (2)确定设备的名称 在Linux 中,设备名称通常都存在/dev里。这些设备名称的命名都是有规则的,可以用“推理”的方式把设备名称找出来。例如,/dev/hda1这个 IDE设备,hd是Hard Disk(硬盘)的,sd是SCSI Device,fd是Floppy Device(或是Floppy Disk?)。a代表第一个设备,通常IDE接口可以接上4个IDE设备(比如4块硬盘)。所以要识别IDE硬盘的方法分别就是hda、hdb、hdc、 hdd。hda1中的“1”代表hda的第一个硬盘分区 (partition),hda2代表hda的第二主分区,第一个逻辑分区从hda5开始,依此类推。此外,可以直接检查 /var/log/messages文件,在该文件中可以找到计算机开机后系统已辨认出来的设备代号。 (3)查找挂接点 在决定将设备挂接之前,先要查看一下计算机是不是有个/mnt的空目录,该目录就是专门用来当作挂载点(Mount Point)的目录。建议在/mnt里建几个/mnt/cdrom、/mnt/floppy、/mnt/mo等目录,当作目录的专用挂载点。举例而言,如要挂载下列5个设备,其执行指令可能如下 (假设都是Linux的ext2系统,如果是Windows XX请将ext2改成vfat): 软盘 ===>mount -t ext2 /dev/fd0 /mnt/floppy cdrom ===>mount -t iso9660 /dev/hdc /mnt/cdrom SCSI cdrom ===>mount -t iso9660 /dev/sdb /mnt/scdrom SCSI cdr ===>mount -t iso9660 /dev/sdc /mnt/scdr 不过目前大多数较新的Linux发行版本(包括红旗 Linux、中软Linux、Mandrake Linux等)都可以自动挂装文件系统,但Red Hat Linux除外。 umount 1.作用 umount命令的作用是卸载一个文件系统,它的使用权限是超级用户或/etc/fstab中允许的使用者。 2.格式 unmount -a [-fFnrsvw] [-t vfstype] [-n] [-rw] [-F] device dir 3.使用说明 umount 命令是mount命令的逆操作,它的参数和使用方法和mount命令是一样的。Linux挂装CD-ROM后,会锁定CD—ROM,这样就不能用CD- ROM面板上的Eject按钮弹出它。但是,当不再需要光盘,如果已将/cdrom作为符号链接,请使用umount/cdrom来卸装它。仅当无用户正在使用光盘,该命令才会成功。该命令包括了将带有当前工作目录当作该光盘中的目录的终端窗口。 chsh 1.作用 chsh命令的作用是更改使用者shell设定,它的使用权限是所有使用者。 2.格式 chsh [ -s ] [ -list] [ --help ] [ -v ] [ username ] 3.主要参数 -l:显示系统所有Shell类型。 -v:显示Shell版本号。 4.应用技巧 前面介绍了Linux下有多种Shell,一般缺省的是Bash,如果想更换Shell类型可以使用chsh命令。先输入账户密码,然后输入新Shell类型,如果操作正确系统会显示“Shell change”。其界面一般如下: Changing fihanging shell for cao Password: New shell [/bin/bash]: /bin/tcsh 上面代码中,[ ]内是目前使用的Shell。普通用户只能修改自己的Shell,超级用户可以修改全体用户的Shell。要想查询系统提供哪些Shell,可以使用chsh -l 命令,见图1所示。 图1 系统可以使用的Shell类型 从图1中可以看到,笔者系统中可以使用的Shell有bash(缺省)、csh、sh、tcsh四种。 exit 1.作用 exit命令的作用是退出系统,它的使用权限是所有用户。 2.格式 exit 3.参数 exit命令没有参数,运行后退出系统进入登录界面。 last 1.作用 last命令的作用是显示近期用户或终端的登录情况,它的使用权限是所有用户。通过last命令查看该程序的log,管理员可以获知谁曾经或企图连接系统。 2.格式 1ast[—n][-f file][-t tty] [—h 节点][-I —IP][—1][-y][1D] 3.主要参数 -n:指定输出记录的条数。 -f file:指定用文件file作为查询用的log文件。 -t tty:只显示指定的虚拟控制台上登录情况。 -h 节点:只显示指定的节点上的登录情况。 -i IP:只显示指定的IP上登录的情况。 -1:用IP来显示远端地址。 -y:显示记录的年、月、日。 -ID:知道查询的用户名。 -x:显示系统关闭、用户登录和退出的历史。 动手练习 上面介绍了Linux安装和登录命令,下面介绍几个实例,动手练习一下刚才讲过的命令。 1.一次运行多个命令 在一个命令行中可以执行多个命令,用分号将各个命令隔开即可,例如: #last -x;halt 上面代码表示在显示系统关闭、用户登录和退出的历史后关闭计算机。 2.利用mount挂装文件系统访问Windows系统 许多Linux发行版本现在都可以自动加载Vfat分区来访问Windows系统,而Red Hat各个版本都没有自动加载Vfat分区,因此还需要进行手工操作。 mount 可以将Windows分区作为Linux的一个“文件”挂接到Linux的一个空文件夹下,从而将Windows的分区和/mnt这个目录联系起来。因此,只要访问这个文件夹就相当于访问该分区了。首先要在/mnt下建立winc文件夹,在命令提示符下输入下面命令: #mount -t vfat /dev/hda1 /mnt/winc 即表示将Windows的C分区挂到Liunx的/mnt/winc目录下。这,在/mnt/winc目录下就可以看到Windows中C盘的内容了。使用类似的方法可以访问Windows系统的D、E盘。在Linux系统显示Windows的分区一般顺序这样的:hda1为C盘、hda5为D盘、 hda6为E盘……以此类推。上述方法可以查看Windows系统有一个很大的问题,就是Windows中的所有中文文件名或文件夹名全部显示为问号 “?”,而英文却可以正常显示。我们可以通过加入一些参数让它显示中文。还以上面的操作为例,此输入命令: #mount -t vfat -o iocharset=cp936 /dev/hda1 /mnt/winc 现在它就可以正常显示中文了。 3.使用mount加挂闪盘上的文件系统 在Linux下使用闪盘非常简单。Linux对USB设备有很好的支持,当插入闪盘后,闪盘被识别为一个SCSI盘,通常输入以下命令: # mount /dev/sda1 /usb 就能够加挂闪盘上的文件系统。 小知识 Linux命令与Shell 所谓Shell,就是命令解释程序,它提供了程序设计接口,可以使用程序来编程。学习Shell对于Linux初学者理解Linux系统是非常重要的。 Linux系统的Shell作为操作系统的外壳,为用户提供了使用操作系统的接口。Shell是命令语言、命令解释程序及程序设计语言的统称,是用户和 Linux内核之间的接口程序。如果把Linux内核想象成一个球体的中心,Shell就是围绕内核的外层。当从Shell或其它程序向Linux传递命令,内核会做出相应的反应。Shell在Linux系统的作用和MS DOS下的COMMAND.COM和Windows 95/98 的 explorer.exe相似。Shell虽然不是系统核心的一部分,只是系统核心的一个外延,但它能够调用系统内核的大部分功能。因此,可以说 Shell是Unux/Linux最重要的实用程序。 Linux中的Shell有多种类型,其中最常用的是Bourne Shell(sh)、C Shell(csh)和Korn Shell(ksh)。大多数Linux发行版本缺省的Shell是Bourne Again Shell,它是Bourne Shell的扩展,简称bash,与Bourne Shell完全向后兼容,并且在Bourne Shell的基础上增加了很多特性。bash放在/bin/bash中,可以提供如命令补全、命令编辑和命令历史表等功能。它还包含了很多C Shell和Korn Shell中的优点,有灵活和强大的编程接口,同又有很友好的用户界面。Linux系统中200多个命令中有40个是bash的内部命令,主要包括 exit、less、lp、kill、 cd、pwd、fc、fg等。 -------------------------------------------------------------------------------- Linux必学的60个命令(2)-文件处理命令 Linux 系统信息存放在文件里,文件与普通的公务文件类似。每个文件都有自己的名字、内容、存放地址及其它一些管理信息,如文件的用户、文件的大小等。文件可以是一封信、一个通讯录,或者是程序的源语句、程序的数据,甚至可以包括可执行的程序和其它非正文内容。 Linux文件系统具有良好的结构,系统提供了很多文件处理程序。这里主要介绍常用的文件处理命令。 file 1.作用 件内容判断文件类型,使用权限是所有用户。 2.格式 file通过探测文 file [options] 文件名 3.[options]主要参数 -v:在标准输出后显示版本信息,并且退出。 -z:探测压缩过的文件类型。 -L:允许符合连接。 -f name:从文件namefile中读取要分析的文件名列表。 4.简单说明 使用file命令可以知道某个文件究竟是二进制(ELF格式)的可执行文件, 还是Shell Script文件,或者是其它的什么格式。file能识别的文件类型有目录、Shell脚本、英文文本、二进制可执行文件、C语言源文件、文本文件、DOS的可执行文件。 5.应用实例 如果我们看到一个没有后缀的文件grap,可以使用下面命令: $ file grap grap: English text 此系统显示这是一个英文文本文件。需要说明的是,file命令不能探测包括图形、音频、视频等多媒体文件类型。 mkdir 1.作用 mkdir命令的作用是建立名称为dirname的子目录,与MS DOS下的md命令类似,它的使用权限是所有用户。 2.格式 mkdir [options] 目录名 3.[options]主要参数 -m, --mode=模式:设定权限,与chmod类似。 -p, --parents:需要创建上层目录;如果目录早已存在,则不当作错误。 -v, --verbose:每次创建新目录都显示信息。 --version:显示版本信息后离开。 4.应用实例 在进行目录创建可以设置目录的权限,此使用的参数是“-m”。假设要创建的目录名是“tsk”,让所有用户都有rwx(即读、写、执行的权限),那么可以使用以下命令: $ mkdir -m 777 tsk grep 1.作用 grep命令可以指定文件中搜索特定的内容,并将含有这些内容的行标准输出。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 2.格式 grep [options] 3.主要参数 [options]主要参数: -c:只输出匹配行的计数。 -I:不区分大小写(只适用于单字符)。 -h:查询多文件不显示文件名。 -l:查询多文件只输出包含匹配字符的文件名。 -n:显示匹配行及行号。 -s:不显示不存在或无匹配文本的错误信息。 -v:显示不包含匹配文本的所有行。 pattern正则表达式主要参数: \:忽略正则表达式中特殊字符的原有含义。 ^:匹配正则表达式的开始行。 $: 匹配正则表达式的结束行。 \:到匹配正则表达式的行结束。 [ ]:单个字符,如[A]即A符合要求 。 [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。 。:所有的单个字符。 * :有字符,长度可以为0。 正则表达式是Linux/Unix系统中非常重要的概念。正则表达式(也称为“regex”或“regexp”)是一个可以描述一类字符串的模式(Pattern)。如果一个字符串可以用某个正则表达式来描述,我们就说这个字符和该正则表达式匹配(Match)。这和DOS中用户可以使用通配符 “*”代表任意字符类似。在Linux系统上,正则表达式通常被用来查找文本的模式,以及对文本执行“搜索-替换”操作和其它功能。 4.应用实例 查询DNS服务是日常工作之一,这意味着要维护覆盖不同网络的大量IP地址。有IP地址会超过2000个。如果要查看nnn.nnn网络地址,但是却忘了第二部分中的其余部分,只知到有两个句点,例如nnn nn..。要抽取其中所有nnn.nnn IP地址,使用[0-9 ]\{3 \}\.[0-0\{3\}\。含义是任意数字出现3次,后跟句点,接着是任意数字出现3次,后跟句点。 $grep '[0-9 ]\{3 \}\.[0-0\{3\}\' ipfile 补充说明,grep家族还包括fgrep和egrep。fgrep是fix grep,允许查找字符串而不是一个模式;egrep是扩展grep,支持基本及扩展的正则表达式,但不支持\q模式范围的应用及与之相对应的一些更加规范的模式。 dd 1.作用 dd命令用来复制文件,并根据参数将数据转换和格式化。 2.格式 dd [options] 3.[opitions]主要参数 bs=字节:强迫 ibs=及obs=。 cbs=字节:每次转换指定的。 conv=关键字:根据以逗号分隔的关键字表示的方式来转换文件。 count=块数目:只复制指定的输入数据。 ibs=字节:每次读取指定的。 if=文件:读取内容,而非标准输入的数据。 obs=字节:每次写入指定的。 of=文件:将数据写入,而不在标准输出显示。 seek=块数目:先略过以obs为单位的指定的输出数据。 skip=块数目:先略过以ibs为单位的指定的输入数据。 4.应用实例 dd命令常常用来制作Linux启动盘。先找一个可引导内核,令它的根设备指向正确的根分区,然后使用dd命令将其写入软盘: $ rdev vmlinuz /dev/hda $dd if=vmlinuz of=/dev/fd0 上面代码说明,使用rdev命令将可引导内核vmlinuz中的根设备指向/dev/hda,请把“hda”换成自己的根分区,接下来用dd命令将该内核写入软盘。 find 1.作用 find命令的作用是在目录中搜索文件,它的使用权限是所有用户。 2.格式 find [path][options][expression] path指定目录路径,系统从这里开始沿着目录树向下查找文件。它是一个路径列表,相互用空格分离,如果不写path,那么默认为当前目录。 3.主要参数 [options]参数: -depth:使用深度级别的查找过程方式,在某层指定目录中优先查找文件内容。 -maxdepth levels:表示至多查找到开始目录的第level层子目录。level是一个非负数,如果level是0的话表示仅在当前目录中查找。 -mindepth levels:表示至少查找到开始目录的第level层子目录。 -mount:不在其它文件系统(如Msdos、Vfat等)的目录和文件中查找。 -version:打印版本。 [expression]是匹配表达式,是find命令接受的表达式,find命令的所有操作都是针对表达式的。它的参数非常多,这里只介绍一些常用的参数。 —name:支持统配符*和?。 -atime n:搜索在过去n天读取过的文件。 -ctime n:搜索在过去n天修改过的文件。 -group grpoupname:搜索所有组为grpoupname的文件。 -user 用户名:搜索所有文件属主为用户名(ID或名称)的文件。 -size n:搜索文件大小是n个block的文件。 -print:输出搜索结果,并且打印。 4.应用技巧 find命令查找文件几种方法: (1)根据文件名查找 例如,我们想要查找一个文件名是lilo.conf的文件,可以使用如下命令: find / -name lilo.conf find命令后的“/”表示搜索整个硬盘。 (2)快速查找文件 根据文件名查找文件会遇到一个实际问题,就是要花费相当长的一段间,特别是大型Linux文件系统和大容量硬盘文件放在很深的子目录中。如果我们知道了这个文件存放在某个目录中,那么只要在这个目录中往下寻找就能节省很多间。比如smb.conf文件,从它的文件后缀“.conf”可以判断这是一个配置文件,那么它应该在/etc目录内,此可以使用下面命令: find /etc -name smb.conf 这样,使用“快速查找文件”方式可以缩短间。 (3)根据部分文件名查找方法我们知道只某个文件包含有abvd这4个字,那么要查找系统中所有包含有这4个字符的文件可以输入下面命令: find / -name '*abvd*' 输入这个命令以后,Linux系统会将在/目录中查找所有的包含有abvd这4个字符的文件(其中*是通配符),比如abvdrmyz等符合条件的文件都能显示出来。 (4) 使用混合查找方式查找文件 find命令可以使用混合查找的方法,例如,我们想在/etc目录中查找大于500000字节,并且在24小内修改的某个文件,则可以使用-and (与)把两个查找参数链接起来组合成一个混合的查找方式。 find /etc -size +500000c -and -mtime +1 mv 1.作用 mv命令用来为文件或目录改名,或者将文件由一个目录移入另一个目录中,它的使用权限是所有用户。该命令如同DOS命令中的ren和move的组合。 2.格式 mv[options] 源文件或目录 目标文件或目录 3.[options]主要参数 -i:交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此系统询问是否重写,要求用户回答“y”或“n”,这样可以避免误覆盖文件。 -f:禁止交互操作。mv操作要覆盖某个已有的目标文件不给任何指示,指定此参数后i参数将不再起作用。 4.应用实例 (1)将/usr/cbu中的所有文件移到当前目录(用“.”表示)中: $ mv /usr/cbu/ * . (2)将文件cjh.txt重命名为wjz.txt: $ mv cjh.txt wjz.txt  ls 1.作用 ls命令用于显示目录内容,类似DOS下的dir命令,它的使用权限是所有用户。 2.格式 ls [options][filename] 3.options主要参数 -a, --all:不隐藏任何以“.” 字符开始的项目。 -A, --almost-all:列出除了“ . ”及 “.. ”以外的任何项目。 --author:印出每个文件著作者。 -b, --escape:以八进制溢出序列表示不可打印的字符。 --block-size=大小:块以指定的字节为单位。 -B, --ignore-backups:不列出任何以 ~ 字符结束的项目。 -f:不进行排序,-aU参数生效,-lst参数失效。 -F, --classify:加上文件类型的指示符号 (*/=@| 其中一个)。 -g:like -l, but do not list owner。 -G, --no-group:inhibit display of group information。 -i, --inode:列出每个文件的inode号。 -I, --ignore=样式:不印出任何符合Shell万用字符的项目。 -k:即--block-size=1K。 -l:使用较长格式列出信息。 -L, --dereference:当显示符号链接的文件信息,显示符号链接所指示的对象,而并非符号链接本身的信息。 -m:所有项目以逗号分隔,并填满整行行宽。 -n, --numeric-uid-gid:类似-l,但列出UID及GID号。 -N, --literal:列出未经处理的项目名称,例如不特别处理控制字符。 -p, --file-type:加上文件类型的指示符号 (/=@| 其中一个)。 -Q, --quote-name:将项目名称括上双引号。 -r, --reverse:依相反次序排列。 -R, --recursive:同列出所有子目录层。 -s, --size:以块大小为序。 4.应用举例 ls 命令是Linux系统使用频率最多的命令,它的参数也是Linux命令中最多的。使用ls命令会有几种不同的颜色,其中蓝色表示是目录,绿色表示是可执行文件,红色表示是压缩文件,浅蓝色表示是链接文件,加粗的黑色表示符号链接,灰色表示是其它格式文件。ls最常使用的是ls- l,见图1所示。 图1 使用ls-l命令 文件类型开头是由10个字符构成的字符串。其中第一个字符表示文件类型,它可以是下述类型之一:-(普通文件)、d(目录)、l(符号链接)、b(块设备文件)、c(字符设备文件)。后面的9个字符表示文件的访问权限,分为3组,每组3位。第一组表示文件属主的权限,第二组表示同组用户的权限,第三组表示其他用户的权限。每一组的三个字符分别表示对文件的读(r)、写(w)和执行权限(x)。对于目录,表示进入权限。s表示当文件被执行,把该文件的UID 或GID赋予执行进程的UID(用户ID)或GID(组 ID)。t表示设置标志位(留在内存,不被换出)。如果该文件是目录,那么在该目录中的文件只能被超级用户、目录拥有者或文件属主删除。如果它是可执行文件,那么在该文件执行后,指向其正文段的指针仍留在内存。这样再次执行它,系统就能更快地装入该文件。接着显示的是文件大小、生成间、文件或命令名称。 diff 1.作用 diff命令用于两个文件之间的比较,并指出两者的不同,它的使用权限是所有用户。 2.格式 diff [options] 源文件 目标文件 3.[options]主要参数 -a:将所有文件当作文本文件来处理。 -b:忽略空格造成的不同。 -B:忽略空行造成的不同。 -c:使用纲要输出格式。 -H:利用试探法加速对大文件的搜索。 -I:忽略大小写的变化。 -n --rcs:输出RCS格式。 cmp 1.作用 cmp(“compare”的缩写)命令用来简要指出两个文件是否存在差异,它的使用权限是所有用户。 2.格式 cmp[options] 文件名 3.[options]主要参数 -l: 将字节以十进制的方式输出,并方便将两个文件中不同的以八进制的方式输出。 cat 1.作用 cat(“concatenate”的缩写)命令用于连接并显示指定的一个和多个文件的有关信息,它的使用权限是所有用户。 2.格式 cat [options] 文件1 文件2…… 3.[options]主要参数 -n:由第一行开始对所有输出的行数编号。 -b:和-n相似,只不过对于空白行不编号。 -s:当遇到有连续两行以上的空白行,就代换为一行的空白行。 4.应用举例 (1)cat命令一个最简单的用处是显示文本文件的内容。例如,我们想在命令行看一下README文件的内容,可以使用命令: $ cat README  (2)有需要将几个文件处理成一个文件,并将这种处理的结果保存到一个单独的输出文件。cat命令在其输入上接受一个或多个文件,并将它们作为一个单独的文件打印到它的输出。例如,把README和INSTALL的文件内容加上行号(空白行不加)之后,将内容附加到一个新文本文件File1 中: $ cat README INSTALL File1 (3)cat还有一个重要的功能就是可以对行进行编号,见图2所示。这种功能对于程序文档的编制,以及法律和科学文档的编制很方便,打印在左边的行号使得参考文档的某一部分变得容易,这些在编程、科学研究、业务报告甚至是立法工作中都是非常重要的。 图2 使用cat命令/etc/named.conf文件进行编号 对行进行编号功能有-b(只能对非空白行进行编号)和-n(可以对所有行进行编号)两个参数: $ cat -b /etc/named.conf ln 1.作用 ln命令用来在文件之间创建链接,它的使用权限是所有用户。 2.格式 ln [options] 源文件 [链接名] 3.参数 -f:链结先将源文件删除。 -d:允许系统管理者硬链结自己的目录。 -s:进行软链结(Symbolic Link)。 -b:将在链结会被覆盖或删除的文件进行备份。 链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。 硬连接指通过索引节点来进行的连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件才会被真正删除。 与硬连接相对应,Lnux系统中还存在另一种连接,称为符号连接(Symbilc Link),也叫软连接。软链接文件有点类似于Windows的快捷方式。它实际上是特殊文件的一种。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。 动手练习 上面我们介绍了Linux文件处理命令,下面介绍几个实例,大家可以动手练习一下刚才讲过的命令。 1.利用符号链接快速访问关键目录 符号链接是一个非常实用的功能。假设有一些目录或文件需要频繁使用,但由于Linux的文件和目录结构等原因,这个文件或目录在很深的子目录中。比如, Apache Web服务器文档位于系统的/usr/local/httpd/htdocs中,并且不想每次都要从主目录进入这样一个长的路径之中(实际上,这个路径也非常不容易记忆)。 为了解决这个问题,可以在主目录中创建一个符号链接,这样在需要进入该目录,只需进入这个链接即可。 为了能方便地进入Web服务器(/usr/local/httpd/htdocs)文档所在的目录,在主目录下可以使用以下命令: $ ln -s /usr/local/httpd/htdocs gg 这样每次进入gg目录就可访问Web服务器的文档,以后如果不再访问Web服务器的文档,删除gg即可,而真正的Web服务器的文档并没有删除。 2.使用dd命令将init.rd格式的root.ram内容导入内存 dd if=/dev/fd0 of=floppy.fd dd if=root.ram of=/dev/ram0 # 3.grep命令系统调用 grep是Linux/Unix中使用最广泛的命令之一,许多Linux系统内部都可以调用它。 (1)如果要查询目录列表中的目录,方法如下: $ ls -l | grep '∧d' (2)如果在一个目录中查询不包含目录的所有文件方法如下: $ ls -l | grep '∧[∧d]' (3)用find命令调用grep,如所有C源代码中的“Chinput”,方法如下: $find /ZhXwin -name *.c -exec grep -q -s Chinput {} \;-print -------------------------------------------------------------------------------- Linux必学的60个命令(3)-系统管理命令 Linux必学的系统管理命令 对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心。熟悉了Linux常用的文件处理命令以后,这一讲介绍对系统和用户进行管理的命令。 df 1.作用 df命令用来检查文件系统的磁盘空间占用情况,使用权限是所有用户。 2.格式 df [options] 3.主要参数 -s:对每个Names参数只给出占用的数据块总数。 -a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。 -k:以1024字节为单位列出磁盘空间使用情况。 -x:跳过在不同文件系统上的目录不予统计。 -l:计算所有的文件大小,对硬链接文件则计算多次。 -i:显示inode信息而非块使用量。 -h:以容易理解的格式印出文件系统大小,例如136KB、254MB、21GB。 -P:使用POSIX输出格式。 -T:显示文件系统类型。 4.说明 df命令被广泛地用来生成文件系统的使用统计数据,它能显示系统中所有的文件系统的信息,包括总容量、可用的空闲空间、目前的安装点等。 超级权限用户使用df命令会发现这样的情况:某个分区的容量超过了100%。这是因为Linux系统为超级用户保留了10%的空间,由其单独支配。也就是说,对于超级用户而言,他所见到的硬盘容量将是110%。这样的安排对于系统管理而言是有好处的,当硬盘被使用的容量接近100%系统管理员还可以正常工作。 5.应用实例 Linux支持的文件系统非常多,包括JFS、ReiserFS、ext、ext2、ext3、ISO9660、XFS、Minx、vfat、MSDOS等。使用df -T命令查看磁盘空间还可以得到文件系统的信息: #df -T 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/hda7 reiserfs 5.2G 1.6G 3.7G 30% / /dev/hda1 vfat 2.4G 1.6G 827M 66% /windows/C /dev/hda5 vfat 3.0G 1.7G 1.3G 57% /windows/D /dev/hda9 vfat 3.0G 2.4G 566M 82% /windows/E /dev/hda10 NTFS 3.2G 573M 2.6G 18% /windows/F /dev/hda11 vfat 1.6G 1.5G 23M 99% /windows/G 从上面除了可以看到磁盘空间的容量、使用情况外,分区的文件系统类型、挂载点等信息也一览无遗。 top 1.作用 top命令用来显示执行中的程序进程,使用权限是所有用户。 2.格式 top [-] [d delay] [q] [c] [S] [s] [i] [n] 3.主要参数 d:指定更新的间隔,以秒计算。 q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。 c:显示进程完整的路径与名称。 S:累积模式,会将己完成或消失的子行程的CPU间累积起来。 s:安全模式。 i:不显示任何闲置(Idle)或无用(Zombie)的行程。 n:显示更新的次数,完成后将会退出top。 4.说明 top命令是Linux系统管理的一个主要命令,通过它可以获得许多信息。这里我们结合图1来说明它给出的信息。 图1 top命令的显示 在图1中,第一行表示的项目依次为当前间、系统启动间、当前系统登录用户数目、平均负载。第二行显示的是所有启动的进程、目前运行的、挂起 (Sleeping)的和无用(Zombie)的进程。第三行显示的是目前CPU的使用情况,包括系统占用的比例、用户使用比例、闲置(Idle)比例。第四行显示物理内存的使用情况,包括总的可以使用的内存、已用内存、空闲内存、缓冲区占用的内存。第五行显示交换分区使用情况,包括总的交换分区、使用的、空闲的和用于高速缓存的大小。第六行显示的项目最多,下面列出了详细解释。 PID(Process ID):进程标示号。 USER:进程所有者的用户名。 PR:进程的优先级别。 NI:进程的优先级别数值。 VIRT:进程占用的虚拟内存值。 RES:进程占用的物理内存值。 SHR:进程使用的共享内存值。 S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。 %CPU:该进程占用CPU使用率。 %MEM:该进程占用的物理内存和总内存的百分比。 TIME+:该进程启动后占用的总的CPU间。 Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。 top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。 :立刻刷新。 P:根据CPU使用大小进行排序。 T:根据间、累计间排序。 q:退出top命令。 m:切换显示内存信息。 t:切换显示进程和CPU状态信息。 c:切换显示命令名称和完整命令行。 M:根据使用内存大小进行排序。 W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。 可以看到,top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要。但是,它的缺点是会消耗很多系统资源。 5.应用实例 使用top命令可以监视指定用户,缺省情况是监视所有用户的进程。如果想查看指定用户的情况,在终端中按“U”键,然后输入用户名,系统就会切换为指定用户的进程运行界面,见图2所示。 图2 使用top命令监视指定用户 free 1.作用 free命令用来显示内存的使用情况,使用权限是所有用户。 2.格式 free [-b|-k|-m] [-o] [-s delay] [-t] [-V] 3.主要参数 -b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。 -s delay:显示每隔多少秒数来显示一次内存使用情况。 -t:显示内存总和列。 -o:不显示缓冲区调节列。 4.应用实例 free命令是用来查看内存使用情况的主要命令。和top命令相比,它的优点是使用简单,并且只占用很少的系统资源。通过-S参数可以使用free命令不间断地监视有多少内存在使用,这样可以把它当作一个方便实监控器。 #free -b -s5 使用这个命令后终端会连续不断地报告内存使用情况(以字节为单位),每5秒更新一次。 quota 1.作用 quota命令用来显示磁盘使用情况和限制情况,使用权限超级用户。 2.格式 quota [-g][-u][-v][-p] 用户名 组名 3.参数 -g:显示用户所在组的磁盘使用限制。 -u:显示用户的磁盘使用限制。 -v:显示没有分配空间的文件系统的分配情况。 -p:显示简化信息。 4.应用实例 在企业应用中磁盘配额非常重要,普通用户要学会看懂自己的磁盘使用情况。要查询自己的磁盘配额可以使用下面命令(下例中用户账号是caojh): #quota caojh Disk quotas for user caojh(uid 502): Filesystem blocks quota limit grace files quota limit grace /dev/hda3 58 200000 400000 41 500 1000 以上显示ID号为502的caojh账号,文件个数设置为500~1000个,硬盘空间限制设置为200MB~400MB。一旦磁盘配额要用完,就需要删除一些垃圾文件或向系统管理员请求追加配额。 at 1.作用 at命令用来在指定刻执行指定的命令序列。 2.格式 at [-V] [-q x] [-f file] [-m] time 3.主要参数 -V:显示标准错误输出。 -q:许多队列输出。 -f:从文件中读取作业。 -m:执行完作业后发送电子邮件到用户。 time:设定作业执行的间。time格式有严格的要求,由小、分钟、日期和间的偏移量组成,其中日期的格式为MM.DD.YY,MM是分钟,DD是日期,YY是指年份。偏移量的格式为间+偏移量,单位是minutes、hours和days。 4.应用实例 #at -f data 15:30 +2 days 上面命令表示让系统在两天后的17:30执行文件data中指明的作业。 lp 1.作用 lp是打印文件的命令,使用权限是所有用户。 2.格式 lp [-c][-d][-m][-number][-title][-p] 3.主要参数 -c:先拷贝文件再打印。 -d:打印队列文件。 -m:打印结束后发送电子邮件到用户。 -number:打印份数。 -title:打印标题。 -p:设定打印的优先级别,最高为100。 4.应用实例 (1)使用lp命令打印多个文件 #lp 2 3 4 request id is 11 (3 file(s)) 其中2、3、4分别是文件名;“request id is 11 (3 file(s)) ”表示这是第11个打印命令,依次打印这三个文件。 (2)设定打印优先级别 #lp lp -d LaserJet -p 90 /etc/aliases 通过添加“-p 90”,规定了打印作业的优先级为90。它将在优先级低于90的打印作业之前打印,包括没有设置优先级的作业,缺省优先级是50 useradd 1.作用 useradd命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。 2.格式 useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name 3.主要参数 -c:加上备注文字,备注文字保存在passwd的备注栏中。  -d:指定用户登入的启始目录。 -D:变更预设值。 -e:指定账号的有效期限,缺省表示永久有效。 -f:指定在密码过期后多少天即关闭该账号。 -g:指定用户所属的群组。 -G:指定用户所属的附加群组。 -m:自动建立用户的登入目录。 -M:不要自动建立用户的登入目录。 -n:取消建立以用户名称为名的群组。 -r:建立系统账号。 -s:指定用户登入后所使用的shell。 -u:指定用户ID号。 4.说明 useradd可用来建立用户账号,它和adduser命令是相同的。账号建好之后,再用passwd设定账号的密码。使用useradd命令所建立的账号,实际上是保存在/etc/passwd文本文件中。 5.应用实例 建立一个新用户账户,并设置ID: #useradd caojh -u 544 需要说明的是,设定ID值尽量要大于500,以免冲突。因为Linux安装后会建立一些特殊用户,一般0到499之间的值留给bin、mail这样的系统账号。 groupadd 1.作用 groupadd命令用于将新组加入系统。 2.格式 groupadd [-g gid] [-o]] [-r] [-f] groupname 3.主要参数 -g gid:指定组ID号。 -o:允许组ID号,不必惟一。 -r:加入组ID号,低于499系统账号。 -f:加入已经有的组,发展程序退出。 4.应用实例 建立一个新组,并设置组ID加入系统: #groupadd -g 344 cjh 此在/etc/passwd文件中产生一个组ID(GID)是344的项目。 kill 1.作用 kill命令用来中止一个进程。 2.格式 kill [ -s signal | -p ] [ -a ] pid ... kill -l [ signal ] 3.参数 -s:指定发送的信号。 -p:模拟发送信号。 -l:指定信号的名称列表。 pid:要中止进程的ID号。 Signal:表示信号。 4.说明 进程是Linux系统中一个非常重要的概念。Linux是一个多任务的操作系统,系统上经常同运行着多个进程。我们不关心这些进程究竟是如何分配的,或者是内核如何管理分配间片的,所关心的是如何去控制这些进程,让它们能够很好地为用户服务。 Linux 操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性。交互进程是由一个Shell启动的进程。交互进程既可以在前台运行,也可以在后台运行。批处理进程和终端没有联系,是一个进程序列。监控进程(也称系统守护进程)Linux系统启动启动的进程,并在后台运行。例如,httpd是著名的 Apache服务器的监控进程。 kill命令的工作原理是,向Linux系统的内核发送一个系统操作信号和某个程序的进程标识号,然后系统内核就可以对进程标识号指定的进程进行操作。比如在top命令中,我们看到系统运行许多进程,有就需要使用kill中止某些进程来提高系统资源。在讲解安装和登陆命令,曾提到系统多个虚拟控制台的作用是当一个程序出错造成系统死锁,可以切换到其它虚拟控制台工作关闭这个程序。此使用的命令就是kill,因为kill是大多数Shell内部命令可以直接调用的。 5.应用实例 (1)强行中止(经常使用杀掉)一个进程标识号为324的进程: #kill -9 324 (2)解除Linux系统的死锁 在Linux 中有会发生这样一种情况:一个程序崩溃,并且处于死锁的状态。此一般不用重新启动计算机,只需要中止(或者说是关闭)这个有问题的程序即可。当 kill处于X-Window界面,主要的程序(除了崩溃的程序之外)一般都已经正常启动了。此打开一个终端,在那里中止有问题的程序。比如,如果 Mozilla浏览器程序出现了锁死的情况,可以使用kill命令来中止所有包含有Mozolla浏览器的程序。首先用top命令查处该程序的PID,然后使用kill命令停止这个程序: #kill -SIGKILL XXX 其中,XXX是包含有Mozolla浏览器的程序的进程标识号。 (3)使用命令回收内存 我们知道内存对于系统是非常重要的,回收内存可以提高系统资源。kill命令可以及地中止一些“越轨”的程序或很长间没有相应的程序。例如,使用top命令发现一个无用 (Zombie) 的进程,此可以使用下面命令: #kill -9 XXX 其中,XXX是无用的进程标识号。 然后使用下面命令: #free 此会发现可用内存容量增加了。 (4)killall命令 Linux下还提供了一个killall命令,可以直接使用进程的名字而不是进程标识号,例如: # killall -HUP inetd crontab 1.作用 使用crontab命令可以修改crontab配置文件,然后该配置由cron公用程序在适当的间执行,该命令使用权限是所有用户。 2.格式 crontab [ -u user ] 文件 crontab [ -u user ] { -l | -r | -e } 3.主要参数 -e:执行文字编辑器来设定程表,内定的文字编辑器是vi。 -r:删除目前的程表。 -l:列出目前的程表。 crontab 文件的格式为“M H D m d cmd”。其中,M代表分钟(0~59),H代表小(0~23),D代表天(1~31),m代表月(1~12),d代表一星期内的天(0~6,0为星期天)。cmd表示要运行的程序,它被送入sh执行,这个Shell只有USER、HOME、SHELL三个环境变量。 4.说明 和at命令相比,crontab命令适合完成固定周期的任务。 5.应用实例 设置一个定、定期的系统提示: [cao @www cao]#crontab -e 此系统会打开一个vi编辑器。 如果输入以下内容:35 17 * * 5 wall "Tomorrow is Saturday I will go CS",然后存盘退出。这在/var/spool/cron/目录下会生产一个cao的文件,内容如下: # DO NOT EDIT THIS FILE - edit the master and reinstall. # (/tmp/crontab.2707 installed on Thu Jan 1 22:01:51 2004) # (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $) 35 17 * * 5 wall "Tomorrow is Saturday I will play CS " 这样每个星期五17:35系统就会弹出一个终端,提醒星期六可以打打CS了!显示结果见图3所示。 图3 一个定、定期的系统提示 动手练习 1.联合使用kill和top命令观察系统性能的变化 首先启动一个终端运行top命令,然后再启动一个终端使用kill命令,见图4所示。 图4 观察kill命令对top终端的影响 这利用上面介绍的kill命令来中止一些程序: #kill SIGKILL XXX 然后再看top命令终端的变化,包括内存容量、CPU使用率、系统负载等。注意,有些进程是不能中止的,不过学习Linux命令可以试试,看看系统有什么反应。 2.使用at和halt命令定关机 首先设定关机间是17:35,输入下面代码: #at 17:35 warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh at>halt `-i -p at> job 6 at 2004-01-01 17:35 此实际上就已经进入Linux系统的Shell,并且编写一个最简单程序:halt -i -p。上面Shell中的文本结束符号表示按“Ctrl+D”组合键关闭命令,提交任务退出Shell。“Job 6 at 2004-01-01 17:35”表示系统接受第6个at命令,在“2004-01-01 17:35”执行命令:先把所有网络相关的装置停止,关闭系统后关闭电源。 3.用crontab命令实现每天定的病毒扫描 前面已经介绍了一个简单的crontab命令操作,这里看一些更重要的操作。 (1)建立一个文件文件名称自己设定,假设为caoproject: #crontab -e (2)文件内容如下: 05 09 * * * antivir 用vi编辑后存盘退出。antivir是一个查杀Linux病毒的软件,当然需要先安装在系统中。 (3)使用crontab命令添加到任务列表中: #crontab caoproject 这样系统内所有用户在每天的9点05分会自动进行病毒扫描。 4.用kill使修改的配置文件马上生效 Windows用户一般都知道,重要配置文件修改后往往都要重新启动计算机才能使修改生效。而Linux由于采用了模块化设计,可以自己根据需要实设定服务。这里以网络服务inetd为例介绍一些操作技巧。 inetd 是一个监听守护进程,监听与提供互联网服务进程(如rlogin、telnet、ftp、rsh)进行连接的要求,并扩展所需的服务进程。默认情况下, inetd监听的这些daemon均列于/etc /inetd.conf文件中。编辑/etc/inetd.conf文件,可以改变inetd启动服务器守护进程的选项,然后驱使inetd以 SIGHUP(signal 1)向当前的inetd进程发送信号,使inetd重读该文件。这一过程由kill命令来实现。 用vi或其它编辑器修改inetd.conf后,首先使用下面命令: #ps -ef |grep inetd 上面代码表明查询inetd.conf的进程号(PID),这里假设是1426,然后使用下面命令: # kill -1426 inetd 这样配置文件就生效了。 这一讲介绍的系统管理命令都是比较重要的,特别是crontab命令和quota命令使用起来会有一定难度,需要多做一些练习。另外,使用kill命令要注意“-9“这个参数,练习最好不要运行一些重要的程序。 -------------------------------------------------------------------------------- Linux必学的60个命令(4)-网络操作命令 Linux必学的60个命令:网络操作命令 因为Linux系统是在Internet上起源和发展的,它与生俱来拥有强大的网络功能和丰富的网络应用软件,尤其是TCP/IP网络协议的实现尤为成熟。 Linux的网络命令比较多,其中一些命令像ping、 ftp、telnet、route、netstat等在其它操作系统上也能看到,但也有一些Unix/Linux系统独有的命令,如ifconfig、 finger、mail等。Linux网络操作命令的一个特点是,命令参数选项和功能很多,一个命令往往还可以实现其它命令的功能。 ifconfig 1.作用 ifconfig用于查看和更改网络接口的地址和参数,包括IP地址、网络掩码、广播地址,使用权限是超级用户。 2.格式 ifconfig -interface [options] address 3.主要参数 -interface:指定的网络接口名,如eth0和eth1。 up:激活指定的网络接口卡。 down:关闭指定的网络接口。 broadcast address:设置接口的广播地址。 pointopoint:启用点对点方式。 address:设置指定接口设备的IP地址。 netmask address:设置接口的子网掩码。 4.应用说明 ifconfig是用来设置和配置网卡的命令行工具。为了手工配置网络,这是一个必须掌握的命令。使用该命令的好处是无须重新启动机器。要赋给eth0接口IP地址207.164.186.2,并且马上激活它,使用下面命令: #fconfig eth0 210.34.6.89 netmask 255.255.255.128 broadcast 210.34.6.127 该命令的作用是设置网卡eth0的IP地址、网络掩码和网络的本地广播地址。若运行不带任何参数的ifconfig命令,这个命令将显示机器所有激活接口的信息。带有“-a”参数的命令则显示所有接口的信息,包括没有激活的接口。注意,用ifconfig命令配置的网络设备参数,机器重新启动以后将会丢失。 如果要暂停某个网络接口的工作,可以使用down参数: #ifconfig eth0 down ip 1.作用 ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具,例如ifconfig、route等,使用权限为超级用户。几乎所有的Linux发行版本都支持该命令。 2.格式 ip [OPTIONS] OBJECT [COMMAND [ARGUMENTS]] 3.主要参数 OPTIONS是修改ip行为或改变其输出的选项。所有的选项都是以-字符开头,分为长、短两种形式。目前,ip支持如表1所示选项。 OBJECT是要管理者获取信息的对象。目前ip认识的对象见表2所示。 表1 ip支持的选项 -V,-Version 打印ip的版本并退出。 -s,-stats,-statistics 输出更为详尽的信息。如果这个选项出现两次或多次,则输出的信息将更为详尽。 -f,-family 这个选项后面接协议种类,包括inet、inet6或link,强调使用的协议种类。如果没有足够的信息告诉ip使用的协议种类,ip就会使用默认值inet或any。link比较特殊,它表示不涉及任何网络协议。 -4 是-family inet的简写。 -6 是-family inet6的简写。 -0 是-family link的简写。 -o,-oneline 对每行记录都使用单行输出,回行用字符代替。如果需要使用wc、grep等工具处理ip的输出,则会用到这个选项。 -r,-resolve 查询域名解析系统,用获得的主机名代替主机IP地址 COMMAND 设置针对指定对象执行的操作,它和对象的类型有关。一般情况下,ip支持对象的增加(add)、删除(delete)和展示(show或list)。有些对象不支持这些操作,或者有其它的一些命令。对于所有的对象,用户可以使用help命令获得帮助。这个命令会列出这个对象支持的命令和参数的语法。如果没有指定对象的操作命令,ip会使用默认的命令。一般情况下,默认命令是list,如果对象不能列出,就会执行help命令。 ARGUMENTS 是命令的一些参数,它们倚赖于对象和命令。ip支持两种类型的参数:flag和parameter。flag由一个关键词组成;parameter由一个关键词加一个数值组成。为了方便,每个命令都有一个可以忽略的默认参数。例如,参数dev是ip link命令的默认参数,因此ip link ls eth0等于ip link ls dev eth0。我们将在后面的详细介绍每个命令的使用,命令的默认参数将使用default标出。 4.应用实例 添加IP地址192.168.2.2/24到eth0网卡上: #ip addr add 192.168.1.1/24 dev eth0 丢弃源地址属于192.168.2.0/24网络的所有数据报: #ip rule add from 192.168.2.0/24 prio 32777 reject ping 1.作用 ping检测主机网络接口状态,使用权限是所有用户。 2.格式 ping [-dfnqrRv][-c][-i][-I][-l][-p][-s][-t] IP地址 3.主要参数 -d:使用Socket的SO_DEBUG功能。 -c:设置完成要求回应的次数。 -f:极限检测。 -i:指定收发信息的间隔秒数。 -I:网络界面使用指定的网络界面送出数据包。 -l:前置载入,设置在送出要求信息之前,先行发出的数据包。 -n:只输出数值。 -p:设置填满数据包的范本样式。 -q:不显示指令执行过程,开头和结尾的相关信息除外。 -r:忽略普通的Routing Table,直接将数据包送到远端主机上。 -R:记录路由过程。 -s:设置数据包的大小。 -t:设置存活数值TTL的大小。 -v:详细显示指令的执行过程。 ping 命令是使用最多的网络指令,通常我们使用它检测网络是否连通,它使用ICMP协议。但是有会有这样的情况,我们可以浏览器查看一个网页,但是却无法 ping通,这是因为一些网站处于安全考虑安装了防火墙。另外,也可以在自己计算机上试一试,通过下面的方法使系统对ping没有反应: # echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all netstat 1.作用 检查整个Linux网络状态。 2.格式 netstat [-acCeFghilMnNoprstuvVwx][-A][--ip] 3.主要参数 -a--all:显示所有连线中的Socket。 -A:列出该网络类型连线中的IP相关地址和网络类型。 -c--continuous:持续列出网络状态。 -C--cache:显示路由器配置的快取信息。 -e--extend:显示网络其它相关信息。 -F--fib:显示FIB。 -g--groups:显示多重广播功能群组组员名单。 -h--help:在线帮助。 -i--interfaces:显示网络界面信息表单。 -l--listening:显示监控中的服务器的Socket。 -M--masquerade:显示伪装的网络连线。 -n--numeric:直接使用IP地址,而不通过域名服务器。 -N--netlink--symbolic:显示网络硬件外围设备的符号连接名称。 -o--timers:显示计器。 -p--programs:显示正在使用Socket的程序识别码和程序名称。 -r--route:显示Routing Table。 -s--statistice:显示网络工作信息统计表。 -t--tcp:显示TCP传输协议的连线状况。 -u--udp:显示UDP传输协议的连线状况。 -v--verbose:显示指令执行过程。 -V--version:显示版本信息。 -w--raw:显示RAW传输协议的连线状况。 -x--unix:和指定“-A unix”参数相同。 --ip--inet:和指定“-A inet”参数相同。 4.应用实例 netstat 主要用于Linux察看自身的网络状况,如开启的端口、在为哪些用户服务,以及服务的状态等。此外,它还显示系统路由表、网络接口状态等。可以说,它是一个综合性的网络状态的察看工具。在默认情况下,netstat只显示已建立连接的端口。如果要显示处于监听状态的所有端口,使用-a参数即可: #netstat -a Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 *:32768 *:* LISTEN tcp 0 0 *:32769 *:* LISTEN tcp 0 0 *:nfs *:* LISTEN tcp 0 0 *:32770 *:* LISTEN tcp 0 0 *:868 *:* LISTEN tcp 0 0 *:617 *:* LISTEN tcp 0 0 *:mysql *:* LISTEN tcp 0 0 *:netbios-ssn *:* LISTEN tcp 0 0 *:sunrpc *:* LISTEN tcp 0 0 *:10000 *:* LISTEN tcp 0 0 *:http *:* LISTEN ...... 上面显示出,这台主机同提供HTTP、FTP、NFS、MySQL等服务。 telnet 1.作用 telnet表示开启终端机阶段作业,并登入远端主机。telnet是一个Linux命令,同也是一个协议(远程登陆协议)。 2.格式 telnet [-8acdEfFKLrx][-b][-e][-k][-l][-n][-S][-X][主机名称IP地址] 3.主要参数 -8:允许使用8位字符资料,包括输入与输出。 -a:尝试自动登入远端系统。 -b:使用别名指定远端主机名称。 -c:不读取用户专属目录里的.telnetrc文件。 -d:启动排错模式。 -e:设置脱离字符。 -E:滤除脱离字符。 -f:此参数的效果和指定“-F”参数相同。 -F:使用Kerberos V5认证,加上此参数可把本地主机的认证数据上传到远端主机。 -k:使用Kerberos认证,加上此参数让远端主机采用指定的领域名,而非该主机的域名。 -K:不自动登入远端主机。 -l:指定要登入远端主机的用户名称。 -L:允许输出8位字符资料。 -n:指定文件记录相关信息。 -r:使用类似rlogin指令的用户界面。 -S:服务类型,设置telnet连线所需的IP TOS信息。 -x:假设主机有支持数据加密的功能,就使用它。 -X:关闭指定的认证形态。 4.应用说明 用户使用telnet命令可以进行远程登录,并在远程计算机之间进行通信。用户通过网络在远程计算机上登录,就像登录到本地机上执行命令一样。为了通过 telnet登录到远程计算机上,必须知道远程机上的合法用户名和口令。虽然有些系统确实为远程用户提供登录功能,但出于对安全的考虑,要限制来宾的操作权限,因此,这种情况下能使用的功能是很少的。 t
-------------------------------------------------------------------------------------- 最新更新情况: 0.260 新内核的正式版,也是UDA的第三个正式版.对新内核进行了极大的优化,使压缩率/间比 比上一个正式版有了质的飞跃,默认压缩模式0的压缩率已经完全战胜UHARC,速度比原来 的模式3仅慢了不到10%.并大大减轻高模式的内存占用过多耗过多的问题. 比较上一版本(0.250),速度有了10%的提升,程序又减少了1KB!压缩率变化轻微. [此版本的压缩包与以前任何版本都不兼容] 0.250 在上一版本的基础上更新了内核,重新设置并精简了压缩模式,使得速度和内存占用比 以前的各个模式都有了很大的改善,此版本的默认模式0的压缩率和压缩间相当于上 一版本的模式3和4之间,但内存占用与上一版本模式3相当,以解决以前版本资源占用过 多的问题.[此版本的压缩包与以前任何版本都不兼容] 0.242 此版本彻底解决了所有的命令行(包括自解压)长文件/目录名问题,包括汉字和空格的 支持,其中含空格需要用双引号把整个文件名括起来. [0.24x版的压缩包(包括自解压)之间相互兼容.但与以前版本均不兼容.] 0.241 此版本在0.240的基础上修正了命令中不能含有汉字的bug.加入了不存在解压路径显 示错误信息.readme.txt中增添一些遗漏的说明. 0.240 UDA的第二个正式版,比上一个正式版(0.230)有以下提高:(1)在功能不减并加入解压 可自定解压缩路径和使用示例的前提下,把自身体积减小到16K!(2)大力度优化了内核, 速度比0.230版提高了10%左右.(3)改善了内存的分配,节约内存占用5%-15%.(4)增强了 异常错误处理以及改善很多细节设定.(5)经过了大量测试,保证了压缩/解压的稳定性. 0.231 加入了解压自定解压缩文件的路径.出现错误立即停止程序而不继续压缩/解压. 优化内核程序使压缩/解压速度提高了4%.增加了使用示例.修正了几个不重要的小bug. 0.230l 由0.230完整版修改而成. 0.230 UDA的第一个非测试版.改善了界面,加入了制作自解压的功能. (取消简化版开发,压缩文件扩展名仍然使用uda.) -------------------------------------------------------------------------------------- 名称:UDA高压缩文件压缩器 版本:0.260 Final 类型:免费软件(free software) 日期:2004.4.2 大小:15KB 要求:内存最低32M,建议64M以上,推荐256M以上 CPU最低486DX,建议PentiumII以上,推荐1G以上 平台:Windows95OSR2/98/ME/2000/XP,推荐Windows2000/XP (命令行窗口,但不支持纯DOS) 作者:Dwing 联系:[email protected] 主页:http://dwing.51.net http://dwing.go.nease.net(镜象站) -------------------------------------------------------------------------------------- 特性:1.极高的无损压缩率,但比其他常用工具较慢. 2.软件极小,只有15K. 3.支持长文件名. 4.支持通配符. 5.支持固实压缩技术. 6.支持制作自解压功能,并能在两种格式之间相互转换. -------------------------------------------------------------------------------------- 描述:本压缩工具不像其他的压缩工具使用常见的zip,rar等格式,而是使用专用的UDA格式. 最大的特点是使用了以最新的ContextModelMixing为基础的算术编码压缩技术和固实 压缩技术,因此压缩率极高,几乎可以排到世界第一位,尤其是多文件压缩!唯一的缺点 是压缩速度比其他格式较慢.后面给出各个常用的压缩工具压缩文件和多文件的结果. -------------------------------------------------------------------------------------- 说明:1.程序文件名为uda.exe,压缩包默认扩展名为UDA. 2.建议使用各个版本压缩都尽量制作自解压的压缩包(此版本自解压包比普通压缩包多15K). 3.由于用本压缩工具压缩压缩包数据非常紧密,所以不支持压缩包内文件的增添,删除, 修改文件等功能,只有解压缩并整理后再重新压缩. 4.当给出解压目录,此目录必须已经存在,否则将显示错误. 5.用"l"命令列出压缩包内文件列表左边显示的十六进制数据是间戳,以供解压还原. (Windows9x环境下解压含目录的压缩可能不会还原目录的间) 6.当压缩或解压显示以下错误,只有三个按键可选择:Y--是,N--否,Q--放弃退出. (有不能选择"否"(N);一般需要一定的处理才能选"是"(Y),如增加磁盘剩余空间) "Error Open: Retry?[Y/Q]"---压缩无法打开待压缩文件,确认是否重试 "Error Read: Retry?[Y/Q]"---压缩无法读取待压缩文件,确认是否重试 "Err:Retry?"---解压无法建立压缩包中的文件或目录,确认是否重试 "Overwrite?"---解压出现了同名文件,确认是否覆盖 "ErW:Retry?"---解压无法写入解压缩文件,确认是否重试 以上错误的原因可能为以下几个情况: (1)剩余空间不足(2)有同名目录或文件(3)磁盘写保护(4)向光盘写数据 (5)欲覆盖的文件是只读属性(6)磁盘损坏无法读取或写入数据 其他严重的错误会直接退出,而且提示比较详细,不再赘述. 7.压缩模式与内存具体需求关系见下表(非常重要!必读!): -------------------------------------------------------------------------------------- 模式(默认:3): 0 1 2 3 (PS:压缩和解压的间和内存需求相同,内存不足会导致所) 最小内存需求: 32M 64M 128M 256M ( 用间因使用虚拟内存而急剧增加,使用一定注意!!) 注:以上是在前台运行的最小内存需求,有其他大程序运行还需要更多内存.所以压缩或解压尽量 不要运行其他程序特别是大程序,否则应选择内存要求较低的模式. -------------------------------------------------------------------------------------- 用法(与RAR命令行版类似,自解压压缩包也可以进行同样的操作): (1)使用方法为:uda 命令 选项(可选) 压缩文件名 待压缩文件名/解压缩目录名(可选) (2)命令:a表示压缩,x表示解压,l表示列出压缩包中文件,c表示转换压缩包格式): (3)选项:-n(n是一个数字)表示选择压缩模式,-r表示压缩文件包含子目录中的匹配文件, -s表示制作自解压压缩包 注:在命令行中输入的文件名含有空格需要把文件名用双引号括起来,如uda a "x y z1" *.* -------------------------------------------------------------------------------------- 示例: (1)把文件abc.txt压缩成backup.uda(".uda"可省略输入): uda a backup.uda abc.txt (2)把c:\win目录中的文件及目录最快速压缩成winbak.uda: uda a -0 -r winbak c:\win\*.* (3)把当前目录中所有*.c文件压缩成自解压文件cbak.exe: uda a -s cbak *.c (4)把已压缩文件my program.uda解压缩: uda x "my program.uda" (5)把已压缩文件myfiles.uda解压缩到c:\windows中: uda x myfiles c:\windows (6)列出已压缩文件my backup.uda中包含的文件: uda l "my backup" (7)把已压缩文件mybak.uda转化成自解压文件mybak.exe: uda c mybak.uda mybak.exe (8)把自解压文件mybak.exe还原成压缩文件mybak.uda: uda c mybak.exe mybak.uda (9)把自解压文件mybak.exe解压到当前目录中: mybak (10)把自解压文件mybak.exe解压到d:\my中(已存在此目录):mybak x mybak.exe d:\my (11)列出自解压文件mybak.exe中文件: mybak l mybak.exe -------------------------------------------------------------------------------------- PS:由于软件算法复杂,制作间紧张.如果发现BUG、问题、新的测试结果、更强悍的压缩工具 以及建议,欢迎给我发邮件([email protected],由于最近的垃圾邮件过多,所以邮件主题请尽量 用汉字,并尽量不用附件)或在我的网站上留言! 另外可直接访问http://dwing.go.nease.net/download/查看和下载网站资源. -------------------------------------------------------------------------------------- 以前更新历史(目前不再支持这些版本): 0.10 第一个版本(只有压缩和解压一个文件的功能). 0.11 加入间累积功能,设置文件缓冲,使压缩和解压速度提高5%. 0.12 修正一些BUG(WIN9x运行不正常,包含路径的压缩文件名等BUG),并精简了源程序. 0.20 增加多文件固实压缩成一个压缩文件的功能,支持通配符,增加列出文件功能以及8种 压缩方案,能以百分比显示压缩进度,文件间和属性的还原仍有bug(不影响主要功能). 0.21 采用了更新的内核,大多数情况会使0-3模式间更少(-20%),压缩率更高, 4-6模式间较长20%,压缩率更高,需内存多20%.另外修正非默认模式的文件列表错误. 0.211 修正了文件属性和间的还原及目录属性的还原,目录间的还原还没有解决. 0.212 加入了一些细节问题,如文件数,压缩率,压缩速度,文件列表的现实方式等. 0.213 修正了目录间的还原.使默认扩展名为uda. 0.214 修正了一些小bug. 0.215 解压加入已存在文件的选项. 0.220 重新整理了外壳程序,并暂停止开发,转向简化版的开发. 0.220l 0.220版的简化版,只支持0-3模式,并除去exe模型,与以前版本不兼容,默认扩展名为udz. 0.220lx 0.220l版的专用解压工具. -------------------------------------------------------------------------------------- 常见问题解答: 1.问:使用UDA的哪个模式来压缩最好? 答:此版本UDA一共有4个压缩模式,编号为0-3,数字越大,压缩率越高,速度越慢.建议使用默认 的模式0,它的压缩率比UHARC的最高压缩率还高(速度约是UHARC的1/3~1/4).压缩以内存 大小决定,千万不要在内存不足的情况下使用较高的模式压缩或解压,否则会出现内存不足 的错误或者速度会大大降低以至无法忍受. 2.问:用UDA压缩或解压为什么很慢? 答:UDA使用的压缩技术比较复杂,为增大压缩率而需要很多的运算,我已经为此尽可能地优化 源程序.实际上,内存读写速度的提高要比CPU提速还有用,所以较大的Cache对压缩/解压的 速度提高很有利.据我测试,AthlonXP 1700+的压缩/解压速度比Pentium4 1.7G快不少.UDA 的浮点运算比例仅占约0.1%,所以浮点运算能力对UDA无影响.另外,解压的速度比压缩只快 了不到10%,内存需求相同,压缩要考虑解压的内存是否充足. 3.问:UDA有那些局限性? 答:UDA最多可以一次压缩所有文件的信息(包括相对目录名,文件名,大小,间,属性)总和为 1MB的文件量(约几万个文件),因此不要一次压缩太多文件,遇到这种情况可以分成几部分 各个压缩.解压文件和目录的属性和间都会被还原(Windows9x可能不能还原目录间). 4.问:UDA能否使用窗口界面? 答:由于UDA的压缩解压速度原因,使得它现在不可能在实际应用中常被使用.所以可以说它目前 只是实验性质的工具.现在的开发重点不是界面,而是它的压缩内核,况且被人称作压缩率之 王的UHARC现在仍然使用命令行模式.未来CPU和内存有了较大发展后,UDA才有可能象今天 WINRAR一样实用,那我会对它的界面进行重点开发. 5.问:为什么文件可以被压缩? 答:文件一般是有很多冗余数据的,即使不能很容易察觉.有的文件冗余数据多(如BMP图象),有的 文件很少(如JPG图象,压缩电影等),所以不同种类的文件压缩率是有很大不同的.不能说一个 压缩软件能把一个10M的文件压缩成1M就说这个压缩软件压缩率高.只能用各种不同的压缩工 具压缩同样的文件并对比才能说明压缩率高还是低.一般来说,象JPG,压缩电影(RM,AVI等格 式)这些已经经过高度有损压缩文件再进行压缩已经没什么意义了(压缩率极低),所以用一 些压缩率较高的文件(如BMP,TXT,DOC等大多数格式文件)测试比较有意义. 6.问:目前各压缩软件的压缩性能如何? 答:每种压缩软件都使用至少1种压缩格式,有的压缩软件有自主的格式,如WINRAR,WINZIP,WINACE 等等(格式各为RAR,ZIP,ACE).而有的压缩软件只提供一些常见格式的压缩/解压缩.因为WINRAR 压缩的ZIP格式文件和WINZIP压缩的ZIP格式文件相同,所以压缩性能(压缩率与压缩间)的比较 只能以各种格式来比较,而不是压缩软件的比较. 下面简单谈谈各种压缩格式的比较: ZIP:从DOS代到现在一直保持兼容路线,所以压缩率很低,速度极快. ARJ,LZH等:也是DOS代的格式,与ZIP压缩率相当,又由于使用不如ZIP广泛,现在已淘汰. RAR:DOS代就有RAR压缩工具了,而且压缩率比DOS代的ZIP等格式高,并且支持固实压缩技术, 到WIN9X代WINRAR(2.9以上版本)有了新的算法,使用较多的内存来压缩,因此ZIP格式与新的 RAR格式的差距有加大了很多. ACE,CAB,JAR,PAR,IMP,ARJ32等:WIN9X代的一些压缩格式,同RAR类似使用了大量内存和固实压缩, 压缩率与新RAR略低或相同,但速度没有能和WINRAR相比的. 7ZIP,UHARC:WIN9X代的少数几个有实力的压缩格式,压缩率均比WINRAR高,其中7ZIP速度比WINRAR 慢一半,但要高压缩内存要求很高,UHARC内存要求低,但速度比7ZIP慢很多,综合压缩比 UHARC比7ZIP高一点. 以上都是实用的压缩格式.近两年出现了新的算法(现在仍在实验当中,包括UDA),使得压缩率又有了 很大提高,如SLIM,DURILCA,WINRK等,但大多需要极大的内存,而且速度极慢,不适合实际应用,几年后 较优秀的算法也许会出现在实际应用当中. 以上的说法比较客观,如果有任何意见可以与我交流. --------------------------------------------------------------------------------------
Virace GPS Simulator V0.3.1 自述文件 2009.6.7 ====================================================================== Virace GPS Simulator是什么? ====================================================================== Virace GPS Simulator(以下简称为Virace)用软件模拟GPS接收器输出的GPS语 句,通过串行口输出到GPS应用软件。用鼠标或键盘控制Virace而模拟实际GPS接 收器的运动,或者重播已有的GPS航迹文件,从而在室内测试GPS导航软件等。 Virace具有手动实控制及航迹重播两种方式。为了控制灵活方便,Virace定义 了许多鼠标及键盘动作。经过少许试用,就可以对照一个大比例尺的导航地图以 超过正常驾车速度行驶在市区及郊区路上。 ====================================================================== Virace运行在什么操作系统下? ====================================================================== Windows ====================================================================== Virace运行的方式 ====================================================================== 1. Windows下的GPS软件可通过Virace的虚拟串口直接测试。 2. Windows下有微软的Device Emulator,因此部分与Device Emulator兼容的 PPC、CE、SP软件可以在Device Emulator中模拟测试,由Virace提供GPS信号。 3. 可以将Virace输出到蓝牙的输出COM口,测试使用蓝牙GPS模块的PPC、SP及 Symbian S60等GPS软件。 4. Virace输出到PC的物理COM口,测试任何与PC物理串口连接的GPS设备 5. 用Virace将plt、gpx、kml、gpssim、trk格式的航迹文件,转为带速度、方 位角,及卫星状态的nmea文件,再在GpsGate内播放。 ====================================================================== Virace的特点 ====================================================================== 四种模式:自由驾驶模式 + 三种航迹重播模式(逐点重放航迹模式,手控速度 航迹模式,比例速度航迹模式)。运行中根据需要可在四种模式间无缝自由切换。 航迹文件支持plt、gpx(含gpx航迹及Garmin详细航线)、kml、gpssim、trk。 可将航迹文件另存为带速度、方位角,及卫星状态的nmea文件。 航迹重播具有丰富的控制项,可快进、快退,选择某个段,反序,循环,亦可 人为加入左右偏移。 载入航迹可选过滤掉点数少或距离小的段。 可选与PC版OziExplorer交互运行。通过Ozi API,在Ozi中双击地图上的某点, Virace就立即跳跃至该点(自由驾驶模式),或跳至离该点最近的航迹(航迹 重播模式);单击地图上的某点,则以当前速度向该点行驶(自由驾驶模式)。 最多3路COM口输出,加1路Ozi输出。每路的参数是独立选择的,且可以独立启停。 支持虚拟串口。与Eltima Virtual Serial Port ActiveX Control V2.5及对应的 Eltima Virtual Serial Port Driver兼容。注:Eltima Virtual Serial Port 是共享软件,一切权利归其所有人。Virace的发行包内不包括该虚拟串口驱动及 控件,请自行购买或下载试用版。 多种转向方式。鼠标滚轮,Ozi中单击,键盘左右箭头等。另有键盘45度及10度转 向键。键盘左右箭头及鼠标滚轮的转向灵敏度可自定义。 多个预设的速度键及上下箭头加减速,另外可随暂停(速度为0,但依然输出GPS 信号)。 在退出自动保存当前位置(经纬度、速度、方位角等)及所有

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值