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:等待所有分组死掉
 
 
 

posted @ 2018-02-02 13:34  六点  阅读(237)  评论(0编辑  收藏  举报