Linux命令大全vue
在平常开发中咱们会作一些服务器部署的工做,对于开发来讲,运维部署并非咱们的专项;有些命令不是常用,很快就会忘记;在这总结一下平常部署时经常使用的一些运维命令。node
tail 命令可用于查看文件的内容,有一个经常使用的参数 -f 经常使用于查阅正在改变的日志文件。linux
命令格式:ios
tail [参数] [文件]
参数:web
示例正则表达式
通常咱们及时使用-f参数实时监控服务器日志。shell
ll并非linux下一个基本的命令,它其实是ls -l的一个别名。编程
Ubuntu默认不支持命令ll,必须用 ls -l,这样使用起来不是很方便。json
一、文件类型centos
二、文件属性
三、目录/文件个数
对于目录文件,表示它的第一级子目录的个数。注意此处看到的值要减2才等于该目录下的子目录的实际个数。4
四、全部者/分组
表示该文件的全部者/建立者(owner)及其所在的组(group)。
五、文件大小
若是是文件,则表示该文件的大小,单位为字节。
若是是目录,则表示该目录符所占的大小,并不表示该目录下全部文件的大小。
六、修改日期
该文件最后修改的日期时间。
七、文件名称
centos下的ln
命令就至关于window下的创建快捷方式,连接文件甚至能够连接不存在的文件,这就产生通常称之为”断链”的现象,连接文件甚至能够循环连接本身。 相似于编程语言中的递归。
软连接文件只是其源文件的一个标记,当删除了源文件后,连接文件不能独立存在,虽然仍保留文件名,但却不能查看软连接文件的内容了。
ln -s 源文件 目标文件
ln -s /opt/soft/node-v8.9.0-linux-x64/bin/vuepress /usr/bin
-s 是代号(symbolic)的意思
参数
cp [选项] 源文件(source) 目标文件或者目录(destination)
cp -f package.json ./backup
mv [选项] source destination
Linux free命令用于显示内存状态。
free指令会显示内存的使用状况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。
语法
free [-bkmotV][-s <间隔秒数>]
参数说明:
-h 以合适的单位显示内存使用状况,最大为三位数,自动计算对应的单位值。单位有:
B = bytes K = kilos M = megas G = gigas T = teras
Men:表示物理内存统计
Swap:表示硬盘上交换分区的使用状况
total:表示物理内存总数(total=used+free)
used:表示系统分配给缓存使用的数量(这里的缓存包括buffer和cache)
free:表示未分配的物理内存总数
shared:表示共享内存
buffers:系统分配但未被使用的buffers 数量。
cached:系统分配但未被使用的cache 数量。
-/+ buffers/cache:表示物理内存的缓存统计
(-buffers/cache) 内存数: (指的第一部分Mem行中的used – buffers – cached)
(+buffers/cache) 内存数: (指的第一部分Mem行中的free + buffers + cached)
(-buffers/cache)表示真正使用的内存数, (+buffers/cache) 表示真正未使用的内存数
vmstat(Virtual Meomory Statistics,虚拟内存统计)是对系统的总体状况进行统计,包括内核进程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。
经常使用命令
vmstat 2 2 【在2秒时间内进行2次采样】
参数
Procs(进程):
Memory(内存):
Swap:
IO:(如今的Linux版本块的大小为1024bytes)
system(系统):
CPU(以百分比表示):
top命令能够实时动态地查看系统的总体运行状况,是一个综合了多方信息监测系统性能和运行信息的实用工具
使用权限:全部使用者。
语法
top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
参数说明:
mpstat是 Multiprocessor Statistics的缩写,是实时系统监控工具。其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中。在多CPU系统里,其不但能查看全部CPU的平均情况信息,并且可以查看特定CPU的信息。
经常使用命令
mpstat -P ALL 2 【ALL表示显示全部CPUs,也能够指定某个CPU;2表示刷新间隔】
参数
ps命令用于查看进程统计信息
经常使用参数:
最经常使用的方法是ps -aux,而后再利用一个管道符号导向到grep去查找特定的进程,而后再对特定的进程进行操做。
列说明:
| 符号,是个管道符号,表示ps 和 grep 命令同时执行;
grep 命令是查找(Global Regular Expression
Print),能使用正则表达式搜索文本,而后把匹配的行显示出来;
查看进程的启动时间:
ps -eo lstart 启动时间
查看进程的运行时间
ps -eo etime 运行多长时间.
查看进程的pid、启动时间、运行时间
ps -eo pid,lstart,etime | grep [ pid ]
以树状图的方式展示进程之间的派生关
查找正在运行进程的PID
uptime:显示系统总共运行了多长时间和系统的平均负载
pmap:比较专业的查看内存与进程对应关系工具
Linux du命令用于显示目录或文件的大小。
du会显示指定的目录或文件所占用的磁盘空间。
参数说明:
ostat是一个用于收集显示系统存储设备输入和输出状态统计的简单工具。这个工具经常用来追踪存储设备的性能问题,其中存储设备包括设备、本地磁盘,以及诸如使用NFS等的远端磁盘。
经常使用命令:
iostat -x -k 2 100 # 2表示刷新间隔,100表示刷新次数
iostat主要是用来监控磁盘I/O,首先输出了CPUs的平均数据(avg-cpu),咱们能够看%iowait这一项,除此以外iostat还提供了一些更详细的I/O状态数据
参数
SAR是一个在Unix和Linux操做系统中用来收集、报告和保存CPU、内存、输入输出端口使用状况的命令。SAR命令能够动态产生报告,也能够把报告保存在日志文件中。
经常使用命令
sar -n DEV 3 100
参数
netstat命令通常用于检验本机各端口的网络链接状况,用于显示与IP、TCP、UDP和ICMP协议相关的统计数据。
配置参数
经常使用命令
netstat -aup 【输出全部UDP链接情况】
查看全部80端口的链接数 netstat -nat|grep -i “80”|wc -l 对链接的IP按链接数量进行排序 netstat -anp | grep ‘tcp\|udp’ | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n netstat -ntu | awk ‘{print $5}’ | egrep -o “[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}” | sort | uniq -c | sort -nr 查看TCP链接状态 netstat -nat |awk ‘{print $6}’|sort|uniq -c|sort -rn netstat -n | awk ‘/^tcp/ {print $NF}’|sort|uniq -c|sort -rn netstat -n | awk ‘/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}’ netstat -n | awk ‘/^tcp/ {++state[$NF]}; END {for(key in state) print key,”\t”,state[key]}’ netstat -n | awk ‘/^tcp/ {++arr[$NF]};END {for(k in arr) print k,”\t”,arr[k]}’ netstat -ant | awk ‘{print $NF}’ | grep -v ‘[a-z]’ | sort | uniq -c 查看80端口链接数最多的20个IP cat /www/web_logs/wzfou.com_access.log|awk ‘{print $1}’|sort|uniq -c|sort -nr|head -100 tail -n 10000 /www/web_logs/wzfou.com_access.log|awk ‘{print $1}’|sort|uniq -c|sort -nr|head -100 cat /www/web_logs/wzfou.com_access.log|awk ‘{print $1}’|sort|uniq -c|sort -nr|head -100 netstat -anlp|grep 80|grep tcp|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -nr|head -n20 netstat -ant |awk ‘/:80/{split($5,ip,”:”);++A[ip[1]]}END{for(i in A) print A,i}’ |sort -rn|head -n20 用tcpdump嗅探80端口的访问看看谁最高 tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F”.” ‘{print $1″.”$2″.”$3″.”$4}’ | sort | uniq -c | sort -nr |head -20 查找较多time_wait链接 netstat -n|grep TIME_WAIT|awk ‘{print $5}’|sort|uniq -c|sort -rn|head -n20 查找较多的SYN链接 netstat -an | grep SYN | awk ‘{print $5}’ | awk -F: ‘{print $1}’ | sort | uniq -c | sort -nr | more linux下实用iptables封ip段的一些常见命令: 封单个IP的命令是: iptables -I INPUT -s 211.1.0.0 -j DROP 封IP段的命令是: iptables -I INPUT -s 211.1.0.0/16 -j DROP iptables -I INPUT -s 211.2.0.0/16 -j DROP iptables -I INPUT -s 211.3.0.0/16 -j DROP 封整个段的命令是: iptables -I INPUT -s 211.0.0.0/8 -j DROP 封几个段的命令是: iptables -I INPUT -s 61.37.80.0/24 -j DROP iptables -I INPUT -s 61.37.81.0/24 -j DROP
service network restart