共计 5725 个字符,预计需要花费 15 分钟才能阅读完成。
1 JDK 相干的查找命令
(1)确认是否装置 JDK
// 命令
java -version
// 输入示例
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-b04)
OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)
(2)查找 java 命令目录的地位
// 命令
which java
// 输入示例
/usr/bin/java
(3)查找 java 命令的地位的软链地址
// 命令
ls -l /usr/bin/java
// 输入示例
lrwxrwxrwx 1 root root 22 Jun 18 15:45 /usr/bin/java -> /etc/alternatives/java
(4)通过软链地址查找 JDK 的装置目录
// 命令
ls -l /etc/alternatives/java
// 输入示例
lrwxrwxrwx 1 root root 73 Jun 18 15:45 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre/bin/java
(5)查找 Linux jvm 工具在哪里
// 命令
ls -al /usr/bin/j*
2 Linux 下装置 JDK8 的两种形式
(1)应用安装包装置
1. 下载 JDK8
登录网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
抉择对应 JDK 版本下载(windows、mac 下载后,也可通过 stfp 命令上传到 Linux 服务器)。2. 登录 Linux,切换到 root 用户
sudo -i
3. 在 usr 目录下建设 java 装置目录
cd /usr
mkdir java
4. 将 jdk-8u60-linux-x64.tar.gz 拷贝到 java 目录下
cp ./jdk-8u60-linux-x64.tar.gz /usr/java/
5. 解压 jdk 到当前目录
tar -zxvf jdk-8u60-linux-x64.tar.gz
失去文件夹 jdk1.8.0_60
6. 编辑配置文件,配置环境变量
vim /etc/profile
// 增加如下内容:JAVA_HOME 依据理论目录来
JAVA_HOME=/usr/java/jdk1.8.0_60
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
7. 重启机器或执行命令:source /etc/profile
或
sudo shutdown -r now
8. 查看装置状况
java -version
(2)应用 yum 工具装置
- 不带 devel 后缀的 package,通常只蕴含能让程序运行的动静库和配置文件。
- 而带 devel 后缀的 package,则蕴含应用这个 package 开发程序的所有的必须文件。比方头文件,等等。有时 devel package 还蕴含动态库。
1. 执行如下命令查看可装置的 jdk 版本
yum -y list Java*
2. 抉择装置的 jdk 版本,进行装置,抉择带 devel 后缀的包
yum install -y java-1.8.0-openjdk-devel.x86_64
3. 编辑配置文件,配置环境变量
vim /etc/profile
// 增加如下内容:JAVA_HOME 依据理论目录来
JAVA_HOME=/usr/java/jdk1.8.0_60
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
4. 重启机器或执行命令:source /etc/profile
或
sudo shutdown -r now
5. 查看装置状况
java -version
3 查看 AscII 表命令
man ascii
4 文件下载 wget 命令
//wget 是一个下载文件的工具
wget -O wordpress.zip http://www.centos.bz/download.php?id=1080
#-O 示意下载并以不同的文件名保留。
5 文件比拟 diff 命令
Linux diff 命令用于比拟文件的差别。diff 以逐行的形式,比拟文本文件的异同处。如果指定要比拟目录,则 diff 会比拟目录中雷同文件名的文件,但不会比拟其中子目录。diff log2014.log log2013.log
6 近程拷贝文件 scp 命令
scp /home/work/source.txt work@192.168.0.10:/home/work/
#把本地的 source.txt 文件拷贝到 192.168.0.10 机器上的 /home/work 目录下
scp work@192.168.0.10:/home/work/source.txt /home/work/
#把 192.168.0.10 机器上的 source.txt 文件拷贝到本地的 /home/work 目录下
scp work@192.168.0.10:/home/work/source.txt work@192.168.0.11:/home/work/
#把 192.168.0.10 机器上的 source.txt 文件拷贝到 192.168.0.11 机器的 /home/work 目录下
7 大文件切割成小文件 split 命令
# 如须要切割的文件是 app.log,生成的子文件前缀是 "child",以 1000 行为单位进行切割。# -l 行数
split -l 1000 app.log child
8 统计文件个数命令
# 统计当前目录下文件的个数(不蕴含目录,不包含子目录下统计)ls -l | grep "^-" | wc -l
# 统计当前目录下文件的个数(不蕴含目录,包含子目录下统计)ls -lR| grep "^-" | wc -l
9 软连贯设置 ln 命令
它的性能是为某一个文件在另外一个地位建设一个不同的链接,这个命令最罕用的参数是 -s,
具体用法是:ln -s 源文件 指标文件。#删除软连贯文件,重建一个软连贯文件
rm python3
ln -s /usr/local/Cellar/python/3.7.7/bin/python3.7 python3
#查看一个软连贯文件的详情
ls -al python3
10 零碎重启命令
# 形式 1
reboot
#形式 2
shutdown -r now
#形式 3
shutdown -r +1
11 Linux 过程 killed 日志查看
(1)尝试如下两个命令
egrep -i -r 'killed process' /var/log
sudo grep -A 50 'oom' /var/log/messages
(2)OOM Killed 机制和日志查看
Linux 内核有个机制叫 OOM killer(Out-Of-Memory killer),该机制会监控那些占用内存过大,尤其是霎时很快耗费大量内存的过程,为了避免内存耗尽而内核会把该过程杀掉。
尝试如下命令查看
grep "Out of memory" /var/log/messages
12 Linux Kill 命令(kill -9 三思而后用)
- kill 命令用于终止 Linux 过程,默认状况下,如果不指定信号,kill 等价于 kill -15。
- kill -15 执行时,零碎向对应的程序发送 SIGTERM(15)信号,该信号是能够被执行、阻塞和疏忽的,所以应用程序接管到信号后,能够做一些筹备工作,再进行程序终止。
- 有的时候,kill -15 无奈终止程序,因为他可能被疏忽,这时候能够应用 kill -9,零碎会收回 SIGKILL(9)信号,该信号不容许疏忽和阻塞,所以应用程序会立刻终止。
- 这也会带来很多副作用,如数据失落等,所以,在非必要时,不要应用 kill - 9 命令,尤其是那些 web 利用、提供 RPC 服务、执行定时工作、蕴含长事务等利用中,因为 kill -9 没给 Spring 容器、Tomcat 服务器、dubbo 服务、流程引擎、状态机等足够的工夫进行收尾。
HUP 1 终端断线
INT 2 中断(同 Ctrl + C)QUIT 3 退出(同 Ctrl + \)TERM 15 终止
KILL 9 强制终止
CONT 18 持续(与 STOP 相同)STOP 19 暂停(同 Ctrl + Z)
13 查看 IP 端口号是否畅通 telnet 命令
1. 检测 telnet-server 的 rpm 包是否装置,若无输入内容,则示意没有装置。rpm -qa telnet-server
2. 装置 telnet-server
yum install telnet-server
3. 装置 telnet 命令
yum install telnet
4. 应用即可
telnet $ip $port
#输入内容,看到 Connected 就连贯胜利了
14 Linux ip、端口号查看命令
# Linux 终端查看本人的公网地址
curl ifconfig.me
# Linux 查看本机 IP
ip -4 addr
# Linux 查看端口号过程
sudo lsof -i :5017
15 MAC 地址简述
- 它是一个用来确认网络设备地位的位址。在 OSI 模型中,第三层网络层负责 IP 地址,第二层数据链路层则负责 MAC 位址。MAC 地址用于在网络中惟一标示一个网卡,一台设施若有一或多个网卡,则每个网卡都须要并会有一个惟一的 MAC 地址。
- MAC 地址的长度为 48 位 (6 个字节),通常示意为 12 个 16 进制数,如:00-16-EA-AE-3C-40 就是一个 MAC 地址,其中前 6 位 16 进制数 00-16-EA 代表网络硬件制造商的编号,它由 IEEE(电气与电子工程师协会) 调配,而后 6 位 16 进制数 AE-3C-40 代表该制造商所制作的某个网络产品 (如网卡) 的系列号。只有不更改本人的 MAC 地址,MAC 地址在世界是惟一的。形象地说,MAC 地址就如同身份证上的身份证号码,具备唯一性。
16 Linux 申请 Web 服务器 curl 命令
# curl 是罕用的命令行工具,用来申请 Web 服务器。curl -X POST https://www.example.com
#具体参考
http://www.ruanyifeng.com/blog/2019/09/curl-reference.html
17 Linux 网络连接相干 netstat 命令
(1)netstat 命令罕用参数
# 查看所有 3306 端口应用状况。netstat -ntulp |grep 3306
- t 或 --tcp 显示 TCP 传输协定的连线情况。- u 或 --udp 显示 UDP 传输协定的连线情况。- l 或 --listening 显示监控中的服务器的 Socket。- p 或 --programs 显示正在应用 Socket 的程序识别码和程序名称。- a 或 --all 显示所有连线中的 Socket。- n 或 --numeric 间接应用 IP 地址,而不通过域名服务器。
(2)netstat 相干的 TCP 统计案例
eg1:统计指定 ip 和端口号,各种 tcp 连贯状态的数量
netstat -n | grep 1.2.3.4:22 | awk '/^tcp/ {++State[$NF]} END {for (i in State) print i, State[i]}'
- 命令中,^tcp 用于匹配结尾蕴含 tcp 字符的文本行,$NF 指的是每行最初一个字段,数组 State[$NF]就是以最初一个字段为下标指向一个存储单元或者说变量,此处代表该字段的统计后果, 也就是 ++ 的意义所在,统计值自增一。
- END 不能短少示意 END 符号之后的指令于解决所有行完结时执行。
- i 是字段,State[i]即为统计后果,每行解决实现则 State[$NF] 加 1。
eg2:统计某 ip TIME_WAIT 连贯状况
netstat -apn | grep WAIT | grep "123.66.5.55" |wc -l
eg3:统计 TCP 连贯的情况
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
18 查看 Linux 零碎属性命令案例
(1)查看零碎内核版本
cat /proc/version 查看零碎内核版本
# 输入
Linux version 3.10.0-957.12.2.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Tue May 14 21:24:32 UTC 2019
(2)查看零碎 CPU 核数命令
- 总核数 = 物理 CPU 个数 X 每颗物理 CPU 的核数
- 总逻辑 CPU 数 = 物理 CPU 个数 X 每颗物理 CPU 的核数 X 超线程数
# 查看物理 CPU 个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
# 查看每个物理 CPU 中 core 的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq
# 查看逻辑 CPU 的个数
cat /proc/cpuinfo| grep "processor"| wc -l
# 查看 CPU 信息(型号)cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
(3)Linux proc 文件 - 零碎和运行内核信息
proc 文件系统能够被用于收集有用的对于零碎和运行中的内核的信息。上面是一些重要的文件:/proc/cpuinfo - CPU 的信息(型号, 家族, 缓存大小等)
/proc/meminfo - 物理内存、替换空间等的信息
/proc/mounts - 已加载的文件系统的列表
/proc/devices - 可用设施的列表 exit
/proc/filesystems - 被反对的文件系统
/proc/modules - 已加载的模块
/proc/version - 内核版本
/proc/cmdline - 系统启动时输出的内核命令行参数
#如查看 cpu 的信息
cat /proc/cpuinfo
19 查看占用端口过程,并敞开掉占用过程
1. 查看占用端口过程
lsof -i : $ 端口
2. 过程敞开掉
kill -9 $ 过程 ID
20 域名 DNS 解析 ip 命令
# dig $ 域名
dig www.baidu.com
「不甩锅的码农」原创,转载请注明起源,未经受权禁止商业用途!同名 GZH 请关注!
正文完