Linux 命令笔记

@(实用开发技巧)
[toc]

统计处于 TIME_WAIT 状态的 TCP 连接数

  1. netstat -ant|grep TIME_WAIT|wc -l

统计 TCP 连接数

  1. netstat -anp |grep tcp |wc -l

CentOS 6 iptables 开放端口80 3306 22

#/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

查看防火墙列表

iptables --list

Centos7 防火墙使用参数

https://www.cnblogs.com/zhangzhibin/p/6231870.html

查看堆使用情况

  1. jmap -heap pid

jvm 查看当前java进程的启动参数

  1. jcmd pid VM.flags or jinfo -flags pid or jmap -heap pid

Doker

查看 doker 容器 :docker ps
docker attach 91cc5f732d83

端口占用

1、lsof -i:端口号
2、netstat -tunlp|grep 端口号

redis操作

查看redis连接密码

需要重启

先找到配置文件的位置:
whereis redis.conf
在配置文件中有个参数: requirepass 这个就是配置redis访问密码的参数;
修改文件 然后重启;

不需要重启

redis-cli
config get requirepass
config set requirepass test123
验证
auth test123
登入
redis-cli -p 6379 -a test123

访问路径

请在redis.conf文件找到如下配置

  1. # If you want you can bind a single interface, if the bind option is not
  2. # specified all the interfaces will listen for incoming connections.
  3. #
  4. # bind 127.0.0.1

0.0.0.0 表示任意地址

查看各文件夹大小命令

Linux中查看各文件夹大小命令du -h --max-depth=1
du [-abcDhHklmsSx] [-L <符号连接>][-X <文件>][—block-size][—exclude=<目录或文件>] [—max-depth=<目录层数>][—help][—version][目录或文件]
常用参数:
-a或-all 为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用情况。
-b或-bytes 显示目录或文件大小时,以byte为单位。
-c或–total 除了显示目录或文件的大小外,同时也显示所有目录或文件的总和。
-D或–dereference-args 显示指定符号连接的源文件大小。
-h或–human-readable 以K,M,G为单位,提高信息的可读性。
-H或–si 与-h参数相同,但是K,M,G是以1000为换算单位,而不是以1024为换算单位。
-k或–kilobytes 以1024 bytes为单位。
-l或–count-links 重复计算硬件连接的文件。
-L<符号连接>或–dereference<符号连接> 显示选项中所指定符号连接的源文件大小。
-m或–megabytes 以1MB为单位。
-s或–summarize 仅显示总计,即当前目录的大小。
-S或–separate-dirs 显示每个目录的大小时,并不含其子目录的大小。
-x或–one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-X<文件>或–exclude-from=<文件> 在<文件>指定目录或文件。
–exclude=<目录或文件> 略过指定的目录或文件。
–max-depth=<目录层数> 超过指定层数的目录后,予以忽略。
–help 显示帮助。
–version 显示版本信息。

占用量top

P:按%CPU使用率排行
  T:按MITE+排行
  M:按%MEM排行
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.
PID:进程的ID
  USER:进程所有者
  PR:进程的优先级别,越小越优先被执行
  NInice:值
  VIRT:进程占用的虚拟内存
  RES:进程占用的物理内存
  SHR:进程使用的共享内存
  S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
  %CPU:进程占用CPU的使用率
  %MEM:进程使用的物理内存和总内存的百分比
  TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
  COMMAND:进程启动命令名称

内存使用情况free

free -h
-b  以Byte为单位显示内存使用情况。
-k  以KB为单位显示内存使用情况。
-m  以MB为单位显示内存使用情况。
-o  不显示缓冲区调节列。
-s<间隔秒数>  持续观察内存使用状况。
-t  显示内存总和列。
-V  显示版本信息。
Mem:表示物理内存统计
total:表示物理内存总量(total = used + free)
used:表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用。
free:未被分配的内存。
shared:共享内存,一般系统不会用到,这里也不讨论。
buffers:系统分配但未被使用的buffers 数量。
cached:系统分配但未被使用的cache 数量。

buffers与cached的区别

对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。
所以从应用程序的角度来说 可用内存=系统free memory+buffers+cached.
buffers是指用来给块设备做的缓冲大小,他只记录文件系统的metadata以及 tracking in-flight pages.
cached是用来给文件做缓冲。
那就是说:buffers是用来存储,目录里面有什么内容,权限等等。