一些命令及参数

du -sh:查看某文件大小

sh -x 脚本名称:检测脚本错误

vim +行数:定位到内容的错误行数

dir 目录 查看目录

factor 分解因数

exit 直接结束循环体

break 结束整个循环体(最近一个循环)跳出当前循环

continue 结束当次循环,进入下一次循环

reture(函数里用到)从哪调用函数回哪

 nl 读取文件内容并显示行号

cat -n 查看并显示行号

查看cpu相关信息:cat /proc/cpuinfo

at /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l   #物理cpu个数

cat /proc/cpuinfo | grep "processor" | wc -l  #逻辑cpu个数(所有物理cpu所有核数相加)

查看内存 free

buffers:buffer cache针对磁盘块读写的磁盘缓存大小

cached:cached cache针对文件inode读写的磁盘缓存大小

-buffers/cache:真正被用于程序占用的内存数(used-buffers-cached)

+buffers/cache:可用的内存数(free+buffers+cache)

查看硬盘使用情况

分区信息 fdisk -l     文件系统  df

df -m 以m方式显示 -k kb方式显示 -h 以kb/mb/gb显示  -i 以inode数量显示 -a 显示所有文件系统 -T显示文件系统类型 -H以1024=1000方式显示

查看目录大小 du    -s显示总量  -S不包括子目录 -a显示所有 -c总计 -h -m -k

查看硬盘的I/O性能  iostat

iostat -x -k 1 3 #每秒一次共三次

%util:一秒中I/O操作时间的百分比,即一秒内有多少时间I/O队列是非空的,若接近%100表示I/O请求过多,超负荷,磁盘存在瓶颈

await:平均每次设备I/O操作的等待时间,一般应低于5ms,若大于5ms表示磁盘I/O压力大,应升级硬件或调优

查看系统平均负载 uptime   w   top

主要是load average 1分钟 5分钟 15 分钟的平均进程的数量 

top可以查看进程优先级,cpu使用率,内存使用率

top -b -n1 >/top.txt 导入一个文件中再查看 cat /top.txt

VIRT #虚拟内存用量

RES #物理内存用量

SHR #共享内存用量

%MEM #内存用量

系统整体性状态    vmstat

jstack

jstack用于打印出给定的java进程ID或core file或远程调试服务的java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64"

,windows的jstack使用方式只支持一下的这种方式:

jstack [-l] pid

如果java程序崩溃生成core文件,jstack工具可以用来获取core文件的java stack和native stack的信息,从而可以轻松知道java程序是如何崩溃和在程序何处发生问题。另外,jstack工具还可以附属在正在运行的java程序中,看到当时运行的java程序的java stack和native stack的信息,如果现在运行的java程序呈现hung的状态,jstack是非常有用的

格式

jstack [option] pid

jstack [option] executable core

jstack [option] [server-id@]remote-hostname-or-IP

参数说明

option:executable java executable from which the core dump was produced(可能是产生core dump的java可执行程序)

core将被打印信息的core dump文件

remote-hostname-or-IP远程debug服务的主机名或ip

server-id唯一id,假如一台主机上多个远程debug服务

说明:

-F:当‘jstack[-l]pid’没有相应的时候强制打印栈信息

-l:长列表,打印关于锁的附加信息,例如属于java.util.concurrent的ownable synchronizers列表

-m:打印java和native c/c++框架的所有栈信息

-h | -help:打印帮助信息

pid:需要被打印配置信息的java进程id,可以用jps查询

dmesg

dmesg命令被用于检查和控制内核的环形缓冲区。kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息保存在/var/log/dmesg文件里

-c:显示信息后,清除ring buffer中的内容;

-s<缓冲区大小>:预设置为8196,刚好等于ring buffer的大小;

-n:设置记录信息的层级

dmidecode命令可以让你在Linux系统下获取有关硬件方面的信息

来自: http://man.linuxde.net/dmesg

 查询某命令来自光盘镜像源里的哪个软件包 yum provides */scp

校准系统时间 date 12211604 格式读作 12月21日16点04分

创建用户免交互输入密码方式:echo "密码" | passwd --stdin 用户名 & > /dev/null

针对系统的一些参数查看方法

查看linux系统有几颗物理cpu和每颗cpu的核数

cat /proc/cpuinfo | grep -c "physical id" #查看几颗cpu    grep -c "processor" #查看逻辑cpu核数

cat /proc/cpuinfo | grep "physical id " | sort | uniq | wc -l   #物理cpu个数

cat /proc/cpuinfo | grep "cpu cores" | uniq  #每个cpu核数

查看系统负载

命令:w/uptime  #load average 就是系统负载 三数值表示 1min 5min 15min内系统的平均负载(平均任务数)

vmstat显示分别表示什么意思

r #正在跑的任务数

b #被阻塞的任务数

si #从交换分区读入内存

so #从内存写入交换分区

bi #从磁盘读入内存

bo #从内存写入磁盘

 查看网卡流量/查看历史网卡流量

安装sysstat 使用sar命令查看

sar -n DEV #查看网卡流量,默认以10min更新一次

sar -n DEV 1 10 #1s显示一次,一共显示10次

sar -n DEV  -f /var/log/sa/sa22 #查看指定日期的流量日志

系统进程

ps aux /ps -elf

ps查看系统进程,一列为STAT 当前进程的stat为Ss /Z表示:

S #表示休眠 s #表示主进程 Z #表示僵尸进程

查看端口

netstat -lnp

查看网络连接状态

netstat -an

hostname #查看主机名  hostname 主机名   #修改主机名     永久生效就需要修改配置 /etc/sysconfig/network

设置DNS修改配置文件:/etc/resolv.conf 中设置  或者 /etc/sysconfig/network-scripts/网卡名  里设置

iptables 一条规则拒绝ip 访问本机80端口:

iptables -I INPUT -s ip地址 -p tcp --dport 80 -j REJECT

iptables 规则导出保存一个文件中/恢复:

使用iptables-save重定向到文件中:iptables-save > 1.ipt

使用iptables-restore反重定向回来:iptables-restore < 1.ipt

 检查网卡是否连接交换机:mii-tool 网卡名       /mii-tool 网卡名

网卡/硬盘有问题使用命令dmesg

关闭不需要的服务命令ntsysv/chkconfig servicename off

一个脚本运行超过2天,要使其不间断运行且有 信息输出 使用screen工具

抓包只过滤访问http服务的+ip,共1000个包且保存到一个文件中 tcpdump -nn -s0 host ip地址 and port 80    -c 1000 -w 文件名

rsync做同步数据时,可以过滤一些不需要的文件  --exclude=  "文件名"

rsync同步时,目标 文件比源文件还新,要忽略 使用-u或者--update

要访问 某个网站没有做网站域名解析  在/etc/hosts 文件中            做映射   格式为:ip  域名  或者使用curl -x

查看系统的历史负载    sar -q -f       /var/log/sa/sa日期

指定DNS服务器来解析某个域名    使用dig命令 :dig @DNSip 域名

rsync同步数据,使用ssh方式 指定目标sshd端口 :rsync "--rsh=ssh -p 端口"或者rsync -e "ssh -p 端口"

ls | grep -Ev 'home' | xargs du -sh #统计除家目录外的其他目录文件大小
du -sh* #统计当前目录内的文件大小
df -vh #查看磁盘使用情况

dmesg -H #存放硬件故障信息,“Kernel Ring Buffer ”(内核环状缓冲区)

文件系统:指定调整的文件系统或者其对应的设备文件名

e2label  位置/sbin/e2label  用来设置第二扩展文件系统的卷标

tune2fs 位置/sbin/tune2fs   tune2fs命令允许系统管理员调整“ext2/ext3”文件系统中的可该参数

磁盘的uuid位置及查看它们之间的关系

ls -l /dev/disk/by-uuid/

 nohup命令 用户退出系统进程继续工作

nohup命令可以将程序以忽略挂起信号的方式运行起来,被运行程序的输出信息将不会显示到终端。

无论是否将nohup命令的输出重定向到终端,输出都将写入到当前目录的nohup.out文件中。如果当前目录的nohup.out文件不可写,则输出重定向到$HOME/nohup.out文件中

strace跟踪进程的系统调用

 strace -tt -f -o /tmp/test.txt /usr/local/nginx/sbin/nginx     -tt 加上时间信息 -f 跟踪目标进程及目标的进程产生的子进程 -o将跟踪到的信息输出到目标文件中

-e trace=file 只跟踪与文件操作有关的系统调用

-c 为进程所有的系统调用做一个统计分析

-T 将每个系统调用所花费的时间打印出来

ltrace 跟踪进程调用库函数

echo -e 处理特殊字符

echo- n 不换行输出

原文地址:https://www.cnblogs.com/luozhongyuan/p/7227414.html