zoukankan      html  css  js  c++  java
  • linux日常使用指令总结

    linux 日常指令总结(ubuntu):

    • ls -lha 所有文件及权限
    • ls -lsh;-lrsh 修改日期降序;升序
    • df -h 系统磁盘空间
    • du -sh 当前目录大小
    • du -ah --max-depth=1 显示目录下所有的文件和文件夹(不含子目录)所占空间
    • mv file_a file_b 重命名文件
    • #查看服务器版本ubuntu:lsb_release -a;uname -a
    • ps -aux | grep python (或者-ef 不同风格而已) 查看相关关键字进程
    • ls -la /proc/pid/fd  某个进程打开了哪些文件
    • netstat -tunlp | grep 8001 ; lsof -i:8001 查看端口占用
    • lsof | grep tcpdump.log  cp /proc/2864/fd/4 /root/tcpdump.log 找回被删除了但被一个进程打开的文件 (i_count 内存引用计数;i_nlink硬盘引用计数 都为0才被真删除)
    • ifconfig 查看ip
    • kill -9 pid 强制结束
      #后台运行程序
    • nohup python -u gen_data.py > out.log 2>&1 &
      #以其他用户执行程序
    • sudo -i -u jenkins python ..
    • tar -zxvf asdji.gz 解压
    • tar -zcvf asdasd.gz /etc 打包
    • find . -name filename* 查找当前文件夹下的文件(第二参数为要查找的路径)
    • free -mt 查看内存(单位为MB) total = userd+free+buffer+cache
        ※buffer 是os缓存的将要写入的文件 目的讲分散的写操作集中进行 减少磁盘碎片反复寻道
        cache是os缓存的读入的文件
     
      ulimit配置
    • ulimit -a 查看ulimit配置
    • ulimit -n 65535
      Linux系统里打开文件描述符的最大值 nginx服务器配置常用最大值
          设置各linux 用户的最大进程数,把某linux用户的最大进程数设为10000个: 
          ulimit -u 10000 
          数据段长度:ulimit -d unlimited 
          最大内存大小:ulimit -m unlimited 
          堆栈大小:ulimit -s unlimited 
          CPU 时间:ulimit -t unlimited 
          虚拟内存:ulimit -v unlimited 
     

      磁盘io及cpu使用情况

    • iostat
    • iostat -d -k 1 10 #查看TPS和吞吐量信息(磁盘读写速度单位为KB)
    • iostat -d -m 2 #查看TPS和吞吐量信息(磁盘读写速度单位为MB)
    • iostat -d -x -k 1 10 #查看设备使用率(%util)、响应时间(await)iowait 不能超30
    • iostat -c 1 10 #查看cpu状态
     
     
          rsync 拷贝文件
      1,本地模式:
        rsync -avz -P /etc ~/tmp/
        /etc 和/etc/的区别,/etc是复制的时候包含etc这个目录和下面的文件,而第二个则只是复制etc下面的所有文件 
      2,本地推送模式: 
        格式:rsync -选项 -本地源文件 -远程文件夹 
        使用-e 参数借助ssh隧道协议将本地的文件推送到目的服务器:
        rsync -avz -P /home/test -e "ssh -p 22" user01@192.168.0.108:/home/tmp/
      3,远程抓取模式 
        格式:rsync -选项 -远程文件夹 -本地目录
        rsync -avz -P -e "ssh -p 22" user01@192.168.0.108:/tmp/test ./tmp/
     

      apt-get 修改源:

      1,sudo vim /etc/apt/sources.list

      2,将原来的列表删除,添加如下内容(中科大镜像源)

      deb http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
      deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
      deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
      deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
      deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
      deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
      deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
      deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
      deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
      deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse

      3,运行sudo apt-get update

      免密ssh远程服务器:
      1,在远程服务器中添加用户(最好与本机统一命名)并放入sudo组中
      2,生成公钥
        ssh-keygen -t rsa
      3,拷贝公钥到服务器(第一次需要输入密码)
        ssh-copy-id adam@10.11.3.230
     
     
      top指令查看综合状况cpu,内存:
     
      top (后输入M以内存使用情况进行排序)
      top -bn 1 -i -c 执行一次获得cpu和内存 

      第一行:

    • 10:01:23 — 当前系统时间
    • up 126 days, 14:29 — 系统已经运行时间(在这期间没有重启过)
    • 2 users — 当前有2个用户登录系统
    • load average: 1.15, 1.42, 1.44 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
      ※load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果长时间该数据值大于逻辑CPU的数量过多,就表明系统在超负荷运转了。
      cpu详解:
    • 查看cpu个数
    • cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
    • 查看每个cpu的核数
    • cat /proc/cpuinfo| grep "cpu cores"| uniq
    • 查看逻辑cpu总数
    • cat /proc/cpuinfo| grep "processor"| wc -l
       CPU总核数 = 物理CPU个数 * 每颗物理CPU的核数 
      总逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程数
     
      第二行:
       Tasks — 任务(进程),系统现在共有183个进程,其中处于运行中的有1个,182个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
       僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵死进程。
       孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。
     
      第三行:cpu状态
    • 6.7% us — 用户空间占用CPU的百分比。
    • 0.4% sy — 内核空间占用CPU的百分比。
    • 0.0% ni — 改变过优先级的进程占用CPU的百分比
    • 92.9% id — 空闲CPU百分比
    • 0.0% wa — IO等待占用CPU的百分比
    • 0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比
    • 0.0% si — 软中断(Software Interrupts)占用CPU的百分比
      第四行:内存状态
     
    • 8306544k total — 物理内存总量(8GB)
    • 7775876k used — 使用中的内存总量(7.7GB)
    • 530668k free — 空闲内存总量(530M)
    • 79236k buff/cache — 缓存的内存量 (79M)
     
      第五行:swap交换分区
    • 2031608k total — 交换区总量(2GB)
    • 2556k used — 使用的交换区总量(2.5M)
    • 2029052k free — 空闲交换区总量(2GB)
     
      swap说明:
      一般swap指的是一个交换分区或文件。功能上讲,交换分区主要是在内存不够用的时候,将部分内存上的数据交换到swap空间上,以便让系统不会因内存不够用而导致oom或者更致命的情况出现。当内存使用存在压力,开始触发内存回收的行为时,就可能会使用swap空间。
      swapon -s 查看当前系统上正在使用的交换空间信息
     
      网络情况:
    • netstat -tunlp | grep 8080 查看端口占用
    • netstat -nat|grep ESTABLISHED|wc -l 查看系统并发连接数
    • netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 查看所有连接状况
     
     
      状态描述
    • CLOSED:无连接是活动的或正在进行
    • LISTEN:服务器在等待进入呼叫
    • SYN_RECV:一个连接请求已经到达,等待确认
    • SYN_SENT:应用已经开始,打开一个连接
    • ESTABLISHED:正常数据传输状态
    • FIN_WAIT1:应用说它已经完成
    • FIN_WAIT2:另一边已同意释放
    • ITMED_WAIT:等待所有分组死掉
    • CLOSING:两边同时尝试关闭
    • TIME_WAIT:另一边已初始化一个释放
    • LAST_ACK:等待所有分组死掉
     
     
     

  • 相关阅读:
    使用ANT入门例子
    React 项目中使用create-react-app创建项目引入antd样式不起作用的问题
    js中对象数组遍历,及区别
    vue中axios封装
    uni-app中开发需要注意事项
    git 提交代码和 合并分支 ,回滚代码
    vue..js3.0
    vue中强制组件重新渲染
    vuex中获取当前路由
    H5 video在移动端播放层级问题
  • 原文地址:https://www.cnblogs.com/dxf813/p/8404753.html
Copyright © 2011-2022 走看看