• 常用linux命令


    ~

    1. 查看进程树

       ptree -p | grep httpd    
      
    2. 获取指定名称的进程并杀掉

       #!/bin/bash
       if [ ! -n "$1" ] ;then
         echo "Please enter a keyword!"
         exit
       else
         NAME=$1
         echo "You are looking up $NAME"
       fi
       echo my pid=$$
      
       # 获取指定程序的PID
       # 方法一
       # grep -v 表示不匹配,这里是过滤掉结果中的grep命
       # $$表示子shell进程的PID,也要过滤掉
       # $PPID子进程的父进程ID
       # $UID当前用户ID
       # bash内置变量可以参考man bash
       # ID=`ps -ef | grep "$NAME" | grep -v grep | grep -v "$$" | awk '{print $2}'`
       # 方法二
       ID=`pgrep "$NAME"`
       # 其他
       # egrep可以一次查找多个字符,例如:ps -ef | egrep "redis|rabbit"
      
       echo ID=$ID
       echo "--------------"
       for id in $ID
       do
         # kill -9 
         echo $id
       done
       echo "--------------"
      
    3. ls显示文件大小带上单位

       ls -l
       # use a long listing format
       
       ls -lh
       # -h, --human-readable
       #      with -l, print sizes in human readable format (e.g., 1K 234M 2G)
       
       ls -l --block-size=k
       ls -l --block-size=m
       ls -l --block-size=g
      
    4. 查看磁盘空间

       # 磁盘
       df -hl
       
       # 查看目录大小
       du -bs dir_name
       
       # 查看当前目录大小
       du -sh *
       
       # 查看当前目录下各文件大小
       du -sh /*
      
    5. top命令详解

    6. 计算列表平均值

      cat nohup.out | awk -F ' ' '{sum+=$3} END {print "Average=",sum/NR}'
      
    7. linux下通过命令编译、执行java程序

      java -cp ./lib/fastjson-1.2.29.jar MyClass.java
      java -classpath .:/usr/java/jdk1.7.0_79/lib:./lib/fastjson-1.2.29.jar MyClass.java
      # -cp与-classpath是一个意义,它们只能指定具体的jar包,不能指定目录或者通配符。
      # 如果要指定目录,需要使用-Djava.ext.dirs,但是-Djava.ext.dirs默认是加载jre/lib/ext下的jar包的,所以为了避免加载了自定义指定的jar包而导致jre自带的jar不加载,可以这么使用:
      java -Djava.ext.dirs=./plugin:$JAVA_HOME/jre/lib/ext -classpath .:/usr/java/jdk1.7.0_79/lib:./lib/fastjson-1.2.29.jar MyClass.java
      # 注意linux使用冒号“:”分割,windows使用分号“;”分割
      
    8. 查看TCP

      netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
      
    9. 下载文件并支持断点续传

      curl -C - -O https://dl.google.com/go/go1.14.1.linux-amd64.tar.gz
      # 注意 -C 和 -O之间有一个 - 符号
      
    10. 一些命令

      uname -a # 查看内核/操作系统/CPU信息的linux系统信息
      head -n l /etc/issue # 查看操作系统版本
      cat /proc/cpuinfo # 查看CPU信息
      hostname # 查看计算机名的linux系统信息命令
      lspci -tv # 列出所有PCI设备
      lsusb -tv # 列出所有USB设备的linux系统信息命令
      lsmod # 列出加载的内核模块
      env # 查看环境变量资源
      free -m # 查看内存使用量和交换区使用量
      df -h # 查看各分区使用情况
      du -sh # 查看指定目录的大小
      grep MemTotal /proc/meminfo # 查看内存总量
      grep MemFree /proc/meminfo # 查看空闲内存量
      uptime # 查看系统运行时间、用户数、负载
      cat /proc/loadavg # 查看系统负载磁盘和分区
      mount | column -t # 查看挂接的分区状态
      fdisk -l # 查看所有分区
      swapon -s # 查看所有交换分区
      hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
      dmesg | grep IDE # 查看启动时IDE设备检测状况网络
      ifconfig # 查看所有网络接口的属性
      iptables -L # 查看防火墙设置
      route -n # 查看路由表
      netstat -lntp # 查看所有监听端口
      netstat -antp # 查看所有已经建立的连接
      netstat -s # 查看网络统计信息进程
      ps -ef # 查看所有进程
      top # 实时显示进程状态用户
      w # 查看活动用户
      id # 查看指定用户信息
      last # 查看用户登录日志
      cut -d: -f1 /etc/passwd # 查看系统所有用户
      cut -d: -f1 /etc/group # 查看系统所有组
      crontab -l # 查看当前用户的计划任务服务
      chkconfig –list # 列出所有系统服务
      chkconfig –list | grep on # 列出所有启动的系统服务程序
      rpm -qa # 查看所有安装的软件包
      cat /proc/cpuinfo :查看CPU相关参数的linux系统命令
      cat /proc/partitions :查看linux硬盘和分区信息的系统信息命令
      cat /proc/meminfo :查看linux系统内存信息的linux系统命令
      cat /proc/version :查看版本,类似uname -r
      cat /proc/ioports :查看设备io端口
      cat /proc/interrupts :查看中断
      cat /proc/pci :查看pci设备的信息
      cat /proc/swaps :查看所有swap分区的信息

  • 相关阅读:
    第四篇博客
    第三篇博客
    第二篇博客
    DS博客作业04--图
    DS博客作业03--树
    DS博客作业02--栈和队列
    C博客作业05--指针
    C博客作业04-数组
    C语言博客作业03--函数
    C语言博客作业02--循环结构
  • 原文地址:https://www.cnblogs.com/liqipeng/p/7566546.html
Copyright © 2020-2023  润新知