linux命令备忘

文件磁盘

  •   统计某个目录下所有的shtml文件个数:
      ls -R | grep -c -P '[\w]+\.shtml'
  •   查看磁盘使用情况:
      df
  •   查看某个目录总大小:
      du -sh {路径} 
  •   文件过滤+全文搜索(在某个目录下的所有某种类型的文本文件中查找某个关键字)
      find {目录} -name "*.h" -exec cat {} \; | grep "{关键字}"
  •   例如在当前目录下的所有头文件中(递归)查找包含CONFDIR的行
      find . -name "*.h" -exec cat {} \; | grep "CONFDIR"
  •   ls命令常用选项。
      ls -1 #每个文件或目录单独占用一行,也就是只有一列,注意这个是123的1,不是字母l
      ls -l #列出文件的详细信息,注意第一个字符显示了文件类型,比如-是普通文件,d是目录等
  •   mkdir命令常用选项。
      mkdir -p /test/test1 #递归创建目录
      mkdir /test/{dir1,dir2,dir3} #一次性创建多个目录
  •   压缩命令。
     
    zip -r data.zip dir   #-r标识递归,data.zip是压缩文件的名字,dir是要压缩的目录,当然后面可以跟上若干目录或文件
      tar -zcvf data.tar.gz dir #z标识增加zip压缩,如果只需要压缩成tar,可以去掉。c是压缩,解压缩是x。
  •   删除目录下符合某个格式的文件。
      ls *.2012-* | xargs rm  #log4j的历史文件一般都会加个日期后缀,此命令可以删除历史日志

网络管理:

  • 监听网络包:
    tcpdump -i en1 src host 192.168.1.101 #监听设备en1上从192.168.1.101 发出的包
    tcpdump -vv -i en1 tcp port 80 #监听设备en1上发送或接收端口是80的所有tcp包
  • 查看本级外网ip:
    curl ifconfig.me

系统管理: 

  • 查看发行版本号:
     cat /etc/issue
     结果:Ubuntu 10.04.4 LTS \n \l
  • 查看内核版本等信息:
    uname -a
    结果:Linux xx-desktop 2.6.32-38-generic #83-Ubuntu SMP Wed Jan 4 11:13:04 UTC 2012 i686 GNU/Linux
    cat /proc/version
    结果:Linux version 2.6.32-38-generic (buildd@zirconium) (gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) ) #83-Ubuntu SMP Wed Jan 4 11:13:04 UTC 2012
  • 查看上次登录用户历史信息:
    last
语法:
  • 并行执行两个命令:
    {cmd1} & {cmd2}
    例如 ls & ls ../ 将同时列出当前目录和父目录的文档,结果可能交叉,也可能父目录的列表先与当前目录的显示。
  • 串行执行两个命令:
    {cmd1} && {cmd2}
    例如 ls && ls ../ 将先后列出当前目录和父目录的文档。
    注意: 当前一个命令执行失败时,后面的命令不会执行,因为&&其实是逻辑与,这个和c、java的语法一样的。
  • 命令套命令,换句话就是将一个字命令的结果作为一部分拼接到当前命令:
    `{subCmd}` 
    例如 wc -w `ls` #统计当前目录下文件的单词数
    wc 命令的-w 选项后面一般是文件名或文件名列表,在执行上面命令时`ls` 将被替换成当前目录的文件列表。
    加入当前目录有两个文件,xx1.txt 和 xx2.txt, wc -w `ls` 就等价于 wc -w  xx1.txt xx2.txt
    话说power shell 啥时候能有这功能啊,我都等了n年了,微软真土鳖。 
  • 执行表达式:
    两种方法:let {变量}={表达式} 或者 {变量}=$[ {表达式} ] , 注意第二种格式里面方括号和表达式之间必须有空格。
    例子:
    let x=100*3 && echo $x 
    x=$[ 100*2 ] && echo $x

进程内存:

  • 查看进程:ps
    例子:
    ps - el  #-e表示显示所有进程,-l表示用长格式显示。

  • 查看进程关系:pstree
  • 查看系统进程、内存、负载等状态:tophtop

vim:

  • 查找:命令模式下直接按/,然后输入要查找的字符串,字符串可以是正则表达式。
    例子:
    /^chconfig

  • 替换:命令模式下格式为:%s/{old}/{new}/g,old和new都可以是正则表达式,类似perl
    注意,%表示在当前文档中找,否则只在当前行找,g表示全局替换
    例子:
    :%s/four/4/g

工具:

  • 随机数:下面的命令生成指定长度的16进制随机数。 
    openssl rand -hex 5 #5为随机数长度
  • ...   
posted @ 2011-12-19 14:20  李土鳖  阅读(228)  评论(0编辑  收藏  举报