linux常用命令合集

记录所有常用命令。

常用命令

ps -f 查看进程运行时的命令

ps auxf 查看进程信息
  a:显示所有用户的所有进程
  u:按用户名和启动时间的顺序来显示进程
  x:显示无控制终端的进程
  f:用树形格式来显示进程
  -f:全格式
  -e:显示所有进程,环境变量

ps -ef 可找到父进程,可用于杀死僵尸进程

kill -9 PPID 强制杀死进程

kill -9 % 强制杀死上条命令的进程

du -h --max-depth=1 查看目录及文件使用情况

df -h ./ 查看当前磁盘状态

ln -s f1 f3 创建f1的一个符号连接文件f3(软连接)

ln f1 f2 创建f1的一个硬连接文件f2

vncserver -geometry 1920x1280 创建vnc端口

diff -ruNa s1 s2 > s12.diff 比较两个目录下的文件

diff -x ".svn" -urN foo/ bar/ 忽略路径中包含.svn的文件

grep -E "http" ./ -R --exclude-dir=.git 查找目录下文件内容,忽略.git目录下文件

grep -E "http" ./ -R --exclude-dir={.git,.svn} 查找目录下文件内容,忽略.git .svn目录下文件

grep -E "http" ./ -R --exclude-dir=*.{java} 查找目录下文件内容,忽略*.java目录下文件

tree -ef 显示目录结构

tree -d 只显示目录

cp -v 显示执行过程

tar -zcvf xx.tar.gz dir 压缩

tar -zxvf xx.tar.gz 解压缩

chmod -R a+r dir 目录下所有文件增加读权限
  u:user
  g:group
  o:other
  a:所有用户
  r:读权限,数字代号4
  w:写入权限,数字代号2
  x:执行权限,数字代号1

wc -l 计算行号

2>/dev/null 忽略掉错误信息

命令详解

ls

ls参数如下:

  • -a 显示所有文件及目录 (ls内定将文件名或目录名称开头为”.”的视为隐藏档,不会列出)
  • -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
  • -r 将文件以相反次序显示(原定依英文字母次序)
  • -t 将文件依建立时间之先后次序列出
  • -A 同 -a ,但不列出 “.” (目前目录) 及 “..” (父目录)
  • -F 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/“
  • -R 若目录下有文件,则以下之文件亦皆依序列出

组合命令

find ./ -name "*.sv" | xargs grep aaa 搜索所有sv文件里面的aaa

find -type d|grep .svn$ | xargs rm -r 删除所有.svn目录

ls * | wc -l 计算文件个数

ps -A -o stat,user,ppid,pid,cmd|grep -e '^[Zz]' 查看所有僵尸进程
  其中显示的含义
  VS2:虚拟内存大小
  RSS:内存大小
  START:启动时间
  STAT:状态
    D:无法中断的休眠状态
    R:正在运行,在可中断队列中
    S:休眠状态,静止状态
    T:停止或被追踪,暂停执行
    W:进入内存交换
    X:死掉的进程
    Z:僵尸进程,不存在但暂时无法消除