Java开发中常用的Linux命令

2017-11-29  本文已影响0人  zlup

systemcl

CentOS 7中用来管理系统服务。

systemctl restart network.service

重启网络服务

systemctl status network.service

查看网络服务状态

systemctl enable/disable [serviceName]

服务的开机启动/禁止

systemctl start/stop/restart/status firewalld.service

防火墙的开/关/重起/查看状态

grep

文本查找命令

find

通过文件名查找文件的所在位置,支持模糊查询
当前目录及子目录下查询fileName:
find . -name [fileName]

uptime

查看机器的启动时间、登陆用户、平均负载等情况,可以用来确定操作系统的重启时间


一般来说,每个CPU内核对应的活动进程数不大于3时,系统运行良好,也就是说活动进程数小于CPU核心数的3倍。
例如,如果服务器的CPU有3个核心,那么只要uptime最后输出的一串数值小于9,就表示系统负载正常。但是,如果系统负载超过10,就表明当前系统的负载过重。

lsof

列出系统当前打开的文件句柄,在Linux文件系统中,任何资源都是以文件句柄的形式进行管理的,例如:硬件设备、文件、网络套接字等。

ulimit

当前各种系统对用户使用资源的限制:
ulimit -a


设置用户的最大进程数:
ulimit -u [number]
设置用户可以打开的最大文件句柄数:
ulimit -n [number]

curl

curl是利用URL语法命令行方式下工作的开源文件传输工具。可以很方便的测试RESTful风格的API。

scp

实现本地到远程,远程到本地的文件传输命令
scp root@192.168.1.1:/usr/lez/my.log .
scp ./my.log root@192.168.1.1:/log/

vi

命令行文本编辑工具
常用的命令:

dos2unix和unix2dos

用于转换Windows和UNIX的换行符,通常在Windows下开发的脚本和配置,上传到UNIX系统下都需要转换。
Centos7上安装:yum install dos2unix -y
使用:dos2unix [fileName]

awk

Linux系统下的文本分析工具。awk逐行读入文件,以空格为默认分割符将每行切片,也可以以任何字符为分隔符,把切开的部分进行各种分析和处理,在分析和处理的过程中支持脚本式的编程。
测试文件:

test.log
awk -F ' ' ' {print $4}' test.log | sort | uniq -c | sort -nr
命令结果

ps

查看系统内所有的进程
ps -elf

top

top命令用于查看活动进程的CPU和内存信息,能够实时显示系统中各个进程的资源占用情况,可以按照CPU、内存的使用情况和执行时间对进程进行排序。

top的升级版htop的安装:
# rpm -ivh http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL //导入key
# yum install htop

pidstat

监控全部或指定的进程占用系统资源的情况,包括CPU、内存、磁盘I/O、线程切换、线程数等数据。

free

用于显示系统内存的使用情况,包括总体内存、已经使用的内存;还可用于显示系统内核使用的缓冲区,包括缓冲(buffer)和缓存(cache)等。

pmap

用于报告进程中各个模块占用内存的具体情况,显示比较底层的进程模块占用内存的信息,并且可以打印内存的起止地址等,用于定位深层次JVM或操作系统的内存问题。
pmap -d [pid]

vmstat

显示关于内核线程、虚拟内存、磁盘I/O、陷阱和CPU占用率的统计信息。


vmstat

mpstat

用于实时监控系统CPU的一些统计信息,这些信息存放在/proc/stat文件中,在多核CPU系统里,不但能查看所有CPU的平均使用信息,还能查看某个特定CPU的信息。
mpstat -P ALL

iostat

用于监控CPU占用率、平均负载值及I/O读写速度。
iostat -x

swapon

查看交换分区的使用情况。
/sbin/swapon -s

df

用于查看文件系统的硬盘挂载点和空间使用情况。
df -h

nc

NetCat,在网络工具中有“瑞士军刀”美誉,其有Windows和Linux的版本。因为它短小精悍(1.84版本也不过25k,旧版本或缩减版甚至更小)、功能实用,被设计为一个简单、可靠的网络工具,可通过TCP或UDP协议传输读写数据。同时,它还是一个网络应用Debug分析器,因为它可以根据需要创建各种不同类型的网络连接。
详见:Linux nc命令详解

mtr

mtr命令是Linux中的网络连通性测试工具,也可以用来检测丢包率。
mtr -r [url]

nslookup

这是一款检测网络中DNS服务器能否正确解析域名的工具命令,并且可以输出。
nslookup [域名]

traceroute

提供从用户的主机到互联网另一端的主机的路径。
traceroute [主机域名]

sar

多功能的监控工具,不需要管理员权限,可以输出每秒的网卡存取速度,在应急过程中可以用来判断服务器是否上量。
sar -n DEV 1 1

netstat

显示网络连接、端口信息等。

tcpdump

网络状况分析和跟踪工具,是可以用来抓包的实用命令。

nmap

扫描某一主机打开的端口及端口提供的服务信息。通常用于查看本机有哪些端口对外提供服务,或者确定服务器有哪些端口对外开放。
nmap -v -A localhost

pstack

显示每个进程的本地调用栈。可以使用该命令查看进程正在挂起的执行方法,也可以查看进程的本地线程堆栈,与JVM的jstack配合使用可以看到JVM线程运行的全部状况。
pstack [pid]

/proc文件系统

md5sum

该命令用于生成md5摘要,通常用于在文件上传和下载操作中校验内存的正确性,或者通过hmac做对称数据签名。
md5sum [fileName]

sha256

md5摘要算法可以通过碰撞的方法被破解,sha256算法更安全。sha256通常也用于文件上传和下载操作中校验正确性,或者通过校验的sha256-hmac做对称数据签名。
sha256sum [fileName]

base64

网络上最常见的用于传输8位字节码的编码方式之一,这种编码方式可以保证输出的编码位全都是可读字符。base64制订了一个编码表,以便进行统一转换。编码表共有64个字符,因此被称为base64编码。
base64 [fileName]

参考资料:

《分布式服务架构:原理、设计与实践》
curl gitbook
每天一个linux命令(41):ps命令
Centos7安装htop下取代top的进程管理工具
iostat命令详解

上一篇 下一篇

猜你喜欢

热点阅读