26

        介绍推荐两款命令系统工具:硬件配置信息查看工具lshw及查看打开的文件和套接字工具lsof
        lshw硬件查看工具,它全称叫:HardWare LiSter,实现的原理应该可以说是获取使用/proc里面读取到的数据来显示相关的信息
        下载地址:http://ezix.org/software/files/lshw-B.02.14.tar.gz
        解压安装:tar -zxvf lshw-B.02.14.tar.gz && make && make install 即可
        可以先了解查看解压后目录下的README文件信息:

    1 lshw: HardWare LiSter for Linux
    2 ===============================
    4 lshw is a small tool to provide detailed information on the hardware confi-
    5 guration of the machine. It can report exact memory configuration, firmware
    6 version, mainboard configuration, CPU version and speed, cache configuration,
    7 bus speed, etc. on DMI-capable x86 or EFI (IA-64) systems and on some PowerPC
    8 machines (PowerMac G4 is known to work).
    10 Information can be output in plain text, XML or HTML.
    12 It currently supports DMI (x86 and EFI only), OpenFirmware device tree
    13 (PowerPC only), PCI/AGP, ISA PnP (x86), CPUID (x86), IDE/ATA/ATAPI, PCMCIA
    14 (only tested on x86), USB and SCSI.
    16  * Requirements
    17     . Linux 2.4.x or 2.6.x (2.2.x might work, though)
    18     . a PA-RISC, Alpha, IA-64 (Itanium), PowerPC or x86 based machine
    19     . an ANSI (or close enough to ANSI compliance) C++ compiler
    20     (tested with g++ 2.95.4 and 3.2.2)
    21     . for the (optional) GTK+ graphical user interface, you will need a
    22     complete GTK+ 2.4 development environment (gtk2-devel on RedHat/Fedora
    23     derivatives)
    25  * To compile it, just use:
    27     $ make
    29  * If you want to build the optional GUI, do:
    31     $ make
    32     $ make gui
    34  * the lshw home page is http://lshw.org/
    35  * send bug reports, requests for help, feature requests, comments, etc. to
    36    bugs@ezix.org.  The author can be contacted directly (lyonel@ezix.org)
    37    Please make sure you include enough information in your bug report:
    XML  38    output from lshw is preferred over text or HTML, indicate the affected
    39    version of lshw, your platform (i386, x86-64, PA-RISC, PowerPC, etc.) and 40
    your distribution.
    and so on。。。

        可以使用html格式输出这些信息 通过web浏览查看 如:

    #lshw -html >/var/www/pcinfo.html

        然后网页 http://yourdomain/pcinfo.html 查看
        还有更多的相关lshw参数可以使用 也支持图形界面的查看,详见

    #lshw –X    //图形界面
    #man lshw   // 查看lshw工具更多参数用法

        lsof轻松查看正在运行的进程可打开哪些文、目录及套接字等信息,了解应用程序打开了哪些文件或者哪个应用程序打开了特定的文件,进而了解更多关于系统的信息。
        快速查出哪个进程在使用某个特定目录(如:/root/install) ,此有助于umount(卸载)或rm(删除)某些文件系统或目录前进行确认,可尝试使用lsof工具:

    [root@yanqx ~]# lsof /root/install/
    COMMAND   PID USER   FD   TYPE DEVICE SIZE      NODE NAME
    bash    18041 root  cwd    DIR   0,29 4096 188088470 /root/install/

        可见得,显然是root进入到了/root/install目录中。。。。
        同样,lsof也可列举出与特地进程相关联到的文件、目录、库等等信息,如要显示与指定PI进程相关联的文件可使用-p选项:

    [root@yanqx ~]# lsof -p 9554
    COMMAND  PID USER   FD   TYPE   DEVICE    SIZE      NODE NAME
    sshd    9554 root  cwd    DIR     0,29    4096 187957388 /
    sshd    9554 root  rtd    DIR     0,29    4096 187957388 /
    sshd    9554 root  txt    REG     0,29  409560 187988270 /usr/sbin/sshd
    sshd    9554 root  mem    REG     0,29  132304 187973604 /lib64/ld-2.5.so
    sshd    9554 root  mem    REG     0,29   44472 187973606 /lib64/libpam.so.0.81.5
    sshd    9554 root  mem    REG     0,29   20424 187973386 /lib64/libdl-2.5.so
    sshd    9554 root  mem    REG     0,29 1750504 190255826 /usr/local/ssl/lib/libcrypto.so.0.9.8
    sshd    9554 root  mem    REG     0,29   15280 187973406 /lib64/libutil-2.5.so
    sshd    9554 root  mem    REG     0,29   83344 187959026 /usr/lib64/libz.so.1.2.3
    sshd    9554 root  mem    REG     0,29  111480 187973548 /lib64/libnsl-2.5.so
    sshd    9554 root  mem    REG     0,29   45728 187973602 /lib64/libcrypt-2.5.so
    sshd    9554 root  mem    REG     0,29   89800 187972006 /lib64/libresolv-2.5.so
    sshd    9554 root  mem    REG     0,29 1698672 187973486 /lib64/libc-2.5.so
    sshd    9554 root  mem    REG     0,29   84400 187973582 /lib64/libaudit.so.0.0.0
    sshd    9554 root  mem    REG     0,29   53880 187973574 /lib64/libnss_files-2.5.so
    sshd    9554 root    0u   CHR      1,3          12392555 /dev/null
    sshd    9554 root    1u   CHR      1,3          12392555 /dev/null
    sshd    9554 root    2u   CHR      1,3          12392555 /dev/null
    sshd    9554 root    3u  IPv6 12393000               TCP *:ssh (LISTEN)
    sshd    9554 root    4u  IPv4 12393002               TCP *:ssh (LISTEN)

        或也可以通过使用-c参数选项,来通过进程名称来指定的进程查看:

    [root@yanqx ~]# lsof -c init
    COMMAND PID USER   FD   TYPE DEVICE    SIZE      NODE NAME
    init      1 root  cwd    DIR   0,29    4096 187957388 /
    init      1 root  rtd    DIR   0,29    4096 187957388 /
    init      1 root  txt    REG   0,29   40968 187988546 /sbin/init
    init      1 root  mem    REG   0,29          96280139 /sbin/init (path inode=187988546)
    init      1 root  mem    REG   0,29  132304 187973604 /lib64/ld-2.5.so
    init      1 root  mem    REG   0,29  245264 187973608 /lib64/libsepol.so.1
    init      1 root  mem    REG   0,29   92960 187973474 /lib64/libselinux.so.1
    init      1 root  mem    REG   0,29 1698672 187973486 /lib64/libc-2.5.so
    init      1 root  mem    REG   0,29   20424 187973386 /lib64/libdl-2.5.so
    init      1 root   10u  FIFO   0,48          12392766 /dev/initctl

        关于lsof这工具还可以通过相当多的不同参数进行实现不同功能 这里就不一一列举。。可自己查看工具命令帮助文档了解 嗯
        对此两工具就简单介绍分享推荐到此////

written by Yousri \\ tags: ,

27

       貌似之前就有遇到过在windows系统下vim出现中文乱码的情况,只是用得较少而且也懒得去捣鼓它/// 这问题直到昨晚因为试用了个Casparant同学介绍的一款用于实现twitter客户端功能Vim插件—TwitVim的时候查看消息的时候出现的根本都是乱码。。。所以决定搞定关于Vim编辑器编码方式导致中文乱码的问题///
       上网了解了下才知道原来Vim有四个跟字符编码方式有关的选项,分别是:encoding、fileencoding、fileencodings、 termencoding (这些选项可能的取值请参考 Vim 在线帮助 :help encoding-names),它们各自的意义:
       * encoding: Vim 内部使用的字符编码方式,包括 Vim 的 buffer (缓冲区)、菜单文本、消息文本等。用户手册上建议只在 .vimrc 中改变它的值,事实上似乎也只有在 .vimrc 中改变它的值才有意义。
       * fileencoding: Vim 中当前编辑的文件的字符编码方式,Vim 保存文件时也会将文件保存为这种字符编码方式 (不管是否新文件都如此)。
       * fileencodings: Vim 启动时会按照它所列出的字符编码方式逐一探测即将打开的文件的字符编码方式,并且将 fileencoding 设置为最终探测到的字符编码方式。因此最好将 Unicode 编码方式放到这个列表的最前面,将拉丁语系编码方式 latin1 放到最后面。
       * termencoding: Vim 所工作的终端 (或者 Windows 的 Console 窗口) 的字符编码方式。这个选项在 Windows 下对我们常用的 GUI 模式的 gVim 无效,而对 Console 模式的 Vim 而言就是 Windows 控制台的代码页,并且通常我们不需要改变它。
       由于 Unicode 能够包含几乎所有的语言的字符,Unicode的 UTF-8 编码方式又是非常具有性价比的编码方式,因此encoding 的值设置为utf-8。同时将encoding设置为utf-8时,Vim自动探测文件的编码方式会更准确。在中文 Windows里编辑的文件,为了兼顾与其他软件的兼容性,文件编码还是设置为GB2312/GBK比较合适,因此fileencoding建议设置为 chinese (chinese 是个别名,在Unix里表示gb2312,在Windows里表示cp936,也就是GBK的代码页)。
       最终对于文件中显示乱码、菜单乱码、右键菜单乱码以及Conlse输出乱码问题的解决方案,修改Vim编辑器所对应的配置文件_vimrc,添加如下配置:
       “处理文本中显示乱码

set encoding=utf-8
set fileencodings=utf-8,chinese,latin-1
if has("win32")
set fileencoding=chinese
else
set fileencoding=utf-8
endif

       “处理菜单及右键菜单乱码

source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim

       “处理consle输出乱码

language messages zh_CN.utf-8

       关于Vim的支持多字符编码方式工作的运作原理是:
       首先、Vim 启动,根据_vimrc配置文件中设置的encoding的值来设置buffer、菜单文本、消息文的字符编码方式。
       紧接、读取要编辑的文件,根据fileencodings中列出的字符编码方式逐一探测该文件编码方式。并设置fileencoding 为探测到的字符编码方式。
       然后、对比fileencoding和encoding的值,若不同则调用iconv将文件内容转换为encoding所描述的字符编码方式,并且把转换后的内容放到为此文件开辟的buffer里,完成后就可以开始编辑这个文件。
       最后、编辑完成后保存文件时,再次对比fileencoding和encoding的值。若不同再次调用iconv将即将保存的buffer中的文本转换为fileencoding所描述的字符编码方式,并保存到指定的文件中。
       注:需要调用外部的iconv.dll,需要保证这个文件存在于$VIMRUNTIME或者其他列在PATH环境变量中的目录里。

written by Yousri \\ tags: , ,

17

     
刚刚一个朋友发来QQ消息问我用过可以设置自动关机的播放器么///额,自己倒是还没用过,原来她是想开着机子放音乐伴随着歌声入睡然后自动关机,自己只
在linux下使用命令设置定时关机,在windows下倒是貌似比较少用过这类附带有这类功能的软件便是,最多也就用一些批处理.bat脚本来定制实现
的吧。。。。后来就也只能用这个分享给她用啦///呵呵,其实也挺简单方便的,所以这里贴出来共享下(谁写忘记,因为当初也是朋友分享于我)

     实现的主要功能包括:定时关机、倒计时关机、删除定时关机任务、查看任务状态、重启、注销、锁定计算机等

@ECHO off
TITLE greaterthanme-实现定时关机、注销、重启、锁定等功能。
 
:start
CLS
COLOR 1f
rem 使用COLOR命令对控制台输出颜色进行更改
MODE con: COLS=41 LINES=18
rem MODE语句为设定窗体的宽和高
set tm1=%time:~0,2%
set tm2=%time:~3,2%
set tm3=%time:~6,2%
ECHO %date% %tm1%%tm2%%tm3%ECHO =========================================
ECHO 请选择要进行的操作,然后按回车
ECHO ───────────────
ECHO.
ECHO 1. 定时关机
ECHO 2. 倒计时关机
ECHO 3. 删除定时关机任务
ECHO 4. 查看任务状态
ECHO 5. 刷新当前时间
ECHO 6. 重新启动
ECHO 7. 锁定计算机
ECHO 8. 注销
ECHO 9. 退出
ECHO.
 
:cho
SET Choice=
SET /P Choice=选择:
rem 设定变量"Choice"为用户输入的字符
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%
rem 如果输入大于1位,取第1位,比如输入132,则返回值为1
ECHO.
IF /I "%Choice%"=="1" GOTO SetHour
IF /I "%Choice%"=="2" GOTO outtime
IF /I "%Choice%"=="3" GOTO delAt
IF /I "%Choice%"=="4" GOTO view
IF /I "%Choice%"=="5" GOTO start
IF /I "%Choice%"=="6" GOTO restart
IF /I "%Choice%"=="7" GOTO lock
IF /I "%Choice%"=="8" GOTO logoff
IF /I "%Choice%"=="9" GOTO end
rem 为避免出现返回值为空或含空格而导致程序异常,需在变量外另加双引号
rem 注意,IF语句需要双等于号
rem 如果输入的字符不是以上数字,将返回重新输入
ECHO 选择无效,请重新输入
ECHO.
GOTO cho
 
:SetHour
CLS
ECHO.
SET ask=
SET /p ask=是否设定为每天执行关机命令(y/n):
IF NOT "%ask%"=="" SET ask=%ask:~0,1%
IF /I "%ask%"=="y" GOTO yes
IF /I "%ask%"=="n" GOTO no
GOTO SetHour
 
:yes
ECHO 请指定24小时制式时间,格式为 小时:分钟
SET shutdowntime=
SET /p shutdowntime=输入:
at %shutdowntime% /every:M,T,W,Th,F,S,Su tsshutdn 0 /delay:0 /powerdown >nul
rem 设定为每周的星期一至星期日,即为每天
IF NOT errorlevel 1 GOTO ok
rem 如果输入正确,就执行ok段的语句
ECHO %shutdowntime% 不是标准的时间格式,请重新输入
ECHO.
GOTO yes
 
:no
ECHO 请指定24小时制式时间,格式为 小时:分钟
SET shutdowntime=
SET /p shutdowntime=输入:
at %shutdowntime% tsshutdn 0 /delay:0 /powerdown >nul
IF NOT errorlevel 1 GOTO ok
ECHO %shutdowntime% 不是标准的时间格式,请重新输入
ECHO.
GOTO no
 
:ok
ECHO.
SET h=%shutdowntime:~1,1%
SET ah=%shutdowntime:~0,1%
SET am=%shutdowntime:~2,2%
SET bh=%shutdowntime:~0,2%
SET bm=%shutdowntime:~3,2%
IF "%h%"==":" (
SET HM=%ah%%am%) ELSE (
SET HM=%bh%%bm%)
rem 如果输入h:mm则HM=h时mm分,否则HM=hh时mm分
IF /I "%ask%"=="y" ECHO 系统将于每天的%HM%关闭
IF /I "%ask%"=="n" ECHO 系统将于%HM%关闭
ECHO 设定完毕! 按任意键继续...
PAUSE >nul
GOTO start
 
:outtime
CLS
ECHO.
ECHO 请输入倒计时秒数
ECHO ────────
ECHO (设定后要取消,单击"确定"后按Ctrl+C键两次)
SET timed=
SET /p timed=输入:
tsshutdn %timed% /delay:0 /powerdown >nul
IF not errorlevel 1 GOTO ok
ECHO %timed% 是无效的关机时间,请重新输入
ECHO.
GOTO outtime
 
:delAt
cls
echo.
at /del /y
echo 定时关机任务已取消,按任意键继续...
pause >nul
GOTO start
 
:view
MODE con: COLS=85 LINES=18
COLOR 70
ECHO.
at
ECHO 按任意键继续...
PAUSE >nul
GOTO start
 
:restart
shutdown -r -t 0
 
:lock
rundll32.exe user32.dll,LockWorkStation
goto start
 
:logoff
logoff
 
:end
exit

written by Yousri \\ tags: , ,